From 9ac05d31f4c0b381697a9af1097267e59a2a3db6 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Thu, 10 Aug 2017 09:17:46 +0200 Subject: [PATCH 01/21] fixed #240 --- pom.xml | 4 +- .../common/impl/ControllerHelperImpl.java | 10 +- .../oodm/entities/common/DomainObject.java | 5 +- .../entities/common/DomainObjectMinimal.java | 7 +- .../common/DomainObjectWithApiCaching.java | 8 ++ .../common/DomainObjectWithUniqueId.java | 6 + .../common/DomainObjectWithValidation.java | 6 + .../entities/listener/HashTagListener.java | 8 +- .../oodm/entities/listener/MediaListener.java | 7 ++ .../entities/listener/MentionListener.java | 7 ++ .../listener/TaskHistoryListener.java | 7 ++ .../oodm/entities/listener/TaskListener.java | 7 ++ .../listener/TickerSymbolListener.java | 7 ++ .../oodm/entities/listener/TweetListener.java | 9 +- .../oodm/entities/listener/UrlListener.java | 7 ++ .../oodm/entities/listener/UserListener.java | 7 ++ .../entities/parts/AbstractDomainObject.java | 3 +- .../oodm/entities/parts/CountedEntities.java | 119 +++++++++++++++++- .../oodm/entities/parts/Entities.java | 113 ++++++++++++++++- .../oodm/entities/parts/TaskBasedCaching.java | 7 ++ .../oodm/entities/parts/TaskInfo.java | 5 + .../impl/DomainServiceWithTaskImpl.java | 10 +- .../oodm/service/impl/TaskServiceImpl.java | 36 ++++-- .../oodm/service/impl/UrlServiceImpl.java | 3 +- .../impl/EntitiesTransformServiceImpl.java | 5 - .../impl/HashTagTransformServiceImpl.java | 6 - .../impl/MediaTransformServiceImpl.java | 6 - .../impl/MentionTransformServiceImpl.java | 6 - .../TickerSymbolTransformServiceImpl.java | 5 - .../impl/TweetTransformServiceImpl.java | 5 - .../impl/UrlTransformServiceImpl.java | 6 - .../impl/UserTransformServiceImpl.java | 8 +- twitterwall2.iml | 13 +- 33 files changed, 377 insertions(+), 91 deletions(-) create mode 100644 src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObjectWithApiCaching.java create mode 100644 src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObjectWithUniqueId.java create mode 100644 src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObjectWithValidation.java diff --git a/pom.xml b/pom.xml index e815197e..42e423ae 100644 --- a/pom.xml +++ b/pom.xml @@ -15,6 +15,7 @@ org.springframework.boot spring-boot-starter-parent 1.5.6.RELEASE + @@ -102,7 +103,8 @@ org.springframework.boot - spring-boot-starter-cloud-connectors + spring-boot-devtools + runtime org.springframework.boot diff --git a/src/main/java/org/woehlke/twitterwall/frontend/controller/common/impl/ControllerHelperImpl.java b/src/main/java/org/woehlke/twitterwall/frontend/controller/common/impl/ControllerHelperImpl.java index 8ae24ef8..b902ab9c 100644 --- a/src/main/java/org/woehlke/twitterwall/frontend/controller/common/impl/ControllerHelperImpl.java +++ b/src/main/java/org/woehlke/twitterwall/frontend/controller/common/impl/ControllerHelperImpl.java @@ -34,16 +34,16 @@ private Page setupPage(Page page, String title, String subtitle, String symbol) } else { page.setGoogleAnalyticScriptHtml(""); } - log.info("--------------------------------------------------------------------"); - log.info("setupPage = "+page.toString()); - log.info("--------------------------------------------------------------------"); + log.debug("--------------------------------------------------------------------"); + log.debug("setupPage = "+page.toString()); + log.debug("--------------------------------------------------------------------"); return page; } public ModelAndView setupPage(ModelAndView mav, String title, String subtitle, String symbol) { Page page = new Page(); page = setupPage(page, title, subtitle, symbol); - log.info("page: "+page.toString()); + log.debug("page: "+page.toString()); mav.addObject("page", page); return mav; } @@ -51,7 +51,7 @@ public ModelAndView setupPage(ModelAndView mav, String title, String subtitle, S public Model setupPage(Model model, String title, String subtitle, String symbol) { Page page = new Page(); page = setupPage(page, title, subtitle, symbol); - log.info("page: "+page.toString()); + log.debug("page: "+page.toString()); model.addAttribute("page", page); return model; } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObject.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObject.java index b11a13eb..0dd8b49e 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObject.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObject.java @@ -1,12 +1,9 @@ package org.woehlke.twitterwall.oodm.entities.common; -import org.woehlke.twitterwall.oodm.entities.parts.TaskType; - /** * Created by tw on 24.06.17. */ -public interface DomainObject extends DomainObjectMinimal { +public interface DomainObject extends DomainObjectMinimal,DomainObjectWithApiCaching { - Boolean isCached(TaskType taskType, long timeToLive); } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObjectMinimal.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObjectMinimal.java index 67a879c6..0dec201d 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObjectMinimal.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObjectMinimal.java @@ -2,20 +2,15 @@ import java.io.Serializable; -public interface DomainObjectMinimal extends Serializable, Comparable{ +public interface DomainObjectMinimal extends DomainObjectWithUniqueId,DomainObjectWithValidation,Serializable, Comparable{ Long getId(); void setId(Long id); - String getUniqueId(); - boolean equals(Object o); int hashCode(); String toString(); - - boolean isValid(); - } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObjectWithApiCaching.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObjectWithApiCaching.java new file mode 100644 index 00000000..9db2fb43 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObjectWithApiCaching.java @@ -0,0 +1,8 @@ +package org.woehlke.twitterwall.oodm.entities.common; + +import org.woehlke.twitterwall.oodm.entities.parts.TaskType; + +public interface DomainObjectWithApiCaching { + + Boolean isCached(TaskType taskType, long timeToLive); +} diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObjectWithUniqueId.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObjectWithUniqueId.java new file mode 100644 index 00000000..078ff578 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObjectWithUniqueId.java @@ -0,0 +1,6 @@ +package org.woehlke.twitterwall.oodm.entities.common; + +public interface DomainObjectWithUniqueId { + + String getUniqueId(); +} diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObjectWithValidation.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObjectWithValidation.java new file mode 100644 index 00000000..c9c3c345 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/common/DomainObjectWithValidation.java @@ -0,0 +1,6 @@ +package org.woehlke.twitterwall.oodm.entities.common; + +public interface DomainObjectWithValidation { + + boolean isValid(); +} diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/HashTagListener.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/HashTagListener.java index 54f41567..abc52304 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/HashTagListener.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/HashTagListener.java @@ -16,37 +16,43 @@ public class HashTagListener { @PrePersist public void onPrePersist(HashTag domainObject) { log.debug("try to Persist: "+domainObject.getUniqueId()); + log.trace("try to Persist: "+domainObject.toString()); } @PreUpdate public void onPreUpdate(HashTag domainObject) { log.debug("try to Update: "+domainObject.getUniqueId()); + log.trace("try to Update: "+domainObject.toString()); } @PreRemove public void onPreRemove(HashTag domainObject) { log.debug("try to Remove: "+domainObject.getUniqueId()); + log.trace("try to Remove: "+domainObject.toString()); } @PostPersist public void onPostPersist(HashTag domainObject) { log.debug("Persisted: "+domainObject.getUniqueId()); + log.trace("Persisted: "+domainObject.toString()); } @PostUpdate public void onPostUpdate(HashTag domainObject) { log.debug("Updated: "+domainObject.getUniqueId()); + log.trace("Updated: "+domainObject.toString()); } @PostRemove public void onPostRemove(HashTag domainObject) { log.debug("Removed: "+domainObject.getUniqueId()); + log.trace("Removed: "+domainObject.toString()); } @PostLoad public void onPostLoad(HashTag domainObject) { log.debug("loaded: "+domainObject.getUniqueId()); + log.trace("loaded: "+domainObject.toString()); } - } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/MediaListener.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/MediaListener.java index c1613865..beb48218 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/MediaListener.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/MediaListener.java @@ -16,35 +16,42 @@ public class MediaListener { @PrePersist public void onPrePersist(Media domainObject) { log.debug("try to Persist: "+domainObject.getUniqueId()); + log.trace("try to Persist: "+domainObject.toString()); } @PreUpdate public void onPreUpdate(Media domainObject) { log.debug("try to Update: "+domainObject.getUniqueId()); + log.trace("try to Update: "+domainObject.toString()); } @PreRemove public void onPreRemove(Media domainObject) { log.debug("try to Remove: "+domainObject.getUniqueId()); + log.trace("try to Remove: "+domainObject.toString()); } @PostPersist public void onPostPersist(Media domainObject) { log.debug("Persisted: "+domainObject.getUniqueId()); + log.trace("Persisted: "+domainObject.toString()); } @PostUpdate public void onPostUpdate(Media domainObject) { log.debug("Updated: "+domainObject.getUniqueId()); + log.trace("Updated: "+domainObject.getUniqueId()); } @PostRemove public void onPostRemove(Media domainObject) { log.debug("Removed: "+domainObject.getUniqueId()); + log.trace("Removed: "+domainObject.toString()); } @PostLoad public void onPostLoad(Media domainObject) { log.debug("loaded: "+domainObject.getUniqueId()); + log.trace("loaded: "+domainObject.toString()); } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/MentionListener.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/MentionListener.java index 4217570b..8d28638e 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/MentionListener.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/MentionListener.java @@ -16,35 +16,42 @@ public class MentionListener { @PrePersist public void onPrePersist(Mention domainObject) { log.debug("try to Persist: "+domainObject.getUniqueId()); + log.trace("try to Persist: "+domainObject.toString()); } @PreUpdate public void onPreUpdate(Mention domainObject) { log.debug("try to Update: "+domainObject.getUniqueId()); + log.trace("try to Update: "+domainObject.toString()); } @PreRemove public void onPreRemove(Mention domainObject) { log.debug("try to Remove: "+domainObject.getUniqueId()); + log.trace("try to Remove: "+domainObject.toString()); } @PostPersist public void onPostPersist(Mention domainObject) { log.debug("Persisted: "+domainObject.getUniqueId()); + log.trace("Persisted: "+domainObject.toString()); } @PostUpdate public void onPostUpdate(Mention domainObject) { log.debug("Updated: "+domainObject.getUniqueId()); + log.trace("Updated: "+domainObject.toString()); } @PostRemove public void onPostRemove(Mention domainObject) { log.debug("Removed: "+domainObject.getUniqueId()); + log.trace("Removed: "+domainObject.toString()); } @PostLoad public void onPostLoad(Mention domainObject) { log.debug("loaded: "+domainObject.getUniqueId()); + log.trace("loaded: "+domainObject.toString()); } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/TaskHistoryListener.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/TaskHistoryListener.java index 342309bf..1009cc54 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/TaskHistoryListener.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/TaskHistoryListener.java @@ -16,35 +16,42 @@ public class TaskHistoryListener { @PrePersist public void onPrePersist(TaskHistory domainObject) { log.debug("try to Persist: "+domainObject.getUniqueId()); + log.trace("try to Persist: "+domainObject.toString()); } @PreUpdate public void onPreUpdate(TaskHistory domainObject) { log.debug("try to Update: "+domainObject.getUniqueId()); + log.trace("try to Update: "+domainObject.toString()); } @PreRemove public void onPreRemove(TaskHistory domainObject) { log.debug("try to Remove: "+domainObject.getUniqueId()); + log.trace("try to Remove: "+domainObject.toString()); } @PostPersist public void onPostPersist(TaskHistory domainObject) { log.debug("Persisted: "+domainObject.getUniqueId()); + log.trace("Persisted: "+domainObject.toString()); } @PostUpdate public void onPostUpdate(TaskHistory domainObject) { log.debug("Updated: "+domainObject.getUniqueId()); + log.trace("Updated: "+domainObject.toString()); } @PostRemove public void onPostRemove(TaskHistory domainObject) { log.debug("Removed: "+domainObject.getUniqueId()); + log.trace("Removed: "+domainObject.toString()); } @PostLoad public void onPostLoad(TaskHistory domainObject) { log.debug("loaded: "+domainObject.getUniqueId()); + log.trace("loaded: "+domainObject.toString()); } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/TaskListener.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/TaskListener.java index 34166091..c3e273ae 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/TaskListener.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/TaskListener.java @@ -16,35 +16,42 @@ public class TaskListener { @PrePersist public void onPrePersist(Task domainObject) { log.debug("try to Persist: "+domainObject.getUniqueId()); + log.trace("try to Persist: "+domainObject.toString()); } @PreUpdate public void onPreUpdate(Task domainObject) { log.debug("try to Update: "+domainObject.getUniqueId()); + log.trace("try to Update: "+domainObject.toString()); } @PreRemove public void onPreRemove(Task domainObject) { log.debug("try to Remove: "+domainObject.getUniqueId()); + log.trace("try to Remove: "+domainObject.toString()); } @PostPersist public void onPostPersist(Task domainObject) { log.debug("Persisted: "+domainObject.getUniqueId()); + log.trace("Persisted: "+domainObject.toString()); } @PostUpdate public void onPostUpdate(Task domainObject) { log.debug("Updated: "+domainObject.getUniqueId()); + log.trace("Updated: "+domainObject.toString()); } @PostRemove public void onPostRemove(Task domainObject) { log.debug("Removed: "+domainObject.getUniqueId()); + log.trace("Removed: "+domainObject.toString()); } @PostLoad public void onPostLoad(Task domainObject) { log.debug("loaded: "+domainObject.getUniqueId()); + log.trace("loaded: "+domainObject.toString()); } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/TickerSymbolListener.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/TickerSymbolListener.java index 0cb650c0..d9359aef 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/TickerSymbolListener.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/TickerSymbolListener.java @@ -16,35 +16,42 @@ public class TickerSymbolListener { @PrePersist public void onPrePersist(TickerSymbol domainObject) { log.debug("try to Persist: "+domainObject.getUniqueId()); + log.trace("try to Persist: "+domainObject.toString()); } @PreUpdate public void onPreUpdate(TickerSymbol domainObject) { log.debug("try to Update: "+domainObject.getUniqueId()); + log.trace("try to Update: "+domainObject.toString()); } @PreRemove public void onPreRemove(TickerSymbol domainObject) { log.debug("try to Remove: "+domainObject.getUniqueId()); + log.trace("try to Remove: "+domainObject.toString()); } @PostPersist public void onPostPersist(TickerSymbol domainObject) { log.debug("Persisted: "+domainObject.getUniqueId()); + log.trace("Persisted: "+domainObject.toString()); } @PostUpdate public void onPostUpdate(TickerSymbol domainObject) { log.debug("Updated: "+domainObject.getUniqueId()); + log.trace("Updated: "+domainObject.toString()); } @PostRemove public void onPostRemove(TickerSymbol domainObject) { log.debug("Removed: "+domainObject.getUniqueId()); + log.trace("Removed: "+domainObject.toString()); } @PostLoad public void onPostLoad(TickerSymbol domainObject) { log.debug("loaded: "+domainObject.getUniqueId()); + log.trace("loaded: "+domainObject.toString()); } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/TweetListener.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/TweetListener.java index 6b192803..0671af3a 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/TweetListener.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/TweetListener.java @@ -15,35 +15,42 @@ public class TweetListener { @PrePersist public void onPrePersist(Tweet domainObject) { log.debug("try to Persist: "+domainObject.getUniqueId()); + log.trace("try to Persist: "+domainObject.toString()); } @PreUpdate public void onPreUpdate(Tweet domainObject) { log.debug("try to Update: "+domainObject.getUniqueId()); + log.trace("try to Update: "+domainObject.toString()); } @PreRemove public void onPreRemove(Tweet domainObject) { log.debug("try to Remove: "+domainObject.getUniqueId()); + log.trace("try to Remove: "+domainObject.toString()); } @PostPersist public void onPostPersist(Tweet domainObject) { log.debug("Persisted: "+domainObject.getUniqueId()); + log.trace("Persisted: "+domainObject.toString()); } @PostUpdate public void onPostUpdate(Tweet domainObject) { log.debug("Updated: "+domainObject.getUniqueId()); + log.trace("Updated: "+domainObject.toString()); } @PostRemove public void onPostRemove(Tweet domainObject) { log.debug("Removed: "+domainObject.getUniqueId()); + log.trace("Removed: "+domainObject.toString()); } @PostLoad public void onPostLoad(Tweet domainObject) { - log.debug("loaded: "+domainObject.getUniqueId()); + log.debug("loaded: " + domainObject.getUniqueId()); + log.trace("loaded: " + domainObject.toString()); } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/UrlListener.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/UrlListener.java index c73ad608..27b41033 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/UrlListener.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/UrlListener.java @@ -16,35 +16,42 @@ public class UrlListener { @PrePersist public void onPrePersist(Url domainObject) { log.debug("try to Persist: "+domainObject.getUniqueId()); + log.trace("try to Persist: "+domainObject.toString()); } @PreUpdate public void onPreUpdate(Url domainObject) { log.debug("try to Update: "+domainObject.getUniqueId()); + log.trace("try to Update: "+domainObject.toString()); } @PreRemove public void onPreRemove(Url domainObject) { log.debug("try to Remove: "+domainObject.getUniqueId()); + log.trace("try to Remove: "+domainObject.toString()); } @PostPersist public void onPostPersist(Url domainObject) { log.debug("Persisted: "+domainObject.getUniqueId()); + log.trace("Persisted: "+domainObject.toString()); } @PostUpdate public void onPostUpdate(Url domainObject) { log.debug("Updated: "+domainObject.getUniqueId()); + log.trace("Updated: "+domainObject.toString()); } @PostRemove public void onPostRemove(Url domainObject) { log.debug("Removed: "+domainObject.getUniqueId()); + log.trace("Removed: "+domainObject.toString()); } @PostLoad public void onPostLoad(Url domainObject) { log.debug("loaded: "+domainObject.getUniqueId()); + log.trace("loaded: "+domainObject.toString()); } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/UserListener.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/UserListener.java index 12d434d8..1fce97c2 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/UserListener.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/UserListener.java @@ -16,35 +16,42 @@ public class UserListener { @PrePersist public void onPrePersist(User domainObject) { log.debug("try to Persist: "+domainObject.getUniqueId()); + log.trace("try to Persist: "+domainObject.toString()); } @PreUpdate public void onPreUpdate(User domainObject) { log.debug("try to Update: "+domainObject.getUniqueId()); + log.trace("try to Update: "+domainObject.toString()); } @PreRemove public void onPreRemove(User domainObject) { log.debug("try to Remove: "+domainObject.getUniqueId()); + log.trace("try to Remove: "+domainObject.toString()); } @PostPersist public void onPostPersist(User domainObject) { log.debug("Persisted: "+domainObject.getUniqueId()); + log.trace("Persisted: "+domainObject.toString()); } @PostUpdate public void onPostUpdate(User domainObject) { log.debug("Updated: "+domainObject.getUniqueId()); + log.trace("Updated: "+domainObject.toString()); } @PostRemove public void onPostRemove(User domainObject) { log.debug("Removed: "+domainObject.getUniqueId()); + log.trace("Removed: "+domainObject.toString()); } @PostLoad public void onPostLoad(User domainObject) { log.debug("loaded: "+domainObject.getUniqueId()); + log.trace("loaded: "+domainObject.toString()); } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/AbstractDomainObject.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/AbstractDomainObject.java index bb272d38..f5b09362 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/AbstractDomainObject.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/AbstractDomainObject.java @@ -100,8 +100,6 @@ public String toString() { return myExtraData.toString(); } - public abstract String getUniqueId(); - @Override public int compareTo(T other) { return this.getUniqueId().compareTo(other.getUniqueId()); @@ -166,4 +164,5 @@ private String toStringTaskInfo() { return taskInfo.toString(); } } + } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/CountedEntities.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/CountedEntities.java index 77aef520..9e3d7343 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/CountedEntities.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/CountedEntities.java @@ -1,9 +1,11 @@ package org.woehlke.twitterwall.oodm.entities.parts; import org.springframework.validation.annotation.Validated; +import org.woehlke.twitterwall.oodm.entities.common.DomainObjectWithValidation; import javax.persistence.Embeddable; import javax.persistence.Transient; +import javax.validation.constraints.AssertTrue; import javax.validation.constraints.NotNull; import java.io.Serializable; @@ -12,7 +14,7 @@ */ @Validated @Embeddable -public class CountedEntities implements Serializable { +public class CountedEntities implements Serializable,DomainObjectWithValidation { @NotNull private Long countUser=0L; @@ -337,4 +339,119 @@ public int hashCode() { } private static final long serialVersionUID = 1L; + + @AssertTrue + @Transient + @Override + public boolean isValid() { + if(countUser == null){ + return false; + } + if(countTweets == null){ + return false; + } + if(countHashTags == null){ + return false; + } + if(countMedia == null){ + return false; + } + if(countMention == null){ + return false; + } + if(countTickerSymbol == null){ + return false; + } + if(countTaskHistory == null){ + return false; + } + if(countTask == null){ + return false; + } + if(tweet2hashtag == null){ + return false; + } + if(tweet2media == null){ + return false; + } + if(tweet2mention == null){ + return false; + } + if(tweet2tickersymbol == null){ + return false; + } + if(tweet2url == null){ + return false; + } + if(userprofile2hashtag == null){ + return false; + } + if(userprofile2media == null){ + return false; + } + if(userprofile2mention == null){ + return false; + } + if(userprofile2tickersymbol == null){ + return false; + } + if(userprofile2url == null){ + return false; + } + if(countUser < 0){ + return false; + } + if(countTweets < 0){ + return false; + } + if(countHashTags < 0){ + return false; + } + if(countMedia < 0){ + return false; + } + if(countMention < 0){ + return false; + } + if(countTickerSymbol < 0){ + return false; + } + if(countTaskHistory < 0){ + return false; + } + if(countTask < 0){ + return false; + } + if(tweet2hashtag < 0){ + return false; + } + if(tweet2media < 0){ + return false; + } + if(tweet2mention < 0){ + return false; + } + if(tweet2tickersymbol < 0){ + return false; + } + if(tweet2url < 0){ + return false; + } + if(userprofile2hashtag < 0){ + return false; + } + if(userprofile2media < 0){ + return false; + } + if(userprofile2mention < 0){ + return false; + } + if(userprofile2tickersymbol < 0){ + return false; + } + if(userprofile2url < 0){ + return false; + } + return true; + } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/Entities.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/Entities.java index 6b239218..f779a791 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/Entities.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/Entities.java @@ -2,8 +2,11 @@ import org.springframework.validation.annotation.Validated; import org.woehlke.twitterwall.oodm.entities.*; +import org.woehlke.twitterwall.oodm.entities.common.DomainObjectWithUniqueId; +import org.woehlke.twitterwall.oodm.entities.common.DomainObjectWithValidation; import javax.persistence.*; +import javax.validation.constraints.AssertTrue; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.util.LinkedHashSet; @@ -19,7 +22,7 @@ */ @Validated @Embeddable -public class Entities extends EntitiesFilter implements Serializable { +public class Entities extends EntitiesFilter implements Serializable,DomainObjectWithValidation,DomainObjectWithUniqueId { @NotNull @ManyToMany(cascade = { DETACH, REFRESH, REMOVE }, fetch = EAGER) @@ -388,6 +391,93 @@ public String toString() { "\n}"; } + + + private String getUniqueIdUrls(){ + StringBuffer myUrls = new StringBuffer(); + myUrls.append("[ "); + for (Url url : urls) { + if(url != null) { + myUrls.append(url.getUniqueId()); + myUrls.append(", "); + } else { + myUrls.append(", null"); + } + } + myUrls.append(" ]"); + return myUrls.toString(); + } + + private String getUniqueIdHashTags(){ + StringBuffer myTags = new StringBuffer(); + myTags.append("[ "); + for (HashTag tag : hashTags) { + if(tag != null){ + myTags.append(tag.getUniqueId()); + myTags.append(", "); + } else { + myTags.append(", null"); + } + } + myTags.append(" ]"); + return myTags.toString(); + } + + private String getUniqueIdMentions(){ + StringBuffer myMentions = new StringBuffer(); + myMentions.append("[ "); + for (Mention mention : mentions) { + if(mention != null){ + myMentions.append(mention.getUniqueId()); + myMentions.append(", "); + } else { + myMentions.append(", null"); + } + } + myMentions.append(" ]"); + return myMentions.toString(); + } + + private String getUniqueIdMedia(){ + StringBuffer myMedia = new StringBuffer(); + myMedia.append("[ "); + for (Media medium : media) { + if(medium != null){ + myMedia.append(medium.getUniqueId()); + myMedia.append(", "); + } else { + myMedia.append(", null"); + } + } + myMedia.append(" ]"); + return myMedia.toString(); + } + + private String getUniqueIdTickerSymbols(){ + StringBuffer myTickerSymbols = new StringBuffer(); + myTickerSymbols.append("[ "); + for (TickerSymbol tickerSymbol : tickerSymbols) { + if(tickerSymbol != null){ + myTickerSymbols.append(tickerSymbol.getUniqueId()); + myTickerSymbols.append(", "); + } else { + myTickerSymbols.append(", null"); + } + } + myTickerSymbols.append(" ]"); + return myTickerSymbols.toString(); + } + + public String getUniqueId(){ + return "Entities{" + + ",\n urls=" + getUniqueIdUrls() + + ",\n hashTags=" + getUniqueIdHashTags() + + ",\n mentions=" + getUniqueIdMentions() + + ",\n media=" +getUniqueIdMedia() + + ",\n tickerSymbols=" +getUniqueIdTickerSymbols() + + "\n}"; + } + public String getFormattedText(String formattedText ) { //formattedText = getFormattedTextForUserProfiles(formattedText); @@ -439,4 +529,25 @@ public int hashCode() { result = 31 * result + (getTickerSymbols() != null ? getTickerSymbols().hashCode() : 0); return result; } + + @AssertTrue + @Override + public boolean isValid() { + if(urls == null){ + return false; + } + if(hashTags == null){ + return false; + } + if(mentions == null){ + return false; + } + if(media == null){ + return false; + } + if(tickerSymbols == null){ + return false; + } + return true; + } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskBasedCaching.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskBasedCaching.java index e5f7c545..dc6e4145 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskBasedCaching.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskBasedCaching.java @@ -99,6 +99,7 @@ public Boolean isCached(TaskType taskType, long timeToLive){ return now < lastApiCallPlusTimeToLive; } + @Transient public void store(Task task) { if (task != null) { TaskType taskType = task.getTaskType(); @@ -106,6 +107,7 @@ public void store(Task task) { } } + @Transient public void store(TaskType taskType){ if(taskType != null) { Date lastApiCall = new Date(); @@ -287,4 +289,9 @@ public String toString() { } private final static String COLUMN_PREFIX = "cache_"; + + @Transient + public String getUniqueId() { + return toString(); + } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskInfo.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskInfo.java index 326e708a..a3459f1a 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskInfo.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskInfo.java @@ -243,4 +243,9 @@ public String toString() { ", fetchFriends=" + fetchFriends + '}'; } + + @Transient + public String getUniqueId() { + return toString(); + } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/DomainServiceWithTaskImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/DomainServiceWithTaskImpl.java index 24aa9ab0..122761fb 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/DomainServiceWithTaskImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/DomainServiceWithTaskImpl.java @@ -61,7 +61,9 @@ public T store(T domainObject, Task task) { domainObjectPersistent = null; log.error(msg+"Something strange happened!"); log.debug(msg+"tried to persist: " + domainObject.getUniqueId()); + log.debug(msg+"tried to persist: " + domainObject.toString()); log.debug(msg+"found: " + domainObjectPersistent.getUniqueId()); + log.debug(msg+"found: " + domainObjectPersistent.toString()); } } } @@ -75,17 +77,21 @@ public T store(T domainObject, Task task) { domainObject.setUpdatedBy(task); storedObject = domainRepository.save(domainObject); domainObjectResult = storedObject; - log.debug(msg+"merged: " + domainObjectResult.toString()); + log.debug(msg+"merged: " + domainObjectResult.getUniqueId()); + log.trace(msg+"merged: " + domainObjectResult.toString()); } else { domainObject.setCreatedBy(task); domainObject.setUpdatedBy(task); log.debug("try to persist: " + domainObject.getUniqueId()); + log.trace("try to persist: " + domainObject.toString()); storedObject = domainRepository.save(domainObject); domainObjectResult = storedObject; log.debug("persisted: " + domainObjectResult.getUniqueId()); + log.trace("persisted: " + domainObjectResult.toString()); } } catch (Exception e) { - log.warn(msg+domainObject.toString(),e); + log.warn(msg+domainObject.getUniqueId(),e); + log.debug(msg+domainObject.toString(),e); } return domainObjectResult; } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TaskServiceImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TaskServiceImpl.java index a0378620..a28f0611 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TaskServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TaskServiceImpl.java @@ -67,7 +67,8 @@ public Task create(String msg, TaskType type, SendType sendType, CountedEntities Date now = new Date(); TaskHistory event = new TaskHistory("create: "+msg,TaskStatus.READY, TaskStatus.READY,now,task,countedEntities); event = taskHistoryRepository.save(event); - log.debug(task.toString()); + log.debug(task.getUniqueId()); + log.trace(task.toString()); return task; } @@ -81,7 +82,8 @@ public Task done(Task task,CountedEntities countedEntities) { Date now = new Date(); TaskHistory event = new TaskHistory("DONE ",oldStatus,TaskStatus.FINISHED,now,task,countedEntities); event = taskHistoryRepository.save(event); - log.debug(task.toString()); + log.debug(task.getUniqueId()); + log.trace(task.toString()); return task; } @@ -95,7 +97,8 @@ public Task error(Task task,Exception e,CountedEntities countedEntities) { Date now = new Date(); TaskHistory event = new TaskHistory("error: "+e.getMessage(),oldStatus,TaskStatus.ERROR,now,task,countedEntities); event = taskHistoryRepository.save(event); - log.debug(task.toString()); + log.debug(task.getUniqueId()); + log.trace(task.toString()); return task; } @@ -109,7 +112,8 @@ public Task error(Task task, Exception e, String msg,CountedEntities countedEnti Date now = new Date(); TaskHistory event = new TaskHistory(msg+", error: "+e.getMessage(),oldStatus,TaskStatus.ERROR,now,task,countedEntities); event = taskHistoryRepository.save(event); - log.debug(task.toString()); + log.debug(task.getUniqueId()); + log.trace(task.toString()); return task; } @@ -123,7 +127,8 @@ public Task warn(Task task, Exception e,CountedEntities countedEntities) { Date now = new Date(); TaskHistory event = new TaskHistory("warn: "+e.getMessage(),oldStatus,TaskStatus.WARN,now,task,countedEntities); event = taskHistoryRepository.save(event); - log.debug(task.toString()); + log.debug(task.getUniqueId()); + log.trace(task.toString()); return task; } @@ -137,7 +142,8 @@ public Task warn(Task task, Exception e, String msg,CountedEntities countedEntit Date now = new Date(); TaskHistory event = new TaskHistory("warn: "+msg+", "+e.getMessage(),oldStatus,TaskStatus.WARN,now,task,countedEntities); event = taskHistoryRepository.save(event); - log.debug(task.toString()); + log.debug(task.getUniqueId()); + log.trace(task.toString()); return task; } @@ -150,7 +156,8 @@ public Task event(Task task, String msg,CountedEntities countedEntities) { Date now = new Date(); TaskHistory event = new TaskHistory("event: "+msg,task.getTaskStatus(),oldStatus,now,task,countedEntities); event = taskHistoryRepository.save(event); - log.debug(task.toString()); + log.debug(task.getUniqueId()); + log.trace(task.toString()); return task; } @@ -164,7 +171,8 @@ public Task warn(Task task, String msg,CountedEntities countedEntities) { Date now = new Date(); TaskHistory event = new TaskHistory("warn: "+msg,oldStatus,TaskStatus.WARN,now,task,countedEntities); event = taskHistoryRepository.save(event); - log.debug(task.toString()); + log.debug(task.getUniqueId()); + log.trace(task.toString()); return task; } @@ -178,7 +186,8 @@ public Task error(Task task, String msg,CountedEntities countedEntities) { Date now = new Date(); TaskHistory event = new TaskHistory("error: "+msg,oldStatus,TaskStatus.ERROR,now,task,countedEntities); event = taskHistoryRepository.save(event); - log.debug(task.toString()); + log.debug(task.getUniqueId()); + log.trace(task.toString()); return task; } @@ -192,7 +201,8 @@ public Task start(Task task,CountedEntities countedEntities) { Date now = new Date(); TaskHistory event = new TaskHistory("START",oldStatus,TaskStatus.RUNNING,now,task,countedEntities); event = taskHistoryRepository.save(event); - log.debug(task.toString()); + log.debug(task.getUniqueId()); + log.trace(task.toString()); return task; } @@ -206,7 +216,8 @@ public Task finalError(Task task, String msg, CountedEntities countedEntities) { Date now = new Date(); TaskHistory event = new TaskHistory("FINAL ERROR: "+msg,oldStatus,TaskStatus.FINAL_ERROR,now,task,countedEntities); event = taskHistoryRepository.save(event); - log.debug(task.toString()); + log.debug(task.getUniqueId()); + log.trace(task.toString()); return task; } @@ -220,7 +231,8 @@ public Task done(String logMsg, Task task, CountedEntities countedEntities) { Date now = new Date(); TaskHistory event = new TaskHistory("DONE "+logMsg,oldStatus,TaskStatus.FINISHED,now,task,countedEntities); event = taskHistoryRepository.save(event); - log.debug(task.toString()); + log.debug(task.getUniqueId()); + log.trace(task.toString()); return task; } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UrlServiceImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UrlServiceImpl.java index 6f82f974..adfcf226 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UrlServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UrlServiceImpl.java @@ -40,7 +40,8 @@ public Url findByUrl(String url) { if(result == null){ log.debug(name+"Url.findByUrl: url == null"); } else { - log.debug(name+result.toString()); + log.debug(name+result.getUniqueId()); + log.trace(name+result.toString()); } return result; } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/EntitiesTransformServiceImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/EntitiesTransformServiceImpl.java index f8285e30..ff5f693b 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/EntitiesTransformServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/EntitiesTransformServiceImpl.java @@ -5,9 +5,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.social.twitter.api.*; import org.springframework.stereotype.Component; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; import org.woehlke.twitterwall.oodm.entities.*; import org.woehlke.twitterwall.oodm.entities.parts.Entities; import org.woehlke.twitterwall.scheduled.service.transform.*; @@ -19,8 +16,6 @@ * Created by tw on 11.07.17. */ @Component -//@Service -//@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) public class EntitiesTransformServiceImpl implements EntitiesTransformService { private static final Logger log = LoggerFactory.getLogger(EntitiesTransformServiceImpl.class); diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/HashTagTransformServiceImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/HashTagTransformServiceImpl.java index b59bfc7d..adbdff57 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/HashTagTransformServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/HashTagTransformServiceImpl.java @@ -3,9 +3,6 @@ import org.springframework.social.twitter.api.HashTagEntity; import org.springframework.social.twitter.api.TwitterProfile; import org.springframework.stereotype.Component; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.parts.EntitiesFilter; import org.woehlke.twitterwall.oodm.entities.HashTag; @@ -17,10 +14,7 @@ /** * Created by tw on 28.06.17. */ - @Component -//@Service -//@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) public class HashTagTransformServiceImpl extends EntitiesFilter implements HashTagTransformService { @Override diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/MediaTransformServiceImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/MediaTransformServiceImpl.java index ffcff889..d0350acc 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/MediaTransformServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/MediaTransformServiceImpl.java @@ -3,9 +3,6 @@ import org.springframework.social.twitter.api.MediaEntity; import org.springframework.social.twitter.api.TwitterProfile; import org.springframework.stereotype.Component; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.parts.EntitiesFilter; import org.woehlke.twitterwall.oodm.entities.Media; @@ -17,10 +14,7 @@ /** * Created by tw on 28.06.17. */ - @Component -//@Service -//@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) public class MediaTransformServiceImpl extends EntitiesFilter implements MediaTransformService { @Override diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/MentionTransformServiceImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/MentionTransformServiceImpl.java index 1f34dc39..f789bd08 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/MentionTransformServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/MentionTransformServiceImpl.java @@ -5,9 +5,6 @@ import org.springframework.social.twitter.api.MentionEntity; import org.springframework.social.twitter.api.TwitterProfile; import org.springframework.stereotype.Component; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.parts.EntitiesFilter; import org.woehlke.twitterwall.oodm.entities.Mention; @@ -18,10 +15,7 @@ /** * Created by tw on 28.06.17. */ - @Component -//@Service -//@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) public class MentionTransformServiceImpl extends EntitiesFilter implements MentionTransformService { private static final Logger log = LoggerFactory.getLogger(MentionTransformServiceImpl.class); diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/TickerSymbolTransformServiceImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/TickerSymbolTransformServiceImpl.java index bd11a451..2d7bbca3 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/TickerSymbolTransformServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/TickerSymbolTransformServiceImpl.java @@ -3,9 +3,6 @@ import org.springframework.social.twitter.api.TickerSymbolEntity; import org.springframework.social.twitter.api.TwitterProfile; import org.springframework.stereotype.Component; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.parts.EntitiesFilter; import org.woehlke.twitterwall.oodm.entities.TickerSymbol; @@ -19,8 +16,6 @@ */ @Component -//@Service -//@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) public class TickerSymbolTransformServiceImpl extends EntitiesFilter implements TickerSymbolTransformService { @Override diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/TweetTransformServiceImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/TweetTransformServiceImpl.java index d862d94f..5b31c1d9 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/TweetTransformServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/TweetTransformServiceImpl.java @@ -3,9 +3,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.social.twitter.api.*; import org.springframework.stereotype.Component; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; import org.woehlke.twitterwall.oodm.entities.*; import org.woehlke.twitterwall.scheduled.service.transform.EntitiesTransformService; import org.woehlke.twitterwall.scheduled.service.transform.TweetTransformService; @@ -18,8 +15,6 @@ */ @Component -//@Service -//@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) public class TweetTransformServiceImpl implements TweetTransformService { private final UserTransformService userTransformService; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/UrlTransformServiceImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/UrlTransformServiceImpl.java index 15189307..c5f96701 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/UrlTransformServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/UrlTransformServiceImpl.java @@ -5,9 +5,6 @@ import org.springframework.social.twitter.api.TwitterProfile; import org.springframework.social.twitter.api.UrlEntity; import org.springframework.stereotype.Component; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.parts.EntitiesFilter; import org.woehlke.twitterwall.oodm.entities.Url; @@ -18,10 +15,7 @@ /** * Created by tw on 28.06.17. */ - @Component -//@Service -//@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) public class UrlTransformServiceImpl extends EntitiesFilter implements UrlTransformService { @Override diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/UserTransformServiceImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/UserTransformServiceImpl.java index c55e2352..5c045a0e 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/UserTransformServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/UserTransformServiceImpl.java @@ -83,14 +83,10 @@ public User transform(TwitterProfile userSource,Task task) { userTarget.setShowAllInlineMedia(userSource.showAllInlineMedia()); userTarget.setProfileBannerUrl(userSource.getProfileBannerUrl()); Entities entities = this.entitiesTransformService.transformEntitiesForUser(userSource,task); - log.debug(msg+" entities = "+entities.toString()); + log.debug(msg+" entities = "+entities.getUniqueId()); userTarget.setEntities(entities); log.debug(msg+" userTarget = "+userTarget.getUniqueId()); - - switch(task.getTaskType()){ - - } - + log.trace(msg+" userTarget = "+userTarget.toString()); return userTarget; } diff --git a/twitterwall2.iml b/twitterwall2.iml index 2feb0754..bb0fb989 100644 --- a/twitterwall2.iml +++ b/twitterwall2.iml @@ -43,8 +43,6 @@ - - @@ -110,12 +108,9 @@ - - - - - - + + + @@ -157,7 +152,7 @@ - + From bd0044d5239fcb269c8ea4e316188c4de973e486 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Thu, 10 Aug 2017 09:44:54 +0200 Subject: [PATCH 02/21] fixed #240 --- .../twitterwall/oodm/entities/parts/CountedEntities.java | 1 + .../transform/impl/EntitiesTransformServiceImpl.java | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/CountedEntities.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/CountedEntities.java index 9e3d7343..b75cca61 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/CountedEntities.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/CountedEntities.java @@ -273,6 +273,7 @@ public String toString() { ", userprofile2mention=" + userprofile2mention + ", userprofile2tickersymbol=" + userprofile2tickersymbol + ", userprofile2url=" + userprofile2url + + ", getTotalNumberOfRows=" + getTotalNumberOfRows() + '}'; } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/EntitiesTransformServiceImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/EntitiesTransformServiceImpl.java index ff5f693b..a3bb3599 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/EntitiesTransformServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/EntitiesTransformServiceImpl.java @@ -57,7 +57,8 @@ public Entities transformEntitiesForUser(TwitterProfile userSource, Task task) { log.debug(msg+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); log.debug(msg+"description " + description); log.debug(msg+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); - log.debug(msg+entitiesTarget.toString()); + log.debug(msg+entitiesTarget.getUniqueId()); + log.trace(msg+entitiesTarget.toString()); log.debug(msg+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); return entitiesTarget; } @@ -106,7 +107,8 @@ public Entities transform(org.springframework.social.twitter.api.Entities entiti log.debug(msg+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); log.debug(msg+"entitiesSource: "+entitiesSource.toString()); log.debug(msg+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); - log.debug(msg+"entitiesTarget: "+entitiesTarget.toString()); + log.debug(msg+"entitiesTarget: "+entitiesTarget.getUniqueId()); + log.trace(msg+"entitiesTarget: "+entitiesTarget.toString()); log.debug(msg+"++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"); return entitiesTarget; } From 47720039aa988e0f018ee750c9ea9116a8af9aae Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Sat, 12 Aug 2017 19:17:50 +0200 Subject: [PATCH 03/21] fixed #230 --- src/main/resources/application.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 876baa14..c9333e34 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -342,6 +342,15 @@ spring: spring: profiles: travis datasource: - url: ${DATABASE_URL_TEST} - - + driverClassName: org.h2.Driver + platform: H2 + url: jdbc:h2:mem:test + jpa: + hibernate: + ddl-auto: update + properties: + hibernate: + dialect: org.hibernate.dialect.H2Dialect + show-sql: true +hibernate: + dialect: org.hibernate.dialect.H2Dialect From 895d48e060d690935493fe7ad7cc82a4485e55c4 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Tue, 15 Aug 2017 23:18:50 +0200 Subject: [PATCH 04/21] new use cases --- .../frontend/controller/TweetController.java | 120 ++++++++ .../frontend/controller/common/Symbols.java | 5 + .../frontend/rest/HashTagResource.java | 1 - .../twitterwall/oodm/entities/Tweet.java | 20 ++ .../twitterwall/oodm/entities/UserList.java | 258 ++++++++++++++++++ .../entities/listener/UserListListener.java | 54 ++++ .../oodm/entities/parts/TaskBasedCaching.java | 195 ++++++++++--- .../oodm/entities/parts/TaskInfo.java | 164 ++++++++--- .../oodm/entities/parts/TaskType.java | 6 + .../oodm/repositories/TweetRepository.java | 19 +- .../oodm/repositories/UserListRepository.java | 11 + .../custom/UserListRepositoryCustom.java | 9 + .../custom/impl/UserListRepositoryImpl.java | 39 +++ .../oodm/service/TweetService.java | 12 +- .../oodm/service/UserListService.java | 7 + .../common/DomainServiceWithScreenName.java | 3 - .../oodm/service/impl/TweetServiceImpl.java | 32 ++- .../service/impl/UserListServiceImpl.java | 35 +++ .../scheduled/mq/endpoint/AsyncStartTask.java | 13 + .../mq/endpoint/impl/AsyncStartTaskImpl.java | 36 +++ .../mq/endpoint/impl/StartTaskImpl.java | 61 +++++ .../scheduled/mq/msg/UserListMessage.java | 77 ++++++ .../service/remote/TwitterApiService.java | 13 + .../remote/impl/TwitterApiServiceImpl.java | 155 ++++++++++- .../impl/UserTransformServiceImpl.java | 5 - twitterwall2.iml | 26 +- 26 files changed, 1255 insertions(+), 121 deletions(-) create mode 100644 src/main/java/org/woehlke/twitterwall/oodm/entities/UserList.java create mode 100644 src/main/java/org/woehlke/twitterwall/oodm/entities/listener/UserListListener.java create mode 100644 src/main/java/org/woehlke/twitterwall/oodm/repositories/UserListRepository.java create mode 100644 src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/UserListRepositoryCustom.java create mode 100644 src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/impl/UserListRepositoryImpl.java create mode 100644 src/main/java/org/woehlke/twitterwall/oodm/service/UserListService.java create mode 100644 src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserListServiceImpl.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserListMessage.java diff --git a/src/main/java/org/woehlke/twitterwall/frontend/controller/TweetController.java b/src/main/java/org/woehlke/twitterwall/frontend/controller/TweetController.java index 4a0c0681..2d7b5501 100644 --- a/src/main/java/org/woehlke/twitterwall/frontend/controller/TweetController.java +++ b/src/main/java/org/woehlke/twitterwall/frontend/controller/TweetController.java @@ -66,6 +66,126 @@ public String getTweetById( return "tweet/id"; } + @RequestMapping("/timeline/home") + public String getHomeTimeline( + @RequestParam(name= "page", defaultValue=""+ ControllerHelper.FIRST_PAGE_NUMBER) int page, + Model model + ){ + String title = "Tweets"; + model = controllerHelper.setupPage( + model, + title, + "Home Timneline", + Symbols.HOME_TIMELINE_TWEETS.toString() + ); + String sortByColumn = "createdAt"; + Pageable pageRequest = new PageRequest( + page, + frontendProperties.getPageSize(), + Sort.Direction.DESC, + sortByColumn + ); + Page latest = tweetService.getHomeTimeline(pageRequest); + model.addAttribute("latestTweets", latest); + return "tweet/all"; + } + + @RequestMapping("/timeline/user") + public String getUserTimeline( + @RequestParam(name= "page", defaultValue=""+ ControllerHelper.FIRST_PAGE_NUMBER) int page, + Model model + ){ + String title = "Tweets"; + model = controllerHelper.setupPage( + model, + title, + "User Timeline", + Symbols.USER_TIMELINE_TWEETS.toString() + ); + String sortByColumn = "createdAt"; + Pageable pageRequest = new PageRequest( + page, + frontendProperties.getPageSize(), + Sort.Direction.DESC, + sortByColumn + ); + Page latest = tweetService.getUserTimeline(pageRequest); + model.addAttribute("latestTweets", latest); + return "tweet/all"; + } + + @RequestMapping("/mentions") + public String getMentions( + @RequestParam(name= "page", defaultValue=""+ ControllerHelper.FIRST_PAGE_NUMBER) int page, + Model model + ){ + String title = "Tweets"; + model = controllerHelper.setupPage( + model, + title, + "Mentions", + Symbols.MENTIONS_TWEETS.toString() + ); + String sortByColumn = "createdAt"; + Pageable pageRequest = new PageRequest( + page, + frontendProperties.getPageSize(), + Sort.Direction.DESC, + sortByColumn + ); + Page latest = tweetService.getMentions(pageRequest); + model.addAttribute("latestTweets", latest); + return "tweet/all"; + } + + @RequestMapping("/favorites") + public String getFavorites( + @RequestParam(name= "page", defaultValue=""+ ControllerHelper.FIRST_PAGE_NUMBER) int page, + Model model + ){ + String title = "Tweets"; + model = controllerHelper.setupPage( + model, + title, + "Favorites", + Symbols.FAVORITES_TWEETS.toString() + ); + String sortByColumn = "createdAt"; + Pageable pageRequest = new PageRequest( + page, + frontendProperties.getPageSize(), + Sort.Direction.DESC, + sortByColumn + ); + Page latest = tweetService.getFavorites(pageRequest); + model.addAttribute("latestTweets", latest); + return "tweet/all"; + } + + @RequestMapping("/retweets") + public String getRetweetsOfMe( + @RequestParam(name= "page", defaultValue=""+ ControllerHelper.FIRST_PAGE_NUMBER) int page, + Model model + ){ + String title = "Tweets"; + model = controllerHelper.setupPage( + model, + title, + "Retweets Of Me", + Symbols.RETWEETS_OF_ME_FAVORITES_TWEETS.toString() + ); + String sortByColumn = "createdAt"; + Pageable pageRequest = new PageRequest( + page, + frontendProperties.getPageSize(), + Sort.Direction.DESC, + sortByColumn + ); + Page latest = tweetService.getRetweetsOfMe(pageRequest); + model.addAttribute("latestTweets", latest); + return "tweet/all"; + } + private static final Logger log = LoggerFactory.getLogger(TweetController.class); private final TweetService tweetService; diff --git a/src/main/java/org/woehlke/twitterwall/frontend/controller/common/Symbols.java b/src/main/java/org/woehlke/twitterwall/frontend/controller/common/Symbols.java index 86800f5f..ef9bb960 100644 --- a/src/main/java/org/woehlke/twitterwall/frontend/controller/common/Symbols.java +++ b/src/main/java/org/woehlke/twitterwall/frontend/controller/common/Symbols.java @@ -9,6 +9,11 @@ public enum Symbols { IMPRINT(""), PROFILE(""), HOME(""), + HOME_TIMELINE_TWEETS(""), + USER_TIMELINE_TWEETS(""), + MENTIONS_TWEETS(""), + FAVORITES_TWEETS(""), + RETWEETS_OF_ME_FAVORITES_TWEETS(""), USER_ALL(""), USER_TWEETS(""), USER_NOT_YET_FRIENDS(""), diff --git a/src/main/java/org/woehlke/twitterwall/frontend/rest/HashTagResource.java b/src/main/java/org/woehlke/twitterwall/frontend/rest/HashTagResource.java index c11c6049..c68a7936 100644 --- a/src/main/java/org/woehlke/twitterwall/frontend/rest/HashTagResource.java +++ b/src/main/java/org/woehlke/twitterwall/frontend/rest/HashTagResource.java @@ -9,7 +9,6 @@ import org.woehlke.twitterwall.conf.properties.FrontendProperties; import org.woehlke.twitterwall.frontend.controller.common.ControllerHelper; import org.woehlke.twitterwall.oodm.entities.HashTag; -import org.woehlke.twitterwall.oodm.entities.Media; import org.woehlke.twitterwall.oodm.service.HashTagService; diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/Tweet.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/Tweet.java index 5886100e..be621bf3 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/Tweet.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/Tweet.java @@ -53,6 +53,26 @@ @NamedQuery( name="Tweet.findByUniqueId", query="select t from Tweet t where t.idTwitter=:idTwitter" + ), + @NamedQuery( + name="Tweet.getHomeTimeline", + query="select t from Tweet t where t.taskInfo.getHomeTimeline=true" + ), + @NamedQuery( + name="Tweet.getUserTimeline", + query="select t from Tweet t where t.taskInfo.getUserTimeline=true" + ), + @NamedQuery( + name="Tweet.getMentions", + query="select t from Tweet t where t.taskInfo.getMentions=true" + ), + @NamedQuery( + name="Tweet.getFavorites", + query="select t from Tweet t where t.taskInfo.getFavorites=true" + ), + @NamedQuery( + name="Tweet.getRetweetsOfMe", + query="select t from Tweet t where t.taskInfo.getRetweetsOfMe=true" ) }) @NamedNativeQueries({ diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/UserList.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/UserList.java new file mode 100644 index 00000000..c4431114 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/UserList.java @@ -0,0 +1,258 @@ +package org.woehlke.twitterwall.oodm.entities; + +import org.hibernate.validator.constraints.NotEmpty; +import org.woehlke.twitterwall.oodm.entities.common.DomainObjectWithIdTwitter; +import org.woehlke.twitterwall.oodm.entities.common.DomainObjectWithTask; +import org.woehlke.twitterwall.oodm.entities.listener.UserListListener; +import org.woehlke.twitterwall.oodm.entities.parts.AbstractDomainObject; + +import javax.persistence.*; + +@Entity +@Table( + name = "userlist", + uniqueConstraints = { + @UniqueConstraint(name="unique_userlist",columnNames = {"id_twitter"}) + }, + indexes = { + @Index(name="idx_userprofile_name", columnList="name"), + @Index(name="idx_userprofile_full_name", columnList="full_name"), + @Index(name="idx_userprofile_uri_path", columnList="uri_path"), + @Index(name="idx_userprofile_slug", columnList="slug") + } +) +@EntityListeners(UserListListener.class) +public class UserList extends AbstractDomainObject implements DomainObjectWithTask,DomainObjectWithIdTwitter { + + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long id; + + @NotEmpty + @Column(name="id_twitter", nullable = false) + private Long idTwitter; + + @NotEmpty + @Column(name="name", nullable = false) + private String name; + + @NotEmpty + @Column(name="full_name", nullable = false) + private String fullName; + + @NotEmpty + @Column(name="uri_path", nullable = false) + private String uriPath; + + @NotEmpty + @Column(name="description", nullable = false) + private String description; + + @NotEmpty + @Column(name="slug", nullable = false) + private String slug; + + @NotEmpty + @Column(name="is_public", nullable = false) + private Boolean isPublic; + + @NotEmpty + @Column(name="is_following", nullable = false) + private Boolean isFollowing; + + @NotEmpty + @Column(name="member_count", nullable = false) + private Integer memberCount; + + @NotEmpty + @Column(name="subscriber_count", nullable = false) + private Integer subscriberCount; + + + 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) { + super(createdBy, updatedBy); + this.idTwitter = idTwitter; + this.name = name; + this.fullName = fullName; + this.uriPath = uriPath; + this.description = description; + this.slug = slug; + this.isPublic = isPublic; + this.isFollowing = isFollowing; + this.memberCount = memberCount; + this.subscriberCount = subscriberCount; + } + + protected UserList() { + } + + + @Transient + @Override + public String getUniqueId() { + return ""+idTwitter; + } + + @Transient + @Override + public boolean isValid() { + return idTwitter != null; + } + + public static long getSerialVersionUID() { + return serialVersionUID; + } + + @Override + public Long getId() { + return id; + } + + @Override + public void setId(Long id) { + this.id = id; + } + + @Override + public Long getIdTwitter() { + return idTwitter; + } + + @Override + public void setIdTwitter(Long idTwitter) { + this.idTwitter = idTwitter; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFullName() { + return fullName; + } + + public void setFullName(String fullName) { + this.fullName = fullName; + } + + public String getUriPath() { + return uriPath; + } + + public void setUriPath(String uriPath) { + this.uriPath = uriPath; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getSlug() { + return slug; + } + + public void setSlug(String slug) { + this.slug = slug; + } + + public Boolean getPublic() { + return isPublic; + } + + public void setPublic(Boolean aPublic) { + isPublic = aPublic; + } + + public Boolean getFollowing() { + return isFollowing; + } + + public void setFollowing(Boolean following) { + isFollowing = following; + } + + public Integer getMemberCount() { + return memberCount; + } + + public void setMemberCount(Integer memberCount) { + this.memberCount = memberCount; + } + + public Integer getSubscriberCount() { + return subscriberCount; + } + + public void setSubscriberCount(Integer subscriberCount) { + this.subscriberCount = subscriberCount; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof UserList)) return false; + + UserList userList = (UserList) o; + + if (getId() != null ? !getId().equals(userList.getId()) : userList.getId() != null) return false; + if (getIdTwitter() != null ? !getIdTwitter().equals(userList.getIdTwitter()) : userList.getIdTwitter() != null) + return false; + if (getName() != null ? !getName().equals(userList.getName()) : userList.getName() != null) return false; + if (getFullName() != null ? !getFullName().equals(userList.getFullName()) : userList.getFullName() != null) + return false; + if (getUriPath() != null ? !getUriPath().equals(userList.getUriPath()) : userList.getUriPath() != null) + return false; + if (getDescription() != null ? !getDescription().equals(userList.getDescription()) : userList.getDescription() != null) + return false; + if (getSlug() != null ? !getSlug().equals(userList.getSlug()) : userList.getSlug() != null) return false; + if (isPublic != null ? !isPublic.equals(userList.isPublic) : userList.isPublic != null) return false; + if (isFollowing != null ? !isFollowing.equals(userList.isFollowing) : userList.isFollowing != null) + return false; + if (getMemberCount() != null ? !getMemberCount().equals(userList.getMemberCount()) : userList.getMemberCount() != null) + return false; + return getSubscriberCount() != null ? getSubscriberCount().equals(userList.getSubscriberCount()) : userList.getSubscriberCount() == null; + } + + @Override + public int hashCode() { + int result = getId() != null ? getId().hashCode() : 0; + result = 31 * result + (getIdTwitter() != null ? getIdTwitter().hashCode() : 0); + result = 31 * result + (getName() != null ? getName().hashCode() : 0); + result = 31 * result + (getFullName() != null ? getFullName().hashCode() : 0); + result = 31 * result + (getUriPath() != null ? getUriPath().hashCode() : 0); + result = 31 * result + (getDescription() != null ? getDescription().hashCode() : 0); + result = 31 * result + (getSlug() != null ? getSlug().hashCode() : 0); + result = 31 * result + (isPublic != null ? isPublic.hashCode() : 0); + result = 31 * result + (isFollowing != null ? isFollowing.hashCode() : 0); + result = 31 * result + (getMemberCount() != null ? getMemberCount().hashCode() : 0); + result = 31 * result + (getSubscriberCount() != null ? getSubscriberCount().hashCode() : 0); + return result; + } + + @Override + public String toString() { + return "UserList{" + + "id=" + id + + ", idTwitter=" + idTwitter + + ", name='" + name + '\'' + + ", fullName='" + fullName + '\'' + + ", uriPath='" + uriPath + '\'' + + ", description='" + description + '\'' + + ", slug='" + slug + '\'' + + ", isPublic=" + isPublic + + ", isFollowing=" + isFollowing + + ", memberCount=" + memberCount + + ", subscriberCount=" + subscriberCount + + '}'; + } +} diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/UserListListener.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/UserListListener.java new file mode 100644 index 00000000..8d995928 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/listener/UserListListener.java @@ -0,0 +1,54 @@ +package org.woehlke.twitterwall.oodm.entities.listener; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.woehlke.twitterwall.oodm.entities.UserList; + +import javax.persistence.*; + +public class UserListListener { + + private static final Logger log = LoggerFactory.getLogger(UserListListener.class); + + @PrePersist + public void onPrePersist(UserList domainObject) { + log.debug("try to Persist: "+domainObject.getUniqueId()); + log.trace("try to Persist: "+domainObject.toString()); + } + + @PreUpdate + public void onPreUpdate(UserList domainObject) { + log.debug("try to Update: "+domainObject.getUniqueId()); + log.trace("try to Update: "+domainObject.toString()); + } + + @PreRemove + public void onPreRemove(UserList domainObject) { + log.debug("try to Remove: "+domainObject.getUniqueId()); + log.trace("try to Remove: "+domainObject.toString()); + } + + @PostPersist + public void onPostPersist(UserList domainObject) { + log.debug("Persisted: "+domainObject.getUniqueId()); + log.trace("Persisted: "+domainObject.toString()); + } + + @PostUpdate + public void onPostUpdate(UserList domainObject) { + log.debug("Updated: "+domainObject.getUniqueId()); + log.trace("Updated: "+domainObject.toString()); + } + + @PostRemove + public void onPostRemove(UserList domainObject) { + log.debug("Removed: "+domainObject.getUniqueId()); + log.trace("Removed: "+domainObject.toString()); + } + + @PostLoad + public void onPostLoad(UserList domainObject) { + log.debug("loaded: "+domainObject.getUniqueId()); + log.trace("loaded: "+domainObject.toString()); + } +} diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskBasedCaching.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskBasedCaching.java index dc6e4145..1ca0b9c0 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskBasedCaching.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskBasedCaching.java @@ -49,6 +49,24 @@ public class TaskBasedCaching implements Serializable { @Column(name=COLUMN_PREFIX+"fetch_friends") private Date fetchFriends; + @Column(name=COLUMN_PREFIX+"fetch_home_timeline") + private Date getHomeTimeline; + + @Column(name=COLUMN_PREFIX+"fetch_user_timeline") + private Date getUserTimeline; + + @Column(name=COLUMN_PREFIX+"fetch_mentions") + private Date getMentions; + + @Column(name=COLUMN_PREFIX+"fetch_favorites") + private Date getFavorites; + + @Column(name=COLUMN_PREFIX+"fetch_retweets_of_me") + private Date getRetweetsOfMe; + + @Column(name=COLUMN_PREFIX+"fetch_lists") + private Date getLists; + @Transient public Boolean isCached(TaskType taskType, long timeToLive){ Date lastApiCall = null; @@ -89,6 +107,24 @@ public Boolean isCached(TaskType taskType, long timeToLive){ case FETCH_FRIENDS: lastApiCall = fetchFriends; break; + case FETCH_HOME_TIMELINE: + lastApiCall = getHomeTimeline; + break; + case FETCH_USER_TIMELINE: + lastApiCall = getUserTimeline; + break; + case FETCH_MENTIONS: + lastApiCall = getMentions; + break; + case FETCH_FAVORITES: + lastApiCall = getFavorites; + break; + case FETCH_RETWEETS_OF_ME: + lastApiCall = getRetweetsOfMe; + break; + case FETCH_LISTS: + lastApiCall = getLists; + break; default: break; } if(lastApiCall == null){ @@ -148,13 +184,30 @@ public void store(TaskType taskType){ case FETCH_FRIENDS: fetchFriends = lastApiCall; break; + case FETCH_HOME_TIMELINE: + getHomeTimeline = lastApiCall; + break; + case FETCH_USER_TIMELINE: + getUserTimeline = lastApiCall; + break; + case FETCH_MENTIONS: + getMentions = lastApiCall; + break; + case FETCH_FAVORITES: + getFavorites = lastApiCall; + break; + case FETCH_RETWEETS_OF_ME: + getRetweetsOfMe = lastApiCall; + break; + case FETCH_LISTS: + getLists = lastApiCall; default: break; } } } - public TaskBasedCaching(Date fetchTweetsFromSearch, Date updateTweets, Date updateUsers, Date updateUsersFromMentions, Date fetchUsersFromList, Date controllerGetTestdataTweets, Date controllerGetTestdataUser, Date controllerAddUserForScreenName, Date controllerCreateImprintUser, Date removeOldDataFromStorage, Date fetchFollower) { + public TaskBasedCaching(Date fetchTweetsFromSearch, Date updateTweets, Date updateUsers, Date updateUsersFromMentions, Date fetchUsersFromList, Date controllerGetTestdataTweets, Date controllerGetTestdataUser, Date controllerAddUserForScreenName, Date controllerCreateImprintUser, Date removeOldDataFromStorage, Date fetchFollower, Date fetchFriends, Date getHomeTimeline, Date getUserTimeline, Date getMentions, Date getFavorites, Date getRetweetsOfMe, Date getLists) { this.fetchTweetsFromSearch = fetchTweetsFromSearch; this.updateTweets = updateTweets; this.updateUsers = updateUsers; @@ -166,6 +219,13 @@ public TaskBasedCaching(Date fetchTweetsFromSearch, Date updateTweets, Date upda this.controllerCreateImprintUser = controllerCreateImprintUser; this.removeOldDataFromStorage = removeOldDataFromStorage; this.fetchFollower = fetchFollower; + this.fetchFriends = fetchFriends; + this.getHomeTimeline = getHomeTimeline; + this.getUserTimeline = getUserTimeline; + this.getMentions = getMentions; + this.getFavorites = getFavorites; + this.getRetweetsOfMe = getRetweetsOfMe; + this.getLists = getLists; } public TaskBasedCaching() { @@ -180,6 +240,12 @@ public TaskBasedCaching() { this.controllerCreateImprintUser = null; this.removeOldDataFromStorage = null; this.fetchFollower = null; + this.getHomeTimeline = null; + this.getUserTimeline = null; + this.getMentions = null; + this.getFavorites = null; + this.getRetweetsOfMe = null; + this.getLists = null; } public Date getFetchTweetsFromSearch() { @@ -226,6 +292,34 @@ public Date getFetchFollower() { return fetchFollower; } + public Date getFetchFriends() { + return fetchFriends; + } + + public Date getGetHomeTimeline() { + return getHomeTimeline; + } + + public Date getGetUserTimeline() { + return getUserTimeline; + } + + public Date getGetMentions() { + return getMentions; + } + + public Date getGetFavorites() { + return getFavorites; + } + + public Date getGetRetweetsOfMe() { + return getRetweetsOfMe; + } + + public Date getGetLists() { + return getLists; + } + @Override public boolean equals(Object o) { if (this == o) return true; @@ -233,59 +327,88 @@ public boolean equals(Object o) { TaskBasedCaching that = (TaskBasedCaching) o; - if (fetchTweetsFromSearch != null ? !fetchTweetsFromSearch.equals(that.fetchTweetsFromSearch) : that.fetchTweetsFromSearch != null) + if (getFetchTweetsFromSearch() != null ? !getFetchTweetsFromSearch().equals(that.getFetchTweetsFromSearch()) : that.getFetchTweetsFromSearch() != null) + return false; + if (getUpdateTweets() != null ? !getUpdateTweets().equals(that.getUpdateTweets()) : that.getUpdateTweets() != null) + return false; + if (getUpdateUsers() != null ? !getUpdateUsers().equals(that.getUpdateUsers()) : that.getUpdateUsers() != null) + return false; + if (getUpdateUsersFromMentions() != null ? !getUpdateUsersFromMentions().equals(that.getUpdateUsersFromMentions()) : that.getUpdateUsersFromMentions() != null) + return false; + if (getFetchUsersFromList() != null ? !getFetchUsersFromList().equals(that.getFetchUsersFromList()) : that.getFetchUsersFromList() != null) + return false; + if (getControllerGetTestdataTweets() != null ? !getControllerGetTestdataTweets().equals(that.getControllerGetTestdataTweets()) : that.getControllerGetTestdataTweets() != null) + return false; + if (getControllerGetTestdataUser() != null ? !getControllerGetTestdataUser().equals(that.getControllerGetTestdataUser()) : that.getControllerGetTestdataUser() != null) + return false; + if (getControllerAddUserForScreenName() != null ? !getControllerAddUserForScreenName().equals(that.getControllerAddUserForScreenName()) : that.getControllerAddUserForScreenName() != null) + return false; + if (getControllerCreateImprintUser() != null ? !getControllerCreateImprintUser().equals(that.getControllerCreateImprintUser()) : that.getControllerCreateImprintUser() != null) return false; - if (updateTweets != null ? !updateTweets.equals(that.updateTweets) : that.updateTweets != null) return false; - if (updateUsers != null ? !updateUsers.equals(that.updateUsers) : that.updateUsers != null) + if (getRemoveOldDataFromStorage() != null ? !getRemoveOldDataFromStorage().equals(that.getRemoveOldDataFromStorage()) : that.getRemoveOldDataFromStorage() != null) return false; - if (updateUsersFromMentions != null ? !updateUsersFromMentions.equals(that.updateUsersFromMentions) : that.updateUsersFromMentions != null) + if (getFetchFollower() != null ? !getFetchFollower().equals(that.getFetchFollower()) : that.getFetchFollower() != null) return false; - if (fetchUsersFromList != null ? !fetchUsersFromList.equals(that.fetchUsersFromList) : that.fetchUsersFromList != null) + if (getFetchFriends() != null ? !getFetchFriends().equals(that.getFetchFriends()) : that.getFetchFriends() != null) return false; - if (controllerGetTestdataTweets != null ? !controllerGetTestdataTweets.equals(that.controllerGetTestdataTweets) : that.controllerGetTestdataTweets != null) + if (getGetHomeTimeline() != null ? !getGetHomeTimeline().equals(that.getGetHomeTimeline()) : that.getGetHomeTimeline() != null) return false; - if (controllerGetTestdataUser != null ? !controllerGetTestdataUser.equals(that.controllerGetTestdataUser) : that.controllerGetTestdataUser != null) + if (getGetUserTimeline() != null ? !getGetUserTimeline().equals(that.getGetUserTimeline()) : that.getGetUserTimeline() != null) return false; - if (controllerAddUserForScreenName != null ? !controllerAddUserForScreenName.equals(that.controllerAddUserForScreenName) : that.controllerAddUserForScreenName != null) + if (getGetMentions() != null ? !getGetMentions().equals(that.getGetMentions()) : that.getGetMentions() != null) return false; - if (controllerCreateImprintUser != null ? !controllerCreateImprintUser.equals(that.controllerCreateImprintUser) : that.controllerCreateImprintUser != null) + if (getGetFavorites() != null ? !getGetFavorites().equals(that.getGetFavorites()) : that.getGetFavorites() != null) return false; - if (removeOldDataFromStorage != null ? !removeOldDataFromStorage.equals(that.removeOldDataFromStorage) : that.removeOldDataFromStorage != null) + if (getGetRetweetsOfMe() != null ? !getGetRetweetsOfMe().equals(that.getGetRetweetsOfMe()) : that.getGetRetweetsOfMe() != null) return false; - return fetchFollower != null ? fetchFollower.equals(that.fetchFollower) : that.fetchFollower == null; + return getGetLists() != null ? getGetLists().equals(that.getGetLists()) : that.getGetLists() == null; } @Override public int hashCode() { - int result = fetchTweetsFromSearch != null ? fetchTweetsFromSearch.hashCode() : 0; - result = 31 * result + (updateTweets != null ? updateTweets.hashCode() : 0); - result = 31 * result + (updateUsers != null ? updateUsers.hashCode() : 0); - result = 31 * result + (updateUsersFromMentions != null ? updateUsersFromMentions.hashCode() : 0); - result = 31 * result + (fetchUsersFromList != null ? fetchUsersFromList.hashCode() : 0); - result = 31 * result + (controllerGetTestdataTweets != null ? controllerGetTestdataTweets.hashCode() : 0); - result = 31 * result + (controllerGetTestdataUser != null ? controllerGetTestdataUser.hashCode() : 0); - result = 31 * result + (controllerAddUserForScreenName != null ? controllerAddUserForScreenName.hashCode() : 0); - result = 31 * result + (controllerCreateImprintUser != null ? controllerCreateImprintUser.hashCode() : 0); - result = 31 * result + (removeOldDataFromStorage != null ? removeOldDataFromStorage.hashCode() : 0); - result = 31 * result + (fetchFollower != null ? fetchFollower.hashCode() : 0); + int result = getFetchTweetsFromSearch() != null ? getFetchTweetsFromSearch().hashCode() : 0; + result = 31 * result + (getUpdateTweets() != null ? getUpdateTweets().hashCode() : 0); + result = 31 * result + (getUpdateUsers() != null ? getUpdateUsers().hashCode() : 0); + result = 31 * result + (getUpdateUsersFromMentions() != null ? getUpdateUsersFromMentions().hashCode() : 0); + result = 31 * result + (getFetchUsersFromList() != null ? getFetchUsersFromList().hashCode() : 0); + result = 31 * result + (getControllerGetTestdataTweets() != null ? getControllerGetTestdataTweets().hashCode() : 0); + result = 31 * result + (getControllerGetTestdataUser() != null ? getControllerGetTestdataUser().hashCode() : 0); + result = 31 * result + (getControllerAddUserForScreenName() != null ? getControllerAddUserForScreenName().hashCode() : 0); + result = 31 * result + (getControllerCreateImprintUser() != null ? getControllerCreateImprintUser().hashCode() : 0); + result = 31 * result + (getRemoveOldDataFromStorage() != null ? getRemoveOldDataFromStorage().hashCode() : 0); + result = 31 * result + (getFetchFollower() != null ? getFetchFollower().hashCode() : 0); + result = 31 * result + (getFetchFriends() != null ? getFetchFriends().hashCode() : 0); + result = 31 * result + (getGetHomeTimeline() != null ? getGetHomeTimeline().hashCode() : 0); + result = 31 * result + (getGetUserTimeline() != null ? getGetUserTimeline().hashCode() : 0); + result = 31 * result + (getGetMentions() != null ? getGetMentions().hashCode() : 0); + result = 31 * result + (getGetFavorites() != null ? getGetFavorites().hashCode() : 0); + result = 31 * result + (getGetRetweetsOfMe() != null ? getGetRetweetsOfMe().hashCode() : 0); + result = 31 * result + (getGetLists() != null ? getGetLists().hashCode() : 0); return result; } @Override public String toString() { - return "TwitterApiCaching{" + - "fetchTweetsFromTwitterSearch=" + fetchTweetsFromSearch + - ", updateTweets=" + updateTweets + - ", updateUserProfiles=" + updateUsers + - ", updateUserProfilesFromMentions=" + updateUsersFromMentions + - ", fetchUsersFromDefinedUserList=" + fetchUsersFromList + - ", controllerGetTestdataTweets=" + controllerGetTestdataTweets + - ", controllerGetTestdataUser=" + controllerGetTestdataUser + - ", controllerAddUserForScreenName=" + controllerAddUserForScreenName + - ", controllerCreateImprintUser=" + controllerCreateImprintUser + - ", removeOldDataFromStorage=" + removeOldDataFromStorage + - ", fetchFollower=" + fetchFollower + - '}'; + return "TaskBasedCaching{" + + "fetchTweetsFromSearch=" + fetchTweetsFromSearch + + ", updateTweets=" + updateTweets + + ", updateUsers=" + updateUsers + + ", updateUsersFromMentions=" + updateUsersFromMentions + + ", fetchUsersFromList=" + fetchUsersFromList + + ", controllerGetTestdataTweets=" + controllerGetTestdataTweets + + ", controllerGetTestdataUser=" + controllerGetTestdataUser + + ", controllerAddUserForScreenName=" + controllerAddUserForScreenName + + ", controllerCreateImprintUser=" + controllerCreateImprintUser + + ", removeOldDataFromStorage=" + removeOldDataFromStorage + + ", fetchFollower=" + fetchFollower + + ", fetchFriends=" + fetchFriends + + ", getHomeTimeline=" + getHomeTimeline + + ", getUserTimeline=" + getUserTimeline + + ", getMentions=" + getMentions + + ", getFavorites=" + getFavorites + + ", getRetweetsOfMe=" + getRetweetsOfMe + + ", getLists=" + getLists + + '}'; } private final static String COLUMN_PREFIX = "cache_"; diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskInfo.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskInfo.java index a3459f1a..61993e8b 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskInfo.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskInfo.java @@ -64,6 +64,30 @@ public class TaskInfo implements Serializable { @Column(nullable = false,name="fetch_friends") private Boolean fetchFriends = false; + @NotNull + @Column(nullable = false,name="fetch_home_timeline") + private Boolean getHomeTimeline = false; + + @NotNull + @Column(nullable = false,name="fetch_user_timeline") + private Boolean getUserTimeline = false; + + @NotNull + @Column(nullable = false,name="fetch_mentions") + private Boolean getMentions = false; + + @NotNull + @Column(nullable = false,name="fetch_favorites") + private Boolean getFavorites = false; + + @NotNull + @Column(nullable = false,name="fetch_retweets_of_me") + private Boolean getRetweetsOfMe = false; + + @NotNull + @Column(nullable = false,name="fetch_lists") + private Boolean getLists = false; + @Transient public void setTaskInfoFromTask(Task task) { if(task!=null) { @@ -105,6 +129,24 @@ public void setTaskInfoFromTask(Task task) { case FETCH_FRIENDS: fetchFriends = true; break; + case FETCH_HOME_TIMELINE: + getHomeTimeline = true; + break; + case FETCH_USER_TIMELINE: + getUserTimeline = true; + break; + case FETCH_MENTIONS: + getMentions = true; + break; + case FETCH_FAVORITES: + getFavorites = true; + break; + case FETCH_RETWEETS_OF_ME: + getRetweetsOfMe = true; + break; + case FETCH_LISTS: + getLists = true; + break; default: break; } @@ -177,6 +219,30 @@ public Boolean getFetchFriends() { return fetchFriends; } + public Boolean getGetHomeTimeline() { + return getHomeTimeline; + } + + public Boolean getGetUserTimeline() { + return getUserTimeline; + } + + public Boolean getGetMentions() { + return getMentions; + } + + public Boolean getGetFavorites() { + return getFavorites; + } + + public Boolean getGetRetweetsOfMe() { + return getRetweetsOfMe; + } + + public Boolean getGetLists() { + return getLists; + } + @Override public boolean equals(Object o) { if (this == o) return true; @@ -184,64 +250,88 @@ public boolean equals(Object o) { TaskInfo taskInfo = (TaskInfo) o; - if (fetchTweetsFromSearch != null ? !fetchTweetsFromSearch.equals(taskInfo.fetchTweetsFromSearch) : taskInfo.fetchTweetsFromSearch != null) + if (getFetchTweetsFromSearch() != null ? !getFetchTweetsFromSearch().equals(taskInfo.getFetchTweetsFromSearch()) : taskInfo.getFetchTweetsFromSearch() != null) + return false; + if (getUpdateTweets() != null ? !getUpdateTweets().equals(taskInfo.getUpdateTweets()) : taskInfo.getUpdateTweets() != null) + return false; + if (getUpdatedUsers() != null ? !getUpdatedUsers().equals(taskInfo.getUpdatedUsers()) : taskInfo.getUpdatedUsers() != null) + return false; + if (getUpdateUsersFromMentions() != null ? !getUpdateUsersFromMentions().equals(taskInfo.getUpdateUsersFromMentions()) : taskInfo.getUpdateUsersFromMentions() != null) + return false; + if (getFetchUsersFromList() != null ? !getFetchUsersFromList().equals(taskInfo.getFetchUsersFromList()) : taskInfo.getFetchUsersFromList() != null) + return false; + if (getControllerAddUserForScreenName() != null ? !getControllerAddUserForScreenName().equals(taskInfo.getControllerAddUserForScreenName()) : taskInfo.getControllerAddUserForScreenName() != null) + return false; + if (getControllerCreateTestdataTweets() != null ? !getControllerCreateTestdataTweets().equals(taskInfo.getControllerCreateTestdataTweets()) : taskInfo.getControllerCreateTestdataTweets() != null) return false; - if (updateTweets != null ? !updateTweets.equals(taskInfo.updateTweets) : taskInfo.updateTweets != null) + if (getControllerCreateTestdataUsers() != null ? !getControllerCreateTestdataUsers().equals(taskInfo.getControllerCreateTestdataUsers()) : taskInfo.getControllerCreateTestdataUsers() != null) return false; - if (updatedUsers != null ? !updatedUsers.equals(taskInfo.updatedUsers) : taskInfo.updatedUsers != null) + if (getControllerCreateImprintUser() != null ? !getControllerCreateImprintUser().equals(taskInfo.getControllerCreateImprintUser()) : taskInfo.getControllerCreateImprintUser() != null) return false; - if (updateUsersFromMentions != null ? !updateUsersFromMentions.equals(taskInfo.updateUsersFromMentions) : taskInfo.updateUsersFromMentions != null) + if (getRemoveOldDataFromStorage() != null ? !getRemoveOldDataFromStorage().equals(taskInfo.getRemoveOldDataFromStorage()) : taskInfo.getRemoveOldDataFromStorage() != null) return false; - if (fetchUsersFromList != null ? !fetchUsersFromList.equals(taskInfo.fetchUsersFromList) : taskInfo.fetchUsersFromList != null) + if (getFetchFollower() != null ? !getFetchFollower().equals(taskInfo.getFetchFollower()) : taskInfo.getFetchFollower() != null) return false; - if (controllerAddUserForScreenName != null ? !controllerAddUserForScreenName.equals(taskInfo.controllerAddUserForScreenName) : taskInfo.controllerAddUserForScreenName != null) + if (getFetchFriends() != null ? !getFetchFriends().equals(taskInfo.getFetchFriends()) : taskInfo.getFetchFriends() != null) return false; - if (controllerCreateTestdataTweets != null ? !controllerCreateTestdataTweets.equals(taskInfo.controllerCreateTestdataTweets) : taskInfo.controllerCreateTestdataTweets != null) + if (getGetHomeTimeline() != null ? !getGetHomeTimeline().equals(taskInfo.getGetHomeTimeline()) : taskInfo.getGetHomeTimeline() != null) return false; - if (controllerCreateTestdataUsers != null ? !controllerCreateTestdataUsers.equals(taskInfo.controllerCreateTestdataUsers) : taskInfo.controllerCreateTestdataUsers != null) + if (getGetUserTimeline() != null ? !getGetUserTimeline().equals(taskInfo.getGetUserTimeline()) : taskInfo.getGetUserTimeline() != null) return false; - if (controllerCreateImprintUser != null ? !controllerCreateImprintUser.equals(taskInfo.controllerCreateImprintUser) : taskInfo.controllerCreateImprintUser != null) + if (getGetMentions() != null ? !getGetMentions().equals(taskInfo.getGetMentions()) : taskInfo.getGetMentions() != null) return false; - if (removeOldDataFromStorage != null ? !removeOldDataFromStorage.equals(taskInfo.removeOldDataFromStorage) : taskInfo.removeOldDataFromStorage != null) + if (getGetFavorites() != null ? !getGetFavorites().equals(taskInfo.getGetFavorites()) : taskInfo.getGetFavorites() != null) return false; - if (fetchFollower != null ? !fetchFollower.equals(taskInfo.fetchFollower) : taskInfo.fetchFollower != null) + if (getGetRetweetsOfMe() != null ? !getGetRetweetsOfMe().equals(taskInfo.getGetRetweetsOfMe()) : taskInfo.getGetRetweetsOfMe() != null) return false; - return fetchFriends != null ? fetchFriends.equals(taskInfo.fetchFriends) : taskInfo.fetchFriends == null; + return getGetLists() != null ? getGetLists().equals(taskInfo.getGetLists()) : taskInfo.getGetLists() == null; } @Override public int hashCode() { - int result = fetchTweetsFromSearch != null ? fetchTweetsFromSearch.hashCode() : 0; - result = 31 * result + (updateTweets != null ? updateTweets.hashCode() : 0); - result = 31 * result + (updatedUsers != null ? updatedUsers.hashCode() : 0); - result = 31 * result + (updateUsersFromMentions != null ? updateUsersFromMentions.hashCode() : 0); - result = 31 * result + (fetchUsersFromList != null ? fetchUsersFromList.hashCode() : 0); - result = 31 * result + (controllerAddUserForScreenName != null ? controllerAddUserForScreenName.hashCode() : 0); - result = 31 * result + (controllerCreateTestdataTweets != null ? controllerCreateTestdataTweets.hashCode() : 0); - result = 31 * result + (controllerCreateTestdataUsers != null ? controllerCreateTestdataUsers.hashCode() : 0); - result = 31 * result + (controllerCreateImprintUser != null ? controllerCreateImprintUser.hashCode() : 0); - result = 31 * result + (removeOldDataFromStorage != null ? removeOldDataFromStorage.hashCode() : 0); - result = 31 * result + (fetchFollower != null ? fetchFollower.hashCode() : 0); - result = 31 * result + (fetchFriends != null ? fetchFriends.hashCode() : 0); + int result = getFetchTweetsFromSearch() != null ? getFetchTweetsFromSearch().hashCode() : 0; + result = 31 * result + (getUpdateTweets() != null ? getUpdateTweets().hashCode() : 0); + result = 31 * result + (getUpdatedUsers() != null ? getUpdatedUsers().hashCode() : 0); + result = 31 * result + (getUpdateUsersFromMentions() != null ? getUpdateUsersFromMentions().hashCode() : 0); + result = 31 * result + (getFetchUsersFromList() != null ? getFetchUsersFromList().hashCode() : 0); + result = 31 * result + (getControllerAddUserForScreenName() != null ? getControllerAddUserForScreenName().hashCode() : 0); + result = 31 * result + (getControllerCreateTestdataTweets() != null ? getControllerCreateTestdataTweets().hashCode() : 0); + result = 31 * result + (getControllerCreateTestdataUsers() != null ? getControllerCreateTestdataUsers().hashCode() : 0); + result = 31 * result + (getControllerCreateImprintUser() != null ? getControllerCreateImprintUser().hashCode() : 0); + result = 31 * result + (getRemoveOldDataFromStorage() != null ? getRemoveOldDataFromStorage().hashCode() : 0); + result = 31 * result + (getFetchFollower() != null ? getFetchFollower().hashCode() : 0); + result = 31 * result + (getFetchFriends() != null ? getFetchFriends().hashCode() : 0); + result = 31 * result + (getGetHomeTimeline() != null ? getGetHomeTimeline().hashCode() : 0); + result = 31 * result + (getGetUserTimeline() != null ? getGetUserTimeline().hashCode() : 0); + result = 31 * result + (getGetMentions() != null ? getGetMentions().hashCode() : 0); + result = 31 * result + (getGetFavorites() != null ? getGetFavorites().hashCode() : 0); + result = 31 * result + (getGetRetweetsOfMe() != null ? getGetRetweetsOfMe().hashCode() : 0); + result = 31 * result + (getGetLists() != null ? getGetLists().hashCode() : 0); return result; } @Override public String toString() { return "TaskInfo{" + - "fetchTweetsFromSearch=" + fetchTweetsFromSearch + - ", updateTweets=" + updateTweets + - ", updatedUsers=" + updatedUsers + - ", updateUsersFromMentions=" + updateUsersFromMentions + - ", fetchUsersFromList=" + fetchUsersFromList + - ", controllerAddUserForScreenName=" + controllerAddUserForScreenName + - ", controllerCreateTestdataTweets=" + controllerCreateTestdataTweets + - ", controllerCreateTestdataUsers=" + controllerCreateTestdataUsers + - ", controllerCreateImprintUser=" + controllerCreateImprintUser + - ", removeOldDataFromStorage=" + removeOldDataFromStorage + - ", fetchFollower=" + fetchFollower + - ", fetchFriends=" + fetchFriends + - '}'; + "fetchTweetsFromSearch=" + fetchTweetsFromSearch + + ", updateTweets=" + updateTweets + + ", updatedUsers=" + updatedUsers + + ", updateUsersFromMentions=" + updateUsersFromMentions + + ", fetchUsersFromList=" + fetchUsersFromList + + ", controllerAddUserForScreenName=" + controllerAddUserForScreenName + + ", controllerCreateTestdataTweets=" + controllerCreateTestdataTweets + + ", controllerCreateTestdataUsers=" + controllerCreateTestdataUsers + + ", controllerCreateImprintUser=" + controllerCreateImprintUser + + ", removeOldDataFromStorage=" + removeOldDataFromStorage + + ", fetchFollower=" + fetchFollower + + ", fetchFriends=" + fetchFriends + + ", getHomeTimeline=" + getHomeTimeline + + ", getUserTimeline=" + getUserTimeline + + ", getMentions=" + getMentions + + ", getFavorites=" + getFavorites + + ", getRetweetsOfMe=" + getRetweetsOfMe + + ", getLists=" + getLists + + '}'; } @Transient diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskType.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskType.java index c6ae5078..592cb7b3 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskType.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/TaskType.java @@ -7,6 +7,12 @@ public enum TaskType { NULL, FETCH_TWEETS_FROM_SEARCH, + FETCH_HOME_TIMELINE, + FETCH_USER_TIMELINE, + FETCH_MENTIONS, + FETCH_FAVORITES, + FETCH_RETWEETS_OF_ME, + FETCH_LISTS, FETCH_USERS_FROM_LIST, FETCH_FOLLOWER, FETCH_FRIENDS, diff --git a/src/main/java/org/woehlke/twitterwall/oodm/repositories/TweetRepository.java b/src/main/java/org/woehlke/twitterwall/oodm/repositories/TweetRepository.java index c2ac9775..48ad6992 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/repositories/TweetRepository.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/repositories/TweetRepository.java @@ -7,7 +7,6 @@ import org.springframework.stereotype.Repository; import org.woehlke.twitterwall.oodm.entities.Tweet; import org.woehlke.twitterwall.oodm.entities.User; -import org.woehlke.twitterwall.oodm.entities.transients.*; import org.woehlke.twitterwall.oodm.repositories.common.DomainRepository; import org.woehlke.twitterwall.oodm.repositories.custom.TweetRepositoryCustom; @@ -44,4 +43,22 @@ public interface TweetRepository extends DomainRepository,TweetRepository @Query(name="Tweet.countAllUser2Url",nativeQuery=true) long countAllUser2Url(); + + @Query(name="Tweet.getHomeTimeline",nativeQuery=true) + Page getHomeTimeline(Pageable pageRequest); + + @Query(name="Tweet.getUserTimeline",nativeQuery=true) + Page getUserTimeline(Pageable pageRequest); + + @Query(name="Tweet.getMentions",nativeQuery=true) + Page getMentions(Pageable pageRequest); + + @Query(name="Tweet.getFavorites",nativeQuery=true) + Page getFavorites(Pageable pageRequest); + + @Query(name="Tweet.getRetweetsOfMe",nativeQuery=true) + Page getRetweetsOfMe(Pageable pageRequest); + + + } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/repositories/UserListRepository.java b/src/main/java/org/woehlke/twitterwall/oodm/repositories/UserListRepository.java new file mode 100644 index 00000000..e45af413 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/oodm/repositories/UserListRepository.java @@ -0,0 +1,11 @@ +package org.woehlke.twitterwall.oodm.repositories; + + +import org.woehlke.twitterwall.oodm.entities.UserList; +import org.woehlke.twitterwall.oodm.repositories.common.DomainRepository; +import org.woehlke.twitterwall.oodm.repositories.custom.UserListRepositoryCustom; + +public interface UserListRepository extends DomainRepository,UserListRepositoryCustom { + + UserList findByIdTwitter(long idTwitter); +} diff --git a/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/UserListRepositoryCustom.java b/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/UserListRepositoryCustom.java new file mode 100644 index 00000000..c8f5466e --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/UserListRepositoryCustom.java @@ -0,0 +1,9 @@ +package org.woehlke.twitterwall.oodm.repositories.custom; + +import org.woehlke.twitterwall.oodm.entities.UserList; +import org.woehlke.twitterwall.oodm.repositories.common.DomainObjectMinimalRepository; + +public interface UserListRepositoryCustom extends DomainObjectMinimalRepository { + + UserList findByUniqueId(UserList domainObject); +} diff --git a/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/impl/UserListRepositoryImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/impl/UserListRepositoryImpl.java new file mode 100644 index 00000000..aa4c6af5 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/impl/UserListRepositoryImpl.java @@ -0,0 +1,39 @@ +package org.woehlke.twitterwall.oodm.repositories.custom.impl; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.stereotype.Repository; +import org.woehlke.twitterwall.oodm.entities.UserList; +import org.woehlke.twitterwall.oodm.repositories.custom.UserListRepositoryCustom; + +import javax.persistence.EntityManager; +import javax.persistence.TypedQuery; +import javax.sql.DataSource; +import java.util.List; + +@Repository +public class UserListRepositoryImpl implements UserListRepositoryCustom { + + @Override + public UserList findByUniqueId(UserList domainObject) { + String name="UserList.findByUniqueId"; + TypedQuery query = entityManager.createNamedQuery(name,UserList.class); + query.setParameter("idTwitter",domainObject.getIdTwitter()); + List resultList = query.getResultList(); + if(resultList.size()>0){ + return resultList.iterator().next(); + } else { + return null; + } + } + + private final EntityManager entityManager; + + private JdbcTemplate jdbcTemplate; + + @Autowired + public UserListRepositoryImpl(EntityManager entityManager,DataSource dataSource) { + this.entityManager = entityManager; + this.jdbcTemplate = new JdbcTemplate(dataSource); + } +} diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/TweetService.java b/src/main/java/org/woehlke/twitterwall/oodm/service/TweetService.java index 90c8046e..57908189 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/TweetService.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/TweetService.java @@ -20,8 +20,6 @@ public interface TweetService extends DomainObjectWithEntitiesService,Dom Page findTweetsForUser(User user, Pageable pageRequest); - //Page findAllTwitterIds(Pageable pageRequest); - Page findAllTweet2HashTag(Pageable pageRequest); Page findAllTweet2Media(Pageable pageRequest); @@ -32,4 +30,14 @@ public interface TweetService extends DomainObjectWithEntitiesService,Dom Page findAllTweet2TickerSymbol(Pageable pageRequest); + Page getHomeTimeline(Pageable pageRequest); + + Page getUserTimeline(Pageable pageRequest); + + Page getMentions(Pageable pageRequest); + + Page getFavorites(Pageable pageRequest); + + Page getRetweetsOfMe(Pageable pageRequest); + } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/UserListService.java b/src/main/java/org/woehlke/twitterwall/oodm/service/UserListService.java new file mode 100644 index 00000000..0016e4aa --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/UserListService.java @@ -0,0 +1,7 @@ +package org.woehlke.twitterwall.oodm.service; + +import org.woehlke.twitterwall.oodm.entities.UserList; +import org.woehlke.twitterwall.oodm.service.common.DomainServiceWithIdTwitter; + +public interface UserListService extends DomainServiceWithIdTwitter { +} diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/common/DomainServiceWithScreenName.java b/src/main/java/org/woehlke/twitterwall/oodm/service/common/DomainServiceWithScreenName.java index dd391b9f..2dea3a4c 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/common/DomainServiceWithScreenName.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/common/DomainServiceWithScreenName.java @@ -5,9 +5,6 @@ /** * Created by tw on 14.07.17. */ - -//DomainServiceWithIdTwitter extends DomainService - public interface DomainServiceWithScreenName extends DomainService { T findByScreenName(String screenName); diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TweetServiceImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TweetServiceImpl.java index 28a4d387..d543bf70 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TweetServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TweetServiceImpl.java @@ -44,13 +44,6 @@ public Page findTweetsForUser(User user, Pageable pageRequest) { return tweetRepository.findByUser(user,pageRequest); } - /* - @Override - public Page findAllTwitterIds(Pageable pageRequest) { - return tweetRepository.findAllTwitterIds(pageRequest); - } - */ - @Override public Page findAllTweet2HashTag(Pageable pageRequest) { return tweetRepository.findAllTweet2HashTag(pageRequest); @@ -76,6 +69,31 @@ public Page findAllTweet2TickerSymbol(Pageable pageRequest) { return tweetRepository.findAllTweet2TickerSymbol(pageRequest); } + @Override + public Page getHomeTimeline(Pageable pageRequest) { + return tweetRepository.getHomeTimeline(pageRequest); + } + + @Override + public Page getUserTimeline(Pageable pageRequest) { + return tweetRepository.getUserTimeline(pageRequest); + } + + @Override + public Page getMentions(Pageable pageRequest) { + return tweetRepository.getMentions(pageRequest); + } + + @Override + public Page getFavorites(Pageable pageRequest) { + return tweetRepository.getFavorites(pageRequest); + } + + @Override + public Page getRetweetsOfMe(Pageable pageRequest) { + return tweetRepository.getRetweetsOfMe(pageRequest); + } + @Override public Tweet findByIdTwitter(long idTwitter) { return tweetRepository.findByIdTwitter(idTwitter); diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserListServiceImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserListServiceImpl.java new file mode 100644 index 00000000..7c89d988 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserListServiceImpl.java @@ -0,0 +1,35 @@ +package org.woehlke.twitterwall.oodm.service.impl; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import org.woehlke.twitterwall.oodm.entities.UserList; +import org.woehlke.twitterwall.oodm.repositories.TaskRepository; +import org.woehlke.twitterwall.oodm.repositories.UserListRepository; +import org.woehlke.twitterwall.oodm.service.UserListService; + +@Service +@Transactional(propagation = Propagation.REQUIRED, readOnly = true) +public class UserListServiceImpl extends DomainServiceWithTaskImpl implements UserListService { + + private static final Logger log = LoggerFactory.getLogger(UserServiceImpl.class); + + private final UserListRepository domainRepository; + + private final TaskRepository taskRepository; + + @Autowired + public UserListServiceImpl(UserListRepository domainRepository, TaskRepository taskRepository) { + super(domainRepository, taskRepository); + this.domainRepository=domainRepository; + this.taskRepository=taskRepository; + } + + @Override + public UserList findByIdTwitter(long idTwitter) { + return domainRepository.findByIdTwitter(idTwitter); + } +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/AsyncStartTask.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/AsyncStartTask.java index e76b33a5..db33b0a6 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/AsyncStartTask.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/AsyncStartTask.java @@ -2,6 +2,7 @@ import org.woehlke.twitterwall.oodm.entities.Task; + public interface AsyncStartTask { Task updateTweets(); @@ -23,4 +24,16 @@ public interface AsyncStartTask { Task createTestDataForUser(); Task removeOldDataFromStorage(); + + Task getHomeTimeline(); + + Task getUserTimeline(); + + Task getMentions(); + + Task getFavorites(); + + Task getRetweetsOfMe(); + + Task getLists(); } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/AsyncStartTaskImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/AsyncStartTaskImpl.java index 641a80b5..0e35b5c7 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/AsyncStartTaskImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/AsyncStartTaskImpl.java @@ -80,6 +80,42 @@ public Task removeOldDataFromStorage() { return send(taskType); } + @Override + public Task getHomeTimeline() { + TaskType taskType = TaskType.FETCH_HOME_TIMELINE; + return send(taskType); + } + + @Override + public Task getUserTimeline() { + TaskType taskType = TaskType.FETCH_USER_TIMELINE; + return send(taskType); + } + + @Override + public Task getMentions() { + TaskType taskType = TaskType.FETCH_MENTIONS; + return send(taskType); + } + + @Override + public Task getFavorites() { + TaskType taskType = TaskType.FETCH_MENTIONS; + return send(taskType); + } + + @Override + public Task getRetweetsOfMe() { + TaskType taskType = TaskType.FETCH_RETWEETS_OF_ME; + return send(taskType); + } + + @Override + public Task getLists() { + TaskType taskType = TaskType.FETCH_LISTS; + return send(taskType); + } + private Task send(TaskType taskType){ SendType sendType = SendType.FIRE_AND_FORGET; String msg = "START Task "+taskType+" via MQ by "+sendType; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/StartTaskImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/StartTaskImpl.java index 6035c082..8c747ace 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/StartTaskImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/StartTaskImpl.java @@ -81,6 +81,67 @@ public Task removeOldDataFromStorage() { return sendAndReceiveTweet(taskType); } + @Override + public Task getHomeTimeline() { + TaskType taskType = TaskType.FETCH_HOME_TIMELINE; + return sendAndReceiveTweet(taskType); + } + + @Override + public Task getUserTimeline() { + TaskType taskType = TaskType.FETCH_USER_TIMELINE; + return sendAndReceiveTweet(taskType); + } + + @Override + public Task getMentions() { + TaskType taskType = TaskType.FETCH_MENTIONS; + return sendAndReceiveTweet(taskType); + } + + @Override + public Task getFavorites() { + TaskType taskType = TaskType.FETCH_FAVORITES; + return sendAndReceiveTweet(taskType); + } + + @Override + public Task getRetweetsOfMe() { + TaskType taskType = TaskType.FETCH_RETWEETS_OF_ME; + return sendAndReceiveTweet(taskType); + } + + @Override + public Task getLists() { + TaskType taskType = TaskType.FETCH_LISTS; + return sendAndReceiveUserList(taskType); + } + + private Task sendAndReceiveUserList(TaskType taskType){ + SendType sendType = SendType.SEND_AND_WAIT_FOR_RESULT; + String logMsg = "Start task "+taskType+"via MQ by "+sendType; + log.info(logMsg); + CountedEntities countedEntities = countedEntitiesService.countAll(); + Task task = taskService.create("Start via MQ by Scheduler ", taskType,sendType,countedEntities); + Message mqMessage = twitterwallMessageBuilder.buildTaskMessage(task); + MessagingTemplate mqTemplate = new MessagingTemplate(); + Message returnedMessage = mqTemplate.sendAndReceive(startTaskChannel, mqMessage); + Object o = returnedMessage.getPayload(); + countedEntities = countedEntitiesService.countAll(); + if( o instanceof TweetResultList){ + TweetResultList msg = (TweetResultList) o; + long taskId = msg.getTaskId(); + task = taskService.findById(taskId); + logMsg = "Sucessfully finished task "+taskType+"via MQ by "+sendType; + taskService.done(logMsg,task,countedEntities); + } else { + logMsg = "Finished with Error: task "+taskType+"via MQ by "+sendType+": Wrong type of returnedMessage"; + taskService.finalError(task,logMsg,countedEntities); + log.error(logMsg); + } + return task; + } + @Override public User createImprintUser() { TaskType taskType = TaskType.CONTROLLER_CREATE_IMPRINT_USER; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserListMessage.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserListMessage.java new file mode 100644 index 00000000..c861b656 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserListMessage.java @@ -0,0 +1,77 @@ +package org.woehlke.twitterwall.scheduled.mq.msg; + +import org.springframework.social.twitter.api.UserList; + +import java.io.Serializable; + +public class UserListMessage implements Serializable { + + private final TaskMessage taskMessage; + private final org.springframework.social.twitter.api.UserList userListTwitter; + private final org.woehlke.twitterwall.oodm.entities.UserList userList; + private final long idTwitter; + + public UserListMessage(TaskMessage taskMessage, UserList userListTwitter, long idTwitter) { + this.taskMessage = taskMessage; + this.userListTwitter = userListTwitter; + this.idTwitter = idTwitter; + this.userList = null; + } + + public UserListMessage(TaskMessage taskMessage, UserList userListTwitter, org.woehlke.twitterwall.oodm.entities.UserList userList, long idTwitter) { + this.taskMessage = taskMessage; + this.userListTwitter = userListTwitter; + this.userList = userList; + this.idTwitter = idTwitter; + } + + public TaskMessage getTaskMessage() { + return taskMessage; + } + + public UserList getUserListTwitter() { + return userListTwitter; + } + + public org.woehlke.twitterwall.oodm.entities.UserList getUserList() { + return userList; + } + + public long getIdTwitter() { + return idTwitter; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof UserListMessage)) return false; + + UserListMessage that = (UserListMessage) o; + + if (getIdTwitter() != that.getIdTwitter()) return false; + if (getTaskMessage() != null ? !getTaskMessage().equals(that.getTaskMessage()) : that.getTaskMessage() != null) + return false; + if (getUserListTwitter() != null ? !getUserListTwitter().equals(that.getUserListTwitter()) : that.getUserListTwitter() != null) + return false; + return getUserList() != null ? getUserList().equals(that.getUserList()) : that.getUserList() == null; + } + + @Override + public int hashCode() { + int result = getTaskMessage() != null ? getTaskMessage().hashCode() : 0; + result = 31 * result + (getUserListTwitter() != null ? getUserListTwitter().hashCode() : 0); + result = 31 * result + (getUserList() != null ? getUserList().hashCode() : 0); + result = 31 * result + (int) (getIdTwitter() ^ (getIdTwitter() >>> 32)); + return result; + } + + @Override + public String toString() { + return "UserListMessage{" + + "taskMessage=" + taskMessage + + ", userListTwitter=" + userListTwitter + + ", userList=" + userList + + ", idTwitter=" + idTwitter + + '}'; + } +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/remote/TwitterApiService.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/remote/TwitterApiService.java index c7908766..75097595 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/service/remote/TwitterApiService.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/remote/TwitterApiService.java @@ -3,6 +3,7 @@ import org.springframework.social.twitter.api.CursoredList; import org.springframework.social.twitter.api.Tweet; import org.springframework.social.twitter.api.TwitterProfile; +import org.springframework.social.twitter.api.UserList; import java.util.List; @@ -15,6 +16,16 @@ public interface TwitterApiService { Tweet findOneTweetById(long tweetTwitterId); + List getHomeTimeline(); + + List getUserTimeline(); + + List getMentions(); + + List getFavorites(); + + List getRetweetsOfMe(); + TwitterProfile getUserProfileForTwitterId(long userProfileTwitterId); TwitterProfile getUserProfileForScreenName(String screenName); @@ -24,4 +35,6 @@ public interface TwitterApiService { CursoredList getFollowerIds(); CursoredList getFriendIds(); + + List getLists(); } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/remote/impl/TwitterApiServiceImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/remote/impl/TwitterApiServiceImpl.java index 054b0bf7..b92bcb5c 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/service/remote/impl/TwitterApiServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/remote/impl/TwitterApiServiceImpl.java @@ -6,10 +6,7 @@ import org.springframework.core.env.Environment; import org.springframework.social.RateLimitExceededException; import org.springframework.social.ResourceNotFoundException; -import org.springframework.social.twitter.api.CursoredList; -import org.springframework.social.twitter.api.Tweet; -import org.springframework.social.twitter.api.Twitter; -import org.springframework.social.twitter.api.TwitterProfile; +import org.springframework.social.twitter.api.*; import org.springframework.social.twitter.api.impl.TwitterTemplate; import org.springframework.stereotype.Component; import org.woehlke.twitterwall.conf.properties.TwitterProperties; @@ -72,6 +69,156 @@ public Tweet findOneTweetById(long tweetTwitterId) { } } + @Override + public List getHomeTimeline() { + String msg = MSG+"getHomeTimeline: "; + log.debug(msg); + List fetchedTweets; + try { + fetchedTweets = getTwitterProxy().timelineOperations().getHomeTimeline(); + msg += " result: "; + if(fetchedTweets.size()==0){ + log.error(msg+" result.size: 0"); + return new ArrayList<>(); + } else { + log.debug(msg+" result.size: "+fetchedTweets.size()); + return fetchedTweets; + } + } catch (RateLimitExceededException e){ + log.warn(msg+" Rate Limit Exceeded : "); + waitForApi(); + return null; + } catch (Exception e) { + log.error(msg + e.getMessage()); + return new ArrayList<>(); + } + } + + @Override + public List getUserTimeline() { + String msg = MSG+"getUserTimeline: "; + log.debug(msg); + List fetchedTweets; + try { + fetchedTweets = getTwitterProxy().timelineOperations().getUserTimeline(); + msg += " result: "; + if(fetchedTweets.size()==0){ + log.error(msg+" result.size: 0"); + return new ArrayList<>(); + } else { + log.debug(msg+" result.size: "+fetchedTweets.size()); + return fetchedTweets; + } + } catch (RateLimitExceededException e){ + log.warn(msg+" Rate Limit Exceeded : "); + waitForApi(); + return null; + } catch (Exception e) { + log.error(msg + e.getMessage()); + return new ArrayList<>(); + } + } + + @Override + public List getMentions() { + String msg = MSG+"getMentions: "; + log.debug(msg); + List fetchedTweets; + try { + fetchedTweets = getTwitterProxy().timelineOperations().getMentions(); + msg += " result: "; + if(fetchedTweets.size()==0){ + log.error(msg+" result.size: 0"); + return new ArrayList<>(); + } else { + log.debug(msg+" result.size: "+fetchedTweets.size()); + return fetchedTweets; + } + } catch (RateLimitExceededException e){ + log.warn(msg+" Rate Limit Exceeded : "); + waitForApi(); + return null; + } catch (Exception e) { + log.error(msg + e.getMessage()); + return new ArrayList<>(); + } + } + + @Override + public List getFavorites() { + String msg = MSG+"getMentions: "; + log.debug(msg); + List fetchedTweets; + try { + fetchedTweets = getTwitterProxy().timelineOperations().getFavorites(); + msg += " result: "; + if(fetchedTweets.size()==0){ + log.error(msg+" result.size: 0"); + return new ArrayList<>(); + } else { + log.debug(msg+" result.size: "+fetchedTweets.size()); + return fetchedTweets; + } + } catch (RateLimitExceededException e){ + log.warn(msg+" Rate Limit Exceeded : "); + waitForApi(); + return null; + } catch (Exception e) { + log.error(msg + e.getMessage()); + return new ArrayList<>(); + } + } + + @Override + public List getRetweetsOfMe(){ + String msg = MSG+"getMentions: "; + log.debug(msg); + List fetchedTweets; + try { + fetchedTweets = getTwitterProxy().timelineOperations().getRetweetsOfMe(); + msg += " result: "; + if(fetchedTweets.size()==0){ + log.error(msg+" result.size: 0"); + return new ArrayList<>(); + } else { + log.debug(msg+" result.size: "+fetchedTweets.size()); + return fetchedTweets; + } + } catch (RateLimitExceededException e){ + log.warn(msg+" Rate Limit Exceeded : "); + waitForApi(); + return null; + } catch (Exception e) { + log.error(msg + e.getMessage()); + return new ArrayList<>(); + } + } + + @Override + public List getLists(){ + String msg = MSG+"getMentions: "; + log.debug(msg); + List fetchedUserLists; + try { + fetchedUserLists = getTwitterProxy().listOperations().getLists(); + msg += " result: "; + if(fetchedUserLists.size()==0){ + log.error(msg+" result.size: 0"); + return new ArrayList<>(); + } else { + log.debug(msg+" result.size: "+fetchedUserLists.size()); + return fetchedUserLists; + } + } catch (RateLimitExceededException e){ + log.warn(msg+" Rate Limit Exceeded : "); + waitForApi(); + return null; + } catch (Exception e) { + log.error(msg + e.getMessage()); + return new ArrayList<>(); + } + } + @Override public TwitterProfile getUserProfileForTwitterId(long userProfileTwitterId) { String msg = MSG+"getUserProfileForTwitterId: "+userProfileTwitterId+" : "; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/UserTransformServiceImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/UserTransformServiceImpl.java index 5c045a0e..8e50a4e0 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/UserTransformServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/UserTransformServiceImpl.java @@ -5,9 +5,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.social.twitter.api.TwitterProfile; import org.springframework.stereotype.Component; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.parts.Entities; import org.woehlke.twitterwall.oodm.entities.User; @@ -21,8 +18,6 @@ */ @Component -//@Service -//@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) public class UserTransformServiceImpl implements UserTransformService { private static final Logger log = LoggerFactory.getLogger(UserTransformServiceImpl.class); diff --git a/twitterwall2.iml b/twitterwall2.iml index bb0fb989..5aee46d4 100644 --- a/twitterwall2.iml +++ b/twitterwall2.iml @@ -2,24 +2,7 @@ - - - file://$MODULE_DIR$/src/main/resources/integration.xml - file://$MODULE_DIR$/src/main/java/org/woehlke/twitterwall/Application.java - file://$MODULE_DIR$/src/main/java/org/woehlke/twitterwall/conf/DataSourceConfig.java - file://$MODULE_DIR$/src/main/java/org/woehlke/twitterwall/conf/WebMvcConfig.java - file://$MODULE_DIR$/src/main/java/org/woehlke/twitterwall/conf/WebSecurityConfig.java - - - - - - - - - - - + @@ -34,13 +17,6 @@ - - - - - - - From df0b7889b2fad4e029951a268b7cd885441cc278 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Tue, 15 Aug 2017 23:34:18 +0200 Subject: [PATCH 05/21] new use cases --- .../controller/UserListController.java | 80 +++++++++++++++++++ .../oodm/repositories/UserListRepository.java | 2 + .../custom/impl/UserListRepositoryImpl.java | 2 + .../oodm/service/UserListService.java | 1 + .../service/impl/UserListServiceImpl.java | 3 + 5 files changed, 88 insertions(+) create mode 100644 src/main/java/org/woehlke/twitterwall/frontend/controller/UserListController.java diff --git a/src/main/java/org/woehlke/twitterwall/frontend/controller/UserListController.java b/src/main/java/org/woehlke/twitterwall/frontend/controller/UserListController.java new file mode 100644 index 00000000..38ee9a32 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/frontend/controller/UserListController.java @@ -0,0 +1,80 @@ +package org.woehlke.twitterwall.frontend.controller; + + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.PageRequest; +import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.Sort; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.woehlke.twitterwall.conf.properties.FrontendProperties; +import org.woehlke.twitterwall.frontend.controller.common.ControllerHelper; +import org.woehlke.twitterwall.frontend.controller.common.Symbols; +import org.woehlke.twitterwall.oodm.entities.UserList; +import org.woehlke.twitterwall.oodm.service.UserListService; + +@Controller +@RequestMapping("/userlist") +public class UserListController { + + private final static String PATH="userlist"; + + @RequestMapping("/all") + public String getAll( + @RequestParam(name= "page", defaultValue=""+ControllerHelper.FIRST_PAGE_NUMBER) int page, + Model model + ) { + Pageable pageRequest = new PageRequest( + page, + frontendProperties.getPageSize(), + Sort.Direction.ASC, + "screenName" + ); + model.addAttribute("users", userListService.getAll(pageRequest)); + String symbol = Symbols.USER_ALL.toString(); + String subtitle = "All Users"; + model = controllerHelper.setupPage(model, title, subtitle, symbol); + return "userlist/all"; + } + + @RequestMapping("/{id}") + public String getUserForId( + @RequestParam(name= "page", defaultValue=""+ControllerHelper.FIRST_PAGE_NUMBER) int page, + @PathVariable("id") UserList userList, Model model + ) { + Pageable pageRequest = new PageRequest( + page, + frontendProperties.getPageSize(), + Sort.Direction.DESC, + "createdAt" + ); + String symbol = Symbols.PROFILE.toString(); + String title = userList.getFullName(); + String subtitle = userList.getDescription(); + model = controllerHelper.setupPage(model, title, subtitle, symbol); + model.addAttribute("userList", userList); + return "userlist/id"; + } + + private static final Logger log = LoggerFactory.getLogger(UserController.class); + + private final UserListService userListService; + + private final FrontendProperties frontendProperties; + + private final ControllerHelper controllerHelper; + + private static String title = "User List"; + + @Autowired + public UserListController(UserListService userListService, FrontendProperties frontendProperties, ControllerHelper controllerHelper) { + this.userListService = userListService; + this.frontendProperties = frontendProperties; + this.controllerHelper = controllerHelper; + } +} diff --git a/src/main/java/org/woehlke/twitterwall/oodm/repositories/UserListRepository.java b/src/main/java/org/woehlke/twitterwall/oodm/repositories/UserListRepository.java index e45af413..52980975 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/repositories/UserListRepository.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/repositories/UserListRepository.java @@ -1,6 +1,8 @@ package org.woehlke.twitterwall.oodm.repositories; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; import org.woehlke.twitterwall.oodm.entities.UserList; import org.woehlke.twitterwall.oodm.repositories.common.DomainRepository; import org.woehlke.twitterwall.oodm.repositories.custom.UserListRepositoryCustom; diff --git a/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/impl/UserListRepositoryImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/impl/UserListRepositoryImpl.java index aa4c6af5..27ad04f5 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/impl/UserListRepositoryImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/impl/UserListRepositoryImpl.java @@ -1,6 +1,8 @@ package org.woehlke.twitterwall.oodm.repositories.custom.impl; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; import org.woehlke.twitterwall.oodm.entities.UserList; diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/UserListService.java b/src/main/java/org/woehlke/twitterwall/oodm/service/UserListService.java index 0016e4aa..9b554e1f 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/UserListService.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/UserListService.java @@ -4,4 +4,5 @@ import org.woehlke.twitterwall.oodm.service.common.DomainServiceWithIdTwitter; public interface UserListService extends DomainServiceWithIdTwitter { + } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserListServiceImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserListServiceImpl.java index 7c89d988..50d8ebea 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserListServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserListServiceImpl.java @@ -3,6 +3,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -32,4 +34,5 @@ public UserListServiceImpl(UserListRepository domainRepository, TaskRepository t public UserList findByIdTwitter(long idTwitter) { return domainRepository.findByIdTwitter(idTwitter); } + } From 363bd126d7abc7c9fff08fe5f59c2954dd4b82f7 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Wed, 16 Aug 2017 00:18:36 +0200 Subject: [PATCH 06/21] new use cases --- .../woehlke/twitterwall/ScheduledTasks.java | 66 ++++++++++++++++ .../frontend/controller/TaskController.java | 76 ++++++++++++++++--- .../templates/application/management.html | 25 ++++++ src/main/resources/templates/layoutMain.html | 37 +++++++++ .../resources/templates/userlist/all.html | 0 src/main/resources/templates/userlist/id.html | 0 6 files changed, 195 insertions(+), 9 deletions(-) create mode 100644 src/main/resources/templates/userlist/all.html create mode 100644 src/main/resources/templates/userlist/id.html diff --git a/src/main/java/org/woehlke/twitterwall/ScheduledTasks.java b/src/main/java/org/woehlke/twitterwall/ScheduledTasks.java index 903b4548..e911fab4 100644 --- a/src/main/java/org/woehlke/twitterwall/ScheduledTasks.java +++ b/src/main/java/org/woehlke/twitterwall/ScheduledTasks.java @@ -87,6 +87,60 @@ public void updateUserProfiles() { } } + @Scheduled(initialDelay= TEN_SECONDS *9, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_HOME_TIMELINE) + public void getHomeTimeline() { + String msg = "get Home Timeline Tweets "; + if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) { + Task task = asyncStartTask.getHomeTimeline(); + log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); + } + } + + @Scheduled(initialDelay= TEN_SECONDS *10, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_USER_TIMELINE) + public void getUserTimeline() { + String msg = " get User Timeline Tweets "; + if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) { + Task task = asyncStartTask.getUserTimeline(); + log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); + } + } + + @Scheduled(initialDelay= TEN_SECONDS *11, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_MENTIONS) + public void getMentions() { + String msg = " get Mentions "; + if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) { + Task task = asyncStartTask.getMentions(); + log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); + } + } + + @Scheduled(initialDelay= TEN_SECONDS *12, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_FAVORITES) + public void getFavorites() { + String msg = " get Favorites "; + if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) { + Task task = asyncStartTask.getFavorites(); + log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); + } + } + + @Scheduled(initialDelay= TEN_SECONDS *13, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_RETWEETS_OF_ME) + public void getRetweetsOfMe() { + String msg = " get Retweets Of Me "; + if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) { + Task task = asyncStartTask.getRetweetsOfMe(); + log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); + } + } + + @Scheduled(initialDelay= TEN_SECONDS *14, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_USER_LISTS) + public void getLists() { + String msg = " get Lists "; + if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) { + Task task = asyncStartTask.getLists(); + log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); + } + } + @Autowired public ScheduledTasks(SchedulerProperties schedulerProperties, AsyncStartTask mqAsyncStartTask) { this.schedulerProperties = schedulerProperties; @@ -113,6 +167,18 @@ public ScheduledTasks(SchedulerProperties schedulerProperties, AsyncStartTask mq private final static long FIXED_RATE_FOR_SCHEDULAR_UPDATE_USER_BY_MENTION = ONE_HOUR; + private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_USER_LISTS = TWELVE_HOURS; + + private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_FAVORITES = TWELVE_HOURS; + + private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_RETWEETS_OF_ME = TWELVE_HOURS; + + private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_MENTIONS = TWELVE_HOURS; + + private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_USER_TIMELINE = TWELVE_HOURS; + + private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_HOME_TIMELINE = TWELVE_HOURS; + private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_USER_LIST = TWELVE_HOURS; private final static long FIXED_RATE_FOR_SCHEDULAR_REMOVE_OLD_DATA_FROM_STORAGE = ONE_HOUR; diff --git a/src/main/java/org/woehlke/twitterwall/frontend/controller/TaskController.java b/src/main/java/org/woehlke/twitterwall/frontend/controller/TaskController.java index f353927a..d4ad703d 100644 --- a/src/main/java/org/woehlke/twitterwall/frontend/controller/TaskController.java +++ b/src/main/java/org/woehlke/twitterwall/frontend/controller/TaskController.java @@ -18,15 +18,12 @@ import org.woehlke.twitterwall.frontend.controller.common.ControllerHelper; import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.TaskHistory; -import org.woehlke.twitterwall.oodm.entities.Tweet; import org.woehlke.twitterwall.oodm.entities.User; import org.woehlke.twitterwall.oodm.service.TaskHistoryService; import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.oodm.service.UserService; import org.woehlke.twitterwall.scheduled.mq.endpoint.AsyncStartTask; -import org.woehlke.twitterwall.scheduled.mq.endpoint.StartTask; -import java.util.List; /** * Created by tw on 11.07.17. @@ -183,18 +180,79 @@ public String updateUserProfilesFromMentionsStartTask(Model model){ return PATH+"/start/taskStarted"; } - @RequestMapping(path="/start/users/update") - public String updateUserProfilesStartTask(Model model) { - String msg = "/start/users/update"; - String title = "Scheduled Task started: update Users"; - String subtitle = "/start/users/update"; + @RequestMapping(path="/start/tweets/timeline/home") + public String getHomeTimeline(Model model) { + String msg = "/start/tweets/timeline/home"; + String title = "Scheduled Task started: getHomeTimeline"; + String subtitle = "/start/tweets/timeline/home"; String symbol = Symbols.TASK.toString(); model = controllerHelper.setupPage(model,title,subtitle,symbol); - Task task = mqAsyncStartTask.updateUsers(); + Task task = mqAsyncStartTask.getHomeTimeline(); model.addAttribute("task",task); return PATH+"/start/taskStarted"; } + @RequestMapping(path="/start/tweets/timeline/user") + public String getUserTimeline(Model model) { + String msg = "/start/tweets/timeline/user"; + String title = "Scheduled Task started: getUserTimeline"; + String subtitle = "/start/tweets/timeline/user"; + String symbol = Symbols.TASK.toString(); + model = controllerHelper.setupPage(model,title,subtitle,symbol); + Task task = mqAsyncStartTask.getUserTimeline(); + model.addAttribute("task",task); + return PATH+"/start/taskStarted"; + } + + @RequestMapping(path="/start/tweets/mentions") + public String getMentions(Model model) { + String msg = "/start/tweets/mentions"; + String title = "Scheduled Task started: getMentions"; + String subtitle = "/start/tweets/mentions"; + String symbol = Symbols.TASK.toString(); + model = controllerHelper.setupPage(model,title,subtitle,symbol); + Task task = mqAsyncStartTask.getMentions(); + model.addAttribute("task",task); + return PATH+"/start/taskStarted"; + } + + @RequestMapping(path="/start/tweets/favorites") + public String getFavorites(Model model) { + String msg = "/start/tweets/favorites"; + String title = "Scheduled Task started: getFavorites"; + String subtitle = "/start/tweets/favorites"; + String symbol = Symbols.TASK.toString(); + model = controllerHelper.setupPage(model,title,subtitle,symbol); + Task task = mqAsyncStartTask.getFavorites(); + model.addAttribute("task",task); + return PATH+"/start/taskStarted"; + } + + @RequestMapping(path="/start/tweets/myretweets") + public String getRetweetsOfMe(Model model) { + String msg = "/start/tweets/myretweets"; + String title = "Scheduled Task started: getRetweetsOfMe"; + String subtitle = "/start/tweets/myretweets"; + String symbol = Symbols.TASK.toString(); + model = controllerHelper.setupPage(model,title,subtitle,symbol); + Task task = mqAsyncStartTask.getRetweetsOfMe(); + model.addAttribute("task",task); + return PATH+"/start/taskStarted"; + } + + @RequestMapping(path="/start/userlists") + public String getLists(Model model) { + String msg = "/start/userlists"; + String title = "Scheduled Task started: getLists"; + String subtitle = "/start/userlists"; + String symbol = Symbols.TASK.toString(); + model = controllerHelper.setupPage(model,title,subtitle,symbol); + Task task = mqAsyncStartTask.getLists(); + model.addAttribute("task",task); + return PATH+"/start/taskStarted"; + } + + private static final Logger log = LoggerFactory.getLogger(TaskController.class); private final String PATH = "task"; diff --git a/src/main/resources/templates/application/management.html b/src/main/resources/templates/application/management.html index 9d4100b0..32510c3f 100644 --- a/src/main/resources/templates/application/management.html +++ b/src/main/resources/templates/application/management.html @@ -65,6 +65,31 @@

Your Options:

Start Task: update Users + + + + Start Task: getHomeTimeline + + + + Start Task: getUserTimeline + + + + Start Task: getMentions + + + + Start Task: getFavorites + + + + Start Task: getRetweetsOfMe + + + + Start Task: getLists + diff --git a/src/main/resources/templates/layoutMain.html b/src/main/resources/templates/layoutMain.html index 8eb15e46..07a95a29 100644 --- a/src/main/resources/templates/layoutMain.html +++ b/src/main/resources/templates/layoutMain.html @@ -137,6 +137,43 @@ +
  • + + + Start Task: getHomeTimeline + +
  • +
  • + + + Start Task: getUserTimeline + +
  • +
  • + + + Start Task: getMentions + +
  • +
  • + + + Start Task: getFavorites + +
  • +
  • + + + Start Task: getRetweetsOfMe + +
  • +
  • + + + Start Task: getLists + +
  • +
  • diff --git a/src/main/resources/templates/userlist/all.html b/src/main/resources/templates/userlist/all.html new file mode 100644 index 00000000..e69de29b diff --git a/src/main/resources/templates/userlist/id.html b/src/main/resources/templates/userlist/id.html new file mode 100644 index 00000000..e69de29b From d42f17bd9e1fe3f6a92d8c8fc7b4f00f4eae2e82 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Wed, 16 Aug 2017 00:48:31 +0200 Subject: [PATCH 07/21] added use cases --- .../woehlke/twitterwall/ScheduledTasks.java | 12 ++-- .../conf/properties/SchedulerProperties.java | 66 +++++++++++++++++++ src/main/resources/application.yml | 6 ++ src/test/resources/application-test.yml | 6 ++ 4 files changed, 84 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/woehlke/twitterwall/ScheduledTasks.java b/src/main/java/org/woehlke/twitterwall/ScheduledTasks.java index e911fab4..5c817b5f 100644 --- a/src/main/java/org/woehlke/twitterwall/ScheduledTasks.java +++ b/src/main/java/org/woehlke/twitterwall/ScheduledTasks.java @@ -90,7 +90,7 @@ public void updateUserProfiles() { @Scheduled(initialDelay= TEN_SECONDS *9, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_HOME_TIMELINE) public void getHomeTimeline() { String msg = "get Home Timeline Tweets "; - if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) { + if((schedulerProperties.getAllowGetHomeTimeline()) && (!schedulerProperties.getSkipFortesting())) { Task task = asyncStartTask.getHomeTimeline(); log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); } @@ -99,7 +99,7 @@ public void getHomeTimeline() { @Scheduled(initialDelay= TEN_SECONDS *10, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_USER_TIMELINE) public void getUserTimeline() { String msg = " get User Timeline Tweets "; - if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) { + if((schedulerProperties.getAllowGetUserTimeline()) && (!schedulerProperties.getSkipFortesting())) { Task task = asyncStartTask.getUserTimeline(); log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); } @@ -108,7 +108,7 @@ public void getUserTimeline() { @Scheduled(initialDelay= TEN_SECONDS *11, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_MENTIONS) public void getMentions() { String msg = " get Mentions "; - if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) { + if((schedulerProperties.getAllowGetMentions()) && (!schedulerProperties.getSkipFortesting())) { Task task = asyncStartTask.getMentions(); log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); } @@ -117,7 +117,7 @@ public void getMentions() { @Scheduled(initialDelay= TEN_SECONDS *12, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_FAVORITES) public void getFavorites() { String msg = " get Favorites "; - if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) { + if((schedulerProperties.getAllowGetFavorites()) && (!schedulerProperties.getSkipFortesting())) { Task task = asyncStartTask.getFavorites(); log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); } @@ -126,7 +126,7 @@ public void getFavorites() { @Scheduled(initialDelay= TEN_SECONDS *13, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_RETWEETS_OF_ME) public void getRetweetsOfMe() { String msg = " get Retweets Of Me "; - if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) { + if((schedulerProperties.getAllowGetRetweetsOfMe()) && (!schedulerProperties.getSkipFortesting())) { Task task = asyncStartTask.getRetweetsOfMe(); log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); } @@ -135,7 +135,7 @@ public void getRetweetsOfMe() { @Scheduled(initialDelay= TEN_SECONDS *14, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_USER_LISTS) public void getLists() { String msg = " get Lists "; - if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) { + if((schedulerProperties.getAllowGetLists()) && (!schedulerProperties.getSkipFortesting())) { Task task = asyncStartTask.getLists(); log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); } diff --git a/src/main/java/org/woehlke/twitterwall/conf/properties/SchedulerProperties.java b/src/main/java/org/woehlke/twitterwall/conf/properties/SchedulerProperties.java index 8846d73a..4fae6f40 100644 --- a/src/main/java/org/woehlke/twitterwall/conf/properties/SchedulerProperties.java +++ b/src/main/java/org/woehlke/twitterwall/conf/properties/SchedulerProperties.java @@ -45,6 +45,24 @@ public class SchedulerProperties { @NotNull private Boolean fetchFriendsAllow; + @NotNull + private Boolean allowGetHomeTimeline; + + @NotNull + private Boolean allowGetUserTimeline; + + @NotNull + private Boolean allowGetMentions; + + @NotNull + private Boolean allowGetFavorites; + + @NotNull + private Boolean allowGetRetweetsOfMe; + + @NotNull + private Boolean allowGetLists; + public Boolean getAllowFetchTweetsFromTwitterSearch() { return allowFetchTweetsFromTwitterSearch; } @@ -132,4 +150,52 @@ public void setFetchFriendsAllow(Boolean fetchFriendsAllow) { public Boolean getFetchFriendsAllow() { return fetchFriendsAllow; } + + public Boolean getAllowGetHomeTimeline() { + return allowGetHomeTimeline; + } + + public void setAllowGetHomeTimeline(Boolean allowGetHomeTimeline) { + this.allowGetHomeTimeline = allowGetHomeTimeline; + } + + public Boolean getAllowGetUserTimeline() { + return allowGetUserTimeline; + } + + public void setAllowGetUserTimeline(Boolean allowGetUserTimeline) { + this.allowGetUserTimeline = allowGetUserTimeline; + } + + public Boolean getAllowGetMentions() { + return allowGetMentions; + } + + public void setAllowGetMentions(Boolean allowGetMentions) { + this.allowGetMentions = allowGetMentions; + } + + public Boolean getAllowGetFavorites() { + return allowGetFavorites; + } + + public void setAllowGetFavorites(Boolean allowGetFavorites) { + this.allowGetFavorites = allowGetFavorites; + } + + public Boolean getAllowGetRetweetsOfMe() { + return allowGetRetweetsOfMe; + } + + public void setAllowGetRetweetsOfMe(Boolean allowGetRetweetsOfMe) { + this.allowGetRetweetsOfMe = allowGetRetweetsOfMe; + } + + public Boolean getAllowGetLists() { + return allowGetLists; + } + + public void setAllowGetLists(Boolean allowGetLists) { + this.allowGetLists = allowGetLists; + } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index c9333e34..78cb7990 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -125,6 +125,12 @@ twitterwall: allowUpdateUserProfiles: false herokuDbRowsLimit: false removeOldDataFromStorageAllow: false + allowGetHomeTimeline: false + allowGetUserTimeline: false + allowGetMentions: false + allowGetFavorites: false + allowGetRetweetsOfMe: false + allowGetLists: false skipFortesting: false testdata: oodm: diff --git a/src/test/resources/application-test.yml b/src/test/resources/application-test.yml index 07442754..4e6e2024 100644 --- a/src/test/resources/application-test.yml +++ b/src/test/resources/application-test.yml @@ -43,4 +43,10 @@ twitterwall: removeOldDataFromStorageAllow: true fetchFollowerAllow: true fetchFriendsAllow: true + allowGetHomeTimeline: true + allowGetUserTimeline: true + allowGetMentions: true + allowGetFavorites: true + allowGetRetweetsOfMe: true + allowGetLists: true skipFortesting: true \ No newline at end of file From 8d3cdb268be63e604e44add3bf183c624ae9b917 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Wed, 16 Aug 2017 07:24:54 +0200 Subject: [PATCH 08/21] added use cases --- .../mq/endpoint/impl/AsyncStartTaskImpl.java | 2 +- .../CreateTestDataTweetsSplitter.java | 2 +- .../FetchTweetsFromSearchSplitter.java | 2 +- .../FindTweetsToRemoveSplitter.java | 2 +- .../endpoint/{ => tweets}/TweetFinisher.java | 2 +- .../endpoint/{ => tweets}/TweetPersistor.java | 2 +- .../{ => tweets}/TweetTransformator.java | 2 +- .../{ => tweets}/UpdateTweetsSplitter.java | 2 +- .../CreateTestDataTweetsSplitterImpl.java | 4 +- .../FetchTweetsFromSearchSplitterImpl.java | 4 +- .../impl/FindTweetsToRemoveSplitterImpl.java | 4 +- .../{ => tweets}/impl/TweetFinisherImpl.java | 5 +- .../{ => tweets}/impl/TweetPersistorImpl.java | 4 +- .../impl/TweetTransformatorImpl.java | 4 +- .../impl/UpdateTweetsSplitterImpl.java | 4 +- .../{ => users}/CreateImprintUser.java | 2 +- .../CreateTestDataUsersSplitter.java | 2 +- .../{ => users}/FetchFollowerSplitter.java | 2 +- .../{ => users}/FetchFriendsSplitter.java | 2 +- .../FetchUsersFromListSplitter.java | 2 +- .../UpdateUsersFromMentionsSplitter.java | 2 +- .../{ => users}/UpdateUsersSplitter.java | 2 +- .../{ => users}/UserCheckStorage.java | 2 +- .../mq/endpoint/{ => users}/UserFinisher.java | 2 +- .../endpoint/{ => users}/UserPersistor.java | 2 +- .../{ => users}/UserTransformator.java | 2 +- .../impl/CreateImprintUserImpl.java | 4 +- .../impl/CreateTestDataUsersSplitterImpl.java | 4 +- .../impl/FetchFollowerSplitterImpl.java | 4 +- .../impl/FetchFriendsSplitterImpl.java | 4 +- .../impl/FetchUsersFromListSplitterImpl.java | 4 +- .../UpdateUsersFromMentionsSplitterImpl.java | 4 +- .../impl/UpdateUsersSplitterImpl.java | 4 +- .../impl/UserCheckStorageImpl.java | 4 +- .../{ => users}/impl/UserFinisherImpl.java | 4 +- .../{ => users}/impl/UserPersistorImpl.java | 4 +- .../impl/UserTransformatorImpl.java | 4 +- src/main/resources/integration.xml | 369 ++++++++++++++++++ 38 files changed, 425 insertions(+), 55 deletions(-) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => tweets}/CreateTestDataTweetsSplitter.java (71%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => tweets}/FetchTweetsFromSearchSplitter.java (71%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => tweets}/FindTweetsToRemoveSplitter.java (70%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => tweets}/TweetFinisher.java (86%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => tweets}/TweetPersistor.java (78%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => tweets}/TweetTransformator.java (78%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => tweets}/UpdateTweetsSplitter.java (69%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => tweets}/impl/CreateTestDataTweetsSplitterImpl.java (96%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => tweets}/impl/FetchTweetsFromSearchSplitterImpl.java (94%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => tweets}/impl/FindTweetsToRemoveSplitterImpl.java (94%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => tweets}/impl/TweetFinisherImpl.java (92%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => tweets}/impl/TweetPersistorImpl.java (92%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => tweets}/impl/TweetTransformatorImpl.java (93%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => tweets}/impl/UpdateTweetsSplitterImpl.java (96%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/CreateImprintUser.java (82%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/CreateTestDataUsersSplitter.java (70%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/FetchFollowerSplitter.java (69%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/FetchFriendsSplitter.java (69%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/FetchUsersFromListSplitter.java (70%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/UpdateUsersFromMentionsSplitter.java (71%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/UpdateUsersSplitter.java (69%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/UserCheckStorage.java (78%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/UserFinisher.java (86%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/UserPersistor.java (78%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/UserTransformator.java (78%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/impl/CreateImprintUserImpl.java (95%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/impl/CreateTestDataUsersSplitterImpl.java (96%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/impl/FetchFollowerSplitterImpl.java (94%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/impl/FetchFriendsSplitterImpl.java (94%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/impl/FetchUsersFromListSplitterImpl.java (95%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/impl/UpdateUsersFromMentionsSplitterImpl.java (97%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/impl/UpdateUsersSplitterImpl.java (97%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/impl/UserCheckStorageImpl.java (93%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/impl/UserFinisherImpl.java (95%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/impl/UserPersistorImpl.java (93%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/{ => users}/impl/UserTransformatorImpl.java (93%) diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/AsyncStartTaskImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/AsyncStartTaskImpl.java index 0e35b5c7..955aece5 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/AsyncStartTaskImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/AsyncStartTaskImpl.java @@ -100,7 +100,7 @@ public Task getMentions() { @Override public Task getFavorites() { - TaskType taskType = TaskType.FETCH_MENTIONS; + TaskType taskType = TaskType.FETCH_FAVORITES; return send(taskType); } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/CreateTestDataTweetsSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/CreateTestDataTweetsSplitter.java similarity index 71% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/CreateTestDataTweetsSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/CreateTestDataTweetsSplitter.java index 20915ca7..89356b0b 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/CreateTestDataTweetsSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/CreateTestDataTweetsSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/FetchTweetsFromSearchSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FetchTweetsFromSearchSplitter.java similarity index 71% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/FetchTweetsFromSearchSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FetchTweetsFromSearchSplitter.java index 3491448e..9ab13427 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/FetchTweetsFromSearchSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FetchTweetsFromSearchSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/FindTweetsToRemoveSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FindTweetsToRemoveSplitter.java similarity index 70% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/FindTweetsToRemoveSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FindTweetsToRemoveSplitter.java index 513c9623..1593cb93 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/FindTweetsToRemoveSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FindTweetsToRemoveSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/TweetFinisher.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetFinisher.java similarity index 86% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/TweetFinisher.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetFinisher.java index 6a4a9f5e..32a93a91 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/TweetFinisher.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetFinisher.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/TweetPersistor.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetPersistor.java similarity index 78% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/TweetPersistor.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetPersistor.java index 71f2b759..b10d9f07 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/TweetPersistor.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetPersistor.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/TweetTransformator.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetTransformator.java similarity index 78% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/TweetTransformator.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetTransformator.java index f7e01455..4bd44546 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/TweetTransformator.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetTransformator.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UpdateTweetsSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/UpdateTweetsSplitter.java similarity index 69% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UpdateTweetsSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/UpdateTweetsSplitter.java index 690ed6c3..ae86105a 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UpdateTweetsSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/UpdateTweetsSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/CreateTestDataTweetsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/CreateTestDataTweetsSplitterImpl.java similarity index 96% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/CreateTestDataTweetsSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/CreateTestDataTweetsSplitterImpl.java index 15c7e17a..2f08b7a7 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/CreateTestDataTweetsSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/CreateTestDataTweetsSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; @@ -9,7 +9,7 @@ import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.oodm.service.TweetService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.CreateTestDataTweetsSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.CreateTestDataTweetsSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/FetchTweetsFromSearchSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FetchTweetsFromSearchSplitterImpl.java similarity index 94% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/FetchTweetsFromSearchSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FetchTweetsFromSearchSplitterImpl.java index d765b4b0..ec5d12ba 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/FetchTweetsFromSearchSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FetchTweetsFromSearchSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; @@ -7,7 +7,7 @@ import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.TaskService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.FetchTweetsFromSearchSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.FetchTweetsFromSearchSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/FindTweetsToRemoveSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FindTweetsToRemoveSplitterImpl.java similarity index 94% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/FindTweetsToRemoveSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FindTweetsToRemoveSplitterImpl.java index 5c852a00..e431cc69 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/FindTweetsToRemoveSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FindTweetsToRemoveSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; @@ -12,7 +12,7 @@ import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.oodm.service.TweetService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.FindTweetsToRemoveSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.FindTweetsToRemoveSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/TweetFinisherImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetFinisherImpl.java similarity index 92% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/TweetFinisherImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetFinisherImpl.java index fcff96f4..d0747bd2 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/TweetFinisherImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetFinisherImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -10,7 +10,8 @@ import org.woehlke.twitterwall.oodm.entities.Tweet; import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.TaskService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.TweetFinisher; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl.UserFinisherImpl; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.TweetFinisher; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetResultList; import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/TweetPersistorImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetPersistorImpl.java similarity index 92% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/TweetPersistorImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetPersistorImpl.java index 493289ab..1d2a7ecd 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/TweetPersistorImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetPersistorImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.support.MessageBuilder; @@ -7,7 +7,7 @@ import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.Tweet; import org.woehlke.twitterwall.oodm.service.TaskService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.TweetPersistor; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.TweetPersistor; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; import org.woehlke.twitterwall.scheduled.service.persist.StoreOneTweetPerform; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/TweetTransformatorImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetTransformatorImpl.java similarity index 93% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/TweetTransformatorImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetTransformatorImpl.java index a0f138e6..fa930995 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/TweetTransformatorImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetTransformatorImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.support.MessageBuilder; @@ -7,7 +7,7 @@ import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.Tweet; import org.woehlke.twitterwall.oodm.service.TaskService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.TweetTransformator; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.TweetTransformator; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; import org.woehlke.twitterwall.scheduled.service.transform.TweetTransformService; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UpdateTweetsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/UpdateTweetsSplitterImpl.java similarity index 96% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UpdateTweetsSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/UpdateTweetsSplitterImpl.java index ba615825..f5cbd731 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UpdateTweetsSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/UpdateTweetsSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -13,7 +13,7 @@ import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.oodm.service.TweetService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.UpdateTweetsSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.UpdateTweetsSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/CreateImprintUser.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/CreateImprintUser.java similarity index 82% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/CreateImprintUser.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/CreateImprintUser.java index a5175c7d..3954d876 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/CreateImprintUser.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/CreateImprintUser.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/CreateTestDataUsersSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/CreateTestDataUsersSplitter.java similarity index 70% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/CreateTestDataUsersSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/CreateTestDataUsersSplitter.java index 6f39015d..a1a5eee0 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/CreateTestDataUsersSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/CreateTestDataUsersSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.UserSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/FetchFollowerSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchFollowerSplitter.java similarity index 69% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/FetchFollowerSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchFollowerSplitter.java index 2503d01c..094c7736 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/FetchFollowerSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchFollowerSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.UserSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/FetchFriendsSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchFriendsSplitter.java similarity index 69% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/FetchFriendsSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchFriendsSplitter.java index cba70478..f94b4050 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/FetchFriendsSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchFriendsSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.UserSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/FetchUsersFromListSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchUsersFromListSplitter.java similarity index 70% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/FetchUsersFromListSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchUsersFromListSplitter.java index 00b41172..2c54e904 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/FetchUsersFromListSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchUsersFromListSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.UserSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UpdateUsersFromMentionsSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UpdateUsersFromMentionsSplitter.java similarity index 71% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UpdateUsersFromMentionsSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UpdateUsersFromMentionsSplitter.java index 3e21fadd..41d7fab6 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UpdateUsersFromMentionsSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UpdateUsersFromMentionsSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.UserSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UpdateUsersSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UpdateUsersSplitter.java similarity index 69% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UpdateUsersSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UpdateUsersSplitter.java index 75009005..3e1166be 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UpdateUsersSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UpdateUsersSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.UserSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UserCheckStorage.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserCheckStorage.java similarity index 78% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UserCheckStorage.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserCheckStorage.java index ace44436..5a8bc922 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UserCheckStorage.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserCheckStorage.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UserFinisher.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserFinisher.java similarity index 86% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UserFinisher.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserFinisher.java index 77b95e96..851fe02f 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UserFinisher.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserFinisher.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UserPersistor.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserPersistor.java similarity index 78% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UserPersistor.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserPersistor.java index 76db2aa9..6d16730d 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UserPersistor.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserPersistor.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UserTransformator.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserTransformator.java similarity index 78% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UserTransformator.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserTransformator.java index b9886494..d141cb3b 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/UserTransformator.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserTransformator.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/CreateImprintUserImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/CreateImprintUserImpl.java similarity index 95% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/CreateImprintUserImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/CreateImprintUserImpl.java index 86c9086e..012b39d9 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/CreateImprintUserImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/CreateImprintUserImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; @@ -7,7 +7,7 @@ import org.woehlke.twitterwall.conf.properties.FrontendProperties; import org.woehlke.twitterwall.oodm.entities.User; import org.woehlke.twitterwall.oodm.service.UserService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.CreateImprintUser; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.CreateImprintUser; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/CreateTestDataUsersSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/CreateTestDataUsersSplitterImpl.java similarity index 96% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/CreateTestDataUsersSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/CreateTestDataUsersSplitterImpl.java index 0cfe7d72..0fba2f8d 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/CreateTestDataUsersSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/CreateTestDataUsersSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; import org.springframework.messaging.Message; import org.springframework.social.twitter.api.TwitterProfile; @@ -9,7 +9,7 @@ import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.oodm.service.UserService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.CreateTestDataUsersSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.CreateTestDataUsersSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/FetchFollowerSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchFollowerSplitterImpl.java similarity index 94% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/FetchFollowerSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchFollowerSplitterImpl.java index df88783f..75718258 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/FetchFollowerSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchFollowerSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; @@ -8,7 +8,7 @@ import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; import org.woehlke.twitterwall.oodm.service.TaskService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.FetchFollowerSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.FetchFollowerSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/FetchFriendsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchFriendsSplitterImpl.java similarity index 94% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/FetchFriendsSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchFriendsSplitterImpl.java index e14ccc66..b930eef2 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/FetchFriendsSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchFriendsSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; @@ -8,7 +8,7 @@ import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; import org.woehlke.twitterwall.oodm.service.TaskService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.FetchFriendsSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.FetchFriendsSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/FetchUsersFromListSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchUsersFromListSplitterImpl.java similarity index 95% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/FetchUsersFromListSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchUsersFromListSplitterImpl.java index c1ad0ebe..1eab33ee 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/FetchUsersFromListSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchUsersFromListSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; import org.springframework.messaging.Message; import org.springframework.social.twitter.api.TwitterProfile; @@ -8,7 +8,7 @@ import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.TaskService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.FetchUsersFromListSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.FetchUsersFromListSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UpdateUsersFromMentionsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UpdateUsersFromMentionsSplitterImpl.java similarity index 97% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UpdateUsersFromMentionsSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UpdateUsersFromMentionsSplitterImpl.java index e076010f..311abdb7 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UpdateUsersFromMentionsSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UpdateUsersFromMentionsSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -16,7 +16,7 @@ import org.woehlke.twitterwall.oodm.service.MentionService; import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.oodm.service.UserService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.UpdateUsersFromMentionsSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.UpdateUsersFromMentionsSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UpdateUsersSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UpdateUsersSplitterImpl.java similarity index 97% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UpdateUsersSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UpdateUsersSplitterImpl.java index f11ba901..492def49 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UpdateUsersSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UpdateUsersSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -17,7 +17,7 @@ import org.woehlke.twitterwall.oodm.entities.parts.TaskType; import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.oodm.service.UserService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.UpdateUsersSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.UpdateUsersSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UserCheckStorageImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserCheckStorageImpl.java similarity index 93% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UserCheckStorageImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserCheckStorageImpl.java index 0d0ba5bf..f54d1898 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UserCheckStorageImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserCheckStorageImpl.java @@ -1,11 +1,11 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; import org.springframework.social.twitter.api.TwitterProfile; import org.springframework.stereotype.Component; import org.woehlke.twitterwall.oodm.service.UserService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.UserCheckStorage; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.UserCheckStorage; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; import org.woehlke.twitterwall.scheduled.service.remote.TwitterApiService; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UserFinisherImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserFinisherImpl.java similarity index 95% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UserFinisherImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserFinisherImpl.java index 96117bd8..ebd34f7a 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UserFinisherImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserFinisherImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -10,7 +10,7 @@ import org.woehlke.twitterwall.oodm.entities.User; import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.TaskService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.UserFinisher; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.UserFinisher; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserResultList; import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UserPersistorImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserPersistorImpl.java similarity index 93% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UserPersistorImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserPersistorImpl.java index 6c155fa3..7c581740 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UserPersistorImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserPersistorImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.support.MessageBuilder; @@ -9,7 +9,7 @@ import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; import org.woehlke.twitterwall.scheduled.service.persist.StoreUserProcess; -import org.woehlke.twitterwall.scheduled.mq.endpoint.UserPersistor; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.UserPersistor; @Component("mqUserPersistor") public class UserPersistorImpl implements UserPersistor { diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UserTransformatorImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserTransformatorImpl.java similarity index 93% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UserTransformatorImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserTransformatorImpl.java index ff9f0087..d860b750 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/UserTransformatorImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserTransformatorImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.support.MessageBuilder; @@ -8,7 +8,7 @@ import org.woehlke.twitterwall.oodm.entities.User; import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.scheduled.service.transform.UserTransformService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.UserTransformator; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.UserTransformator; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; @Component("mqUserTransformator") diff --git a/src/main/resources/integration.xml b/src/main/resources/integration.xml index 075255fe..af9639d3 100644 --- a/src/main/resources/integration.xml +++ b/src/main/resources/integration.xml @@ -97,6 +97,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -109,8 +147,154 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -438,6 +667,146 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Date: Wed, 16 Aug 2017 08:11:40 +0200 Subject: [PATCH 09/21] added use cases --- .../mq/endpoint/common/UserListsSplitter.java | 12 ++++++++++ .../mq/endpoint/tweets/FavoritesSplitter.java | 6 +++++ .../endpoint/tweets/HomeTimelineSplitter.java | 6 +++++ .../mq/endpoint/tweets/MentionsSplitter.java | 6 +++++ .../endpoint/tweets/RetweetsOfMeSplitter.java | 6 +++++ .../endpoint/tweets/UserTimelineSplitter.java | 6 +++++ .../tweets/impl/FavoritesSplitterImpl.java | 17 ++++++++++++++ .../tweets/impl/HomeTimelineSplitterImpl.java | 18 +++++++++++++++ .../tweets/impl/MentionsSplitterImpl.java | 17 ++++++++++++++ .../tweets/impl/RetweetsOfMeSplitterImpl.java | 18 +++++++++++++++ .../tweets/impl/UserTimelineSplitterImpl.java | 18 +++++++++++++++ .../mq/endpoint/userlist/ListFinisher.java | 14 ++++++++++++ .../mq/endpoint/userlist/ListsPersistor.java | 9 ++++++++ .../mq/endpoint/userlist/ListsSplitter.java | 7 ++++++ .../endpoint/userlist/ListsTransformator.java | 9 ++++++++ .../userlist/impl/ListFinisherImpl.java | 22 +++++++++++++++++++ .../userlist/impl/ListsPersistorImpl.java | 14 ++++++++++++ .../userlist/impl/ListsSplitterImpl.java | 17 ++++++++++++++ .../userlist/impl/ListsTransformatorImpl.java | 14 ++++++++++++ .../scheduled/mq/msg/UserListResultList.java | 4 ++++ src/main/resources/integration.xml | 6 ++--- 21 files changed, 243 insertions(+), 3 deletions(-) create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/UserListsSplitter.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FavoritesSplitter.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/HomeTimelineSplitter.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/MentionsSplitter.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/RetweetsOfMeSplitter.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/UserTimelineSplitter.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FavoritesSplitterImpl.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/HomeTimelineSplitterImpl.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/MentionsSplitterImpl.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/RetweetsOfMeSplitterImpl.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/UserTimelineSplitterImpl.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListFinisher.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsPersistor.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsSplitter.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsTransformator.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListFinisherImpl.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsPersistorImpl.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsSplitterImpl.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsTransformatorImpl.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserListResultList.java diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/UserListsSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/UserListsSplitter.java new file mode 100644 index 00000000..3389b0b1 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/UserListsSplitter.java @@ -0,0 +1,12 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.common; + +import org.springframework.messaging.Message; +import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; +import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; + +import java.util.List; + +public interface UserListsSplitter { + + List> splitUserListMessage(Message incomingTaskMessage); +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FavoritesSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FavoritesSplitter.java new file mode 100644 index 00000000..7c89db9f --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FavoritesSplitter.java @@ -0,0 +1,6 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; + +import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; + +public interface FavoritesSplitter extends TweetsSplitter { +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/HomeTimelineSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/HomeTimelineSplitter.java new file mode 100644 index 00000000..3e91fec5 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/HomeTimelineSplitter.java @@ -0,0 +1,6 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; + +import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; + +public interface HomeTimelineSplitter extends TweetsSplitter { +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/MentionsSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/MentionsSplitter.java new file mode 100644 index 00000000..34240aeb --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/MentionsSplitter.java @@ -0,0 +1,6 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; + +import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; + +public interface MentionsSplitter extends TweetsSplitter { +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/RetweetsOfMeSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/RetweetsOfMeSplitter.java new file mode 100644 index 00000000..f37437e6 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/RetweetsOfMeSplitter.java @@ -0,0 +1,6 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; + +import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; + +public interface RetweetsOfMeSplitter extends TweetsSplitter{ +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/UserTimelineSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/UserTimelineSplitter.java new file mode 100644 index 00000000..4cbcca8e --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/UserTimelineSplitter.java @@ -0,0 +1,6 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; + +import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; + +public interface UserTimelineSplitter extends TweetsSplitter{ +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FavoritesSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FavoritesSplitterImpl.java new file mode 100644 index 00000000..63cc7fca --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FavoritesSplitterImpl.java @@ -0,0 +1,17 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; + +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.FavoritesSplitter; +import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; +import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; + +import java.util.List; + +@Component("mqFavoritesSplitter") +public class FavoritesSplitterImpl implements FavoritesSplitter { + @Override + public List> splitTweetMessage(Message message) { + return null; + } +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/HomeTimelineSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/HomeTimelineSplitterImpl.java new file mode 100644 index 00000000..7b88856f --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/HomeTimelineSplitterImpl.java @@ -0,0 +1,18 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; + +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.HomeTimelineSplitter; +import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; +import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; + +import java.util.List; + +@Component("mqHomeTimelineSplitter") +public class HomeTimelineSplitterImpl implements HomeTimelineSplitter { + + @Override + public List> splitTweetMessage(Message message) { + return null; + } +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/MentionsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/MentionsSplitterImpl.java new file mode 100644 index 00000000..21bea294 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/MentionsSplitterImpl.java @@ -0,0 +1,17 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; + +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.MentionsSplitter; +import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; +import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; + +import java.util.List; + +@Component("mqMentionsSplitter") +public class MentionsSplitterImpl implements MentionsSplitter { + @Override + public List> splitTweetMessage(Message message) { + return null; + } +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/RetweetsOfMeSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/RetweetsOfMeSplitterImpl.java new file mode 100644 index 00000000..91cd888e --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/RetweetsOfMeSplitterImpl.java @@ -0,0 +1,18 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; + +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.RetweetsOfMeSplitter; +import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; +import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; + +import java.util.List; + +@Component("mqRetweetsOfMeSplitter") +public class RetweetsOfMeSplitterImpl implements RetweetsOfMeSplitter { + + @Override + public List> splitTweetMessage(Message message) { + return null; + } +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/UserTimelineSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/UserTimelineSplitterImpl.java new file mode 100644 index 00000000..393fe6ab --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/UserTimelineSplitterImpl.java @@ -0,0 +1,18 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; + +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.UserTimelineSplitter; +import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; +import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; + +import java.util.List; + +@Component("mqUserTimelineSplitter") +public class UserTimelineSplitterImpl implements UserTimelineSplitter { + + @Override + public List> splitTweetMessage(Message message) { + return null; + } +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListFinisher.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListFinisher.java new file mode 100644 index 00000000..1a8ecae9 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListFinisher.java @@ -0,0 +1,14 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist; + +import org.springframework.messaging.Message; +import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; +import org.woehlke.twitterwall.scheduled.mq.msg.UserListResultList; + +import java.util.List; + +public interface ListFinisher { + + Message finish(Message> incomingMessageList); + + void finishAsnyc(Message> incomingMessageList); +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsPersistor.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsPersistor.java new file mode 100644 index 00000000..4a96676a --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsPersistor.java @@ -0,0 +1,9 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist; + +import org.springframework.messaging.Message; +import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; + +public interface ListsPersistor { + + Message persistList(Message incomingMessage); +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsSplitter.java new file mode 100644 index 00000000..6b393c93 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsSplitter.java @@ -0,0 +1,7 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist; + +import org.woehlke.twitterwall.scheduled.mq.endpoint.common.UserListsSplitter; + +public interface ListsSplitter extends UserListsSplitter { + +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsTransformator.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsTransformator.java new file mode 100644 index 00000000..86ac2e2c --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsTransformator.java @@ -0,0 +1,9 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist; + +import org.springframework.messaging.Message; +import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; + +public interface ListsTransformator { + + Message transformList(Message incomingMessage); +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListFinisherImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListFinisherImpl.java new file mode 100644 index 00000000..888dbd16 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListFinisherImpl.java @@ -0,0 +1,22 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.impl; + +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.ListFinisher; +import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; +import org.woehlke.twitterwall.scheduled.mq.msg.UserListResultList; + +import java.util.List; + +@Component("mqListFinisher") +public class ListFinisherImpl implements ListFinisher { + @Override + public Message finish(Message> incomingMessageList) { + return null; + } + + @Override + public void finishAsnyc(Message> incomingMessageList) { + + } +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsPersistorImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsPersistorImpl.java new file mode 100644 index 00000000..5815daa4 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsPersistorImpl.java @@ -0,0 +1,14 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.impl; + +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.ListsPersistor; +import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; + +@Component("mqListsPersistor") +public class ListsPersistorImpl implements ListsPersistor { + @Override + public Message persistList(Message incomingMessage) { + return null; + } +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsSplitterImpl.java new file mode 100644 index 00000000..5305118a --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsSplitterImpl.java @@ -0,0 +1,17 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.impl; + +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.ListsSplitter; +import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; +import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; + +import java.util.List; + +@Component("mqListsSplitter") +public class ListsSplitterImpl implements ListsSplitter { + @Override + public List> splitUserListMessage(Message incomingTaskMessage) { + return null; + } +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsTransformatorImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsTransformatorImpl.java new file mode 100644 index 00000000..9df89467 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsTransformatorImpl.java @@ -0,0 +1,14 @@ +package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.impl; + +import org.springframework.messaging.Message; +import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.ListsTransformator; +import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; + +@Component("mqListsTransformator") +public class ListsTransformatorImpl implements ListsTransformator { + @Override + public Message transformList(Message incomingMessage) { + return null; + } +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserListResultList.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserListResultList.java new file mode 100644 index 00000000..91f75a3a --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserListResultList.java @@ -0,0 +1,4 @@ +package org.woehlke.twitterwall.scheduled.mq.msg; + +public class UserListResultList { +} diff --git a/src/main/resources/integration.xml b/src/main/resources/integration.xml index af9639d3..483a3997 100644 --- a/src/main/resources/integration.xml +++ b/src/main/resources/integration.xml @@ -275,7 +275,7 @@ + method="splitUserListMessage" /> @@ -786,7 +786,7 @@ + method="splitUserListMessage" /> Date: Wed, 16 Aug 2017 08:57:15 +0200 Subject: [PATCH 10/21] new use cases --- .../mq/endpoint/tweets/{ => services}/TweetFinisher.java | 2 +- .../mq/endpoint/tweets/{ => services}/TweetPersistor.java | 2 +- .../endpoint/tweets/{ => services}/TweetTransformator.java | 2 +- .../tweets/{ => services}/impl/TweetFinisherImpl.java | 6 +++--- .../tweets/{ => services}/impl/TweetPersistorImpl.java | 4 ++-- .../tweets/{ => services}/impl/TweetTransformatorImpl.java | 4 ++-- .../tweets/{ => splitter}/CreateTestDataTweetsSplitter.java | 2 +- .../endpoint/tweets/{ => splitter}/FavoritesSplitter.java | 2 +- .../{ => splitter}/FetchTweetsFromSearchSplitter.java | 2 +- .../tweets/{ => splitter}/FindTweetsToRemoveSplitter.java | 2 +- .../tweets/{ => splitter}/HomeTimelineSplitter.java | 2 +- .../mq/endpoint/tweets/{ => splitter}/MentionsSplitter.java | 2 +- .../tweets/{ => splitter}/RetweetsOfMeSplitter.java | 2 +- .../tweets/{ => splitter}/UpdateTweetsSplitter.java | 2 +- .../tweets/{ => splitter}/UserTimelineSplitter.java | 2 +- .../impl/CreateTestDataTweetsSplitterImpl.java | 4 ++-- .../tweets/{ => splitter}/impl/FavoritesSplitterImpl.java | 4 ++-- .../impl/FetchTweetsFromSearchSplitterImpl.java | 4 ++-- .../{ => splitter}/impl/FindTweetsToRemoveSplitterImpl.java | 4 ++-- .../{ => splitter}/impl/HomeTimelineSplitterImpl.java | 4 ++-- .../tweets/{ => splitter}/impl/MentionsSplitterImpl.java | 4 ++-- .../{ => splitter}/impl/RetweetsOfMeSplitterImpl.java | 4 ++-- .../{ => splitter}/impl/UpdateTweetsSplitterImpl.java | 4 ++-- .../{ => splitter}/impl/UserTimelineSplitterImpl.java | 4 ++-- .../mq/endpoint/userlist/{ => services}/ListFinisher.java | 2 +- .../mq/endpoint/userlist/{ => services}/ListsPersistor.java | 2 +- .../userlist/{ => services}/ListsTransformator.java | 2 +- .../userlist/{ => services}/impl/ListFinisherImpl.java | 4 ++-- .../userlist/{ => services}/impl/ListsPersistorImpl.java | 4 ++-- .../{ => services}/impl/ListsTransformatorImpl.java | 4 ++-- .../mq/endpoint/userlist/{ => splitter}/ListsSplitter.java | 2 +- .../userlist/{ => splitter}/impl/ListsSplitterImpl.java | 4 ++-- .../mq/endpoint/users/{ => services}/CreateImprintUser.java | 2 +- .../mq/endpoint/users/{ => services}/UserCheckStorage.java | 2 +- .../mq/endpoint/users/{ => services}/UserFinisher.java | 2 +- .../mq/endpoint/users/{ => services}/UserPersistor.java | 2 +- .../mq/endpoint/users/{ => services}/UserTransformator.java | 2 +- .../users/{ => services}/impl/CreateImprintUserImpl.java | 4 ++-- .../users/{ => services}/impl/UserCheckStorageImpl.java | 4 ++-- .../users/{ => services}/impl/UserFinisherImpl.java | 4 ++-- .../users/{ => services}/impl/UserPersistorImpl.java | 4 ++-- .../users/{ => services}/impl/UserTransformatorImpl.java | 4 ++-- .../users/{ => splitter}/CreateTestDataUsersSplitter.java | 2 +- .../users/{ => splitter}/FetchFollowerSplitter.java | 2 +- .../endpoint/users/{ => splitter}/FetchFriendsSplitter.java | 2 +- .../users/{ => splitter}/FetchUsersFromListSplitter.java | 2 +- .../{ => splitter}/UpdateUsersFromMentionsSplitter.java | 2 +- .../endpoint/users/{ => splitter}/UpdateUsersSplitter.java | 2 +- .../impl/CreateTestDataUsersSplitterImpl.java | 4 ++-- .../{ => splitter}/impl/FetchFollowerSplitterImpl.java | 4 ++-- .../users/{ => splitter}/impl/FetchFriendsSplitterImpl.java | 4 ++-- .../{ => splitter}/impl/FetchUsersFromListSplitterImpl.java | 4 ++-- .../impl/UpdateUsersFromMentionsSplitterImpl.java | 4 ++-- .../users/{ => splitter}/impl/UpdateUsersSplitterImpl.java | 4 ++-- 54 files changed, 82 insertions(+), 82 deletions(-) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => services}/TweetFinisher.java (84%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => services}/TweetPersistor.java (76%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => services}/TweetTransformator.java (75%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => services}/impl/TweetFinisherImpl.java (91%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => services}/impl/TweetPersistorImpl.java (92%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => services}/impl/TweetTransformatorImpl.java (93%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/CreateTestDataTweetsSplitter.java (68%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/FavoritesSplitter.java (66%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/FetchTweetsFromSearchSplitter.java (68%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/FindTweetsToRemoveSplitter.java (67%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/HomeTimelineSplitter.java (66%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/MentionsSplitter.java (66%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/RetweetsOfMeSplitter.java (66%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/UpdateTweetsSplitter.java (66%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/UserTimelineSplitter.java (66%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/impl/CreateTestDataTweetsSplitterImpl.java (95%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/impl/FavoritesSplitterImpl.java (74%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/impl/FetchTweetsFromSearchSplitterImpl.java (93%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/impl/FindTweetsToRemoveSplitterImpl.java (94%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/impl/HomeTimelineSplitterImpl.java (74%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/impl/MentionsSplitterImpl.java (74%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/impl/RetweetsOfMeSplitterImpl.java (74%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/impl/UpdateTweetsSplitterImpl.java (96%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/{ => splitter}/impl/UserTimelineSplitterImpl.java (74%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/{ => services}/ListFinisher.java (84%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/{ => services}/ListsPersistor.java (76%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/{ => services}/ListsTransformator.java (76%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/{ => services}/impl/ListFinisherImpl.java (78%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/{ => services}/impl/ListsPersistorImpl.java (70%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/{ => services}/impl/ListsTransformatorImpl.java (70%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/{ => splitter}/ListsSplitter.java (66%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/{ => splitter}/impl/ListsSplitterImpl.java (74%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => services}/CreateImprintUser.java (80%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => services}/UserCheckStorage.java (76%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => services}/UserFinisher.java (84%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => services}/UserPersistor.java (76%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => services}/UserTransformator.java (75%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => services}/impl/CreateImprintUserImpl.java (94%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => services}/impl/UserCheckStorageImpl.java (92%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => services}/impl/UserFinisherImpl.java (94%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => services}/impl/UserPersistorImpl.java (92%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => services}/impl/UserTransformatorImpl.java (93%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => splitter}/CreateTestDataUsersSplitter.java (67%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => splitter}/FetchFollowerSplitter.java (66%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => splitter}/FetchFriendsSplitter.java (66%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => splitter}/FetchUsersFromListSplitter.java (67%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => splitter}/UpdateUsersFromMentionsSplitter.java (68%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => splitter}/UpdateUsersSplitter.java (66%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => splitter}/impl/CreateTestDataUsersSplitterImpl.java (95%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => splitter}/impl/FetchFollowerSplitterImpl.java (93%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => splitter}/impl/FetchFriendsSplitterImpl.java (93%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => splitter}/impl/FetchUsersFromListSplitterImpl.java (94%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => splitter}/impl/UpdateUsersFromMentionsSplitterImpl.java (96%) rename src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/{ => splitter}/impl/UpdateUsersSplitterImpl.java (96%) diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetFinisher.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/TweetFinisher.java similarity index 84% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetFinisher.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/TweetFinisher.java index 32a93a91..f084f459 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetFinisher.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/TweetFinisher.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.services; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetPersistor.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/TweetPersistor.java similarity index 76% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetPersistor.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/TweetPersistor.java index b10d9f07..f1a3613f 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetPersistor.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/TweetPersistor.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.services; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetTransformator.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/TweetTransformator.java similarity index 75% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetTransformator.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/TweetTransformator.java index 4bd44546..db872381 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/TweetTransformator.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/TweetTransformator.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.services; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetFinisherImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/impl/TweetFinisherImpl.java similarity index 91% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetFinisherImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/impl/TweetFinisherImpl.java index d0747bd2..f6586b9e 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetFinisherImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/impl/TweetFinisherImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.services.impl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -10,8 +10,8 @@ import org.woehlke.twitterwall.oodm.entities.Tweet; import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.TaskService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl.UserFinisherImpl; -import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.TweetFinisher; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.services.impl.UserFinisherImpl; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.services.TweetFinisher; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetResultList; import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetPersistorImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/impl/TweetPersistorImpl.java similarity index 92% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetPersistorImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/impl/TweetPersistorImpl.java index 1d2a7ecd..d2d84dae 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetPersistorImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/impl/TweetPersistorImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.services.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.support.MessageBuilder; @@ -7,7 +7,7 @@ import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.Tweet; import org.woehlke.twitterwall.oodm.service.TaskService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.TweetPersistor; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.services.TweetPersistor; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; import org.woehlke.twitterwall.scheduled.service.persist.StoreOneTweetPerform; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetTransformatorImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/impl/TweetTransformatorImpl.java similarity index 93% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetTransformatorImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/impl/TweetTransformatorImpl.java index fa930995..1060b175 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/TweetTransformatorImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/services/impl/TweetTransformatorImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.services.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.support.MessageBuilder; @@ -7,7 +7,7 @@ import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.Tweet; import org.woehlke.twitterwall.oodm.service.TaskService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.TweetTransformator; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.services.TweetTransformator; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; import org.woehlke.twitterwall.scheduled.service.transform.TweetTransformService; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/CreateTestDataTweetsSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/CreateTestDataTweetsSplitter.java similarity index 68% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/CreateTestDataTweetsSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/CreateTestDataTweetsSplitter.java index 89356b0b..088c1feb 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/CreateTestDataTweetsSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/CreateTestDataTweetsSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FavoritesSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/FavoritesSplitter.java similarity index 66% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FavoritesSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/FavoritesSplitter.java index 7c89db9f..29c333fe 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FavoritesSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/FavoritesSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FetchTweetsFromSearchSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/FetchTweetsFromSearchSplitter.java similarity index 68% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FetchTweetsFromSearchSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/FetchTweetsFromSearchSplitter.java index 9ab13427..e9fd75ff 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FetchTweetsFromSearchSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/FetchTweetsFromSearchSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FindTweetsToRemoveSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/FindTweetsToRemoveSplitter.java similarity index 67% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FindTweetsToRemoveSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/FindTweetsToRemoveSplitter.java index 1593cb93..542da1b0 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/FindTweetsToRemoveSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/FindTweetsToRemoveSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/HomeTimelineSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/HomeTimelineSplitter.java similarity index 66% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/HomeTimelineSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/HomeTimelineSplitter.java index 3e91fec5..e39a8cf0 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/HomeTimelineSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/HomeTimelineSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/MentionsSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/MentionsSplitter.java similarity index 66% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/MentionsSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/MentionsSplitter.java index 34240aeb..21b80294 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/MentionsSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/MentionsSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/RetweetsOfMeSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/RetweetsOfMeSplitter.java similarity index 66% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/RetweetsOfMeSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/RetweetsOfMeSplitter.java index f37437e6..5dedff8a 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/RetweetsOfMeSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/RetweetsOfMeSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/UpdateTweetsSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/UpdateTweetsSplitter.java similarity index 66% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/UpdateTweetsSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/UpdateTweetsSplitter.java index ae86105a..34f9550c 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/UpdateTweetsSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/UpdateTweetsSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/UserTimelineSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/UserTimelineSplitter.java similarity index 66% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/UserTimelineSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/UserTimelineSplitter.java index 4cbcca8e..b0151210 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/UserTimelineSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/UserTimelineSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TweetsSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/CreateTestDataTweetsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/CreateTestDataTweetsSplitterImpl.java similarity index 95% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/CreateTestDataTweetsSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/CreateTestDataTweetsSplitterImpl.java index 2f08b7a7..4d8ab0c4 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/CreateTestDataTweetsSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/CreateTestDataTweetsSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; @@ -9,7 +9,7 @@ import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.oodm.service.TweetService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.CreateTestDataTweetsSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.CreateTestDataTweetsSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FavoritesSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/FavoritesSplitterImpl.java similarity index 74% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FavoritesSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/FavoritesSplitterImpl.java index 63cc7fca..81f7b970 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FavoritesSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/FavoritesSplitterImpl.java @@ -1,8 +1,8 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.impl; import org.springframework.messaging.Message; import org.springframework.stereotype.Component; -import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.FavoritesSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.FavoritesSplitter; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FetchTweetsFromSearchSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/FetchTweetsFromSearchSplitterImpl.java similarity index 93% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FetchTweetsFromSearchSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/FetchTweetsFromSearchSplitterImpl.java index ec5d12ba..8d5267e0 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FetchTweetsFromSearchSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/FetchTweetsFromSearchSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; @@ -7,7 +7,7 @@ import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.TaskService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.FetchTweetsFromSearchSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.FetchTweetsFromSearchSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FindTweetsToRemoveSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/FindTweetsToRemoveSplitterImpl.java similarity index 94% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FindTweetsToRemoveSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/FindTweetsToRemoveSplitterImpl.java index e431cc69..8e4f4108 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/FindTweetsToRemoveSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/FindTweetsToRemoveSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; @@ -12,7 +12,7 @@ import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.oodm.service.TweetService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.FindTweetsToRemoveSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.FindTweetsToRemoveSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/HomeTimelineSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/HomeTimelineSplitterImpl.java similarity index 74% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/HomeTimelineSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/HomeTimelineSplitterImpl.java index 7b88856f..5e752e6d 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/HomeTimelineSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/HomeTimelineSplitterImpl.java @@ -1,8 +1,8 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.impl; import org.springframework.messaging.Message; import org.springframework.stereotype.Component; -import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.HomeTimelineSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.HomeTimelineSplitter; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/MentionsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/MentionsSplitterImpl.java similarity index 74% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/MentionsSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/MentionsSplitterImpl.java index 21bea294..7f909cd9 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/MentionsSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/MentionsSplitterImpl.java @@ -1,8 +1,8 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.impl; import org.springframework.messaging.Message; import org.springframework.stereotype.Component; -import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.MentionsSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.MentionsSplitter; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/RetweetsOfMeSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/RetweetsOfMeSplitterImpl.java similarity index 74% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/RetweetsOfMeSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/RetweetsOfMeSplitterImpl.java index 91cd888e..219c485c 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/RetweetsOfMeSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/RetweetsOfMeSplitterImpl.java @@ -1,8 +1,8 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.impl; import org.springframework.messaging.Message; import org.springframework.stereotype.Component; -import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.RetweetsOfMeSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.RetweetsOfMeSplitter; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/UpdateTweetsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/UpdateTweetsSplitterImpl.java similarity index 96% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/UpdateTweetsSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/UpdateTweetsSplitterImpl.java index f5cbd731..e5342ffb 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/UpdateTweetsSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/UpdateTweetsSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.impl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -13,7 +13,7 @@ import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.oodm.service.TweetService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.UpdateTweetsSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.UpdateTweetsSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/UserTimelineSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/UserTimelineSplitterImpl.java similarity index 74% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/UserTimelineSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/UserTimelineSplitterImpl.java index 393fe6ab..300c645a 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/impl/UserTimelineSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/UserTimelineSplitterImpl.java @@ -1,8 +1,8 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.impl; import org.springframework.messaging.Message; import org.springframework.stereotype.Component; -import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.UserTimelineSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.UserTimelineSplitter; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListFinisher.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/ListFinisher.java similarity index 84% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListFinisher.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/ListFinisher.java index 1a8ecae9..36c247fc 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListFinisher.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/ListFinisher.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist; +package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.services; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsPersistor.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/ListsPersistor.java similarity index 76% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsPersistor.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/ListsPersistor.java index 4a96676a..bb2bd38d 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsPersistor.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/ListsPersistor.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist; +package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.services; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsTransformator.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/ListsTransformator.java similarity index 76% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsTransformator.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/ListsTransformator.java index 86ac2e2c..9ec03d37 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsTransformator.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/ListsTransformator.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist; +package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.services; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListFinisherImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListFinisherImpl.java similarity index 78% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListFinisherImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListFinisherImpl.java index 888dbd16..0cccaedf 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListFinisherImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListFinisherImpl.java @@ -1,8 +1,8 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.services.impl; import org.springframework.messaging.Message; import org.springframework.stereotype.Component; -import org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.ListFinisher; +import org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.services.ListFinisher; import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserListResultList; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsPersistorImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsPersistorImpl.java similarity index 70% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsPersistorImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsPersistorImpl.java index 5815daa4..0230077c 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsPersistorImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsPersistorImpl.java @@ -1,8 +1,8 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.services.impl; import org.springframework.messaging.Message; import org.springframework.stereotype.Component; -import org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.ListsPersistor; +import org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.services.ListsPersistor; import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; @Component("mqListsPersistor") diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsTransformatorImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsTransformatorImpl.java similarity index 70% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsTransformatorImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsTransformatorImpl.java index 9df89467..ff3c9f6d 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsTransformatorImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsTransformatorImpl.java @@ -1,8 +1,8 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.services.impl; import org.springframework.messaging.Message; import org.springframework.stereotype.Component; -import org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.ListsTransformator; +import org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.services.ListsTransformator; import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; @Component("mqListsTransformator") diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/splitter/ListsSplitter.java similarity index 66% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/splitter/ListsSplitter.java index 6b393c93..411c591f 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/ListsSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/splitter/ListsSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist; +package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.splitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.UserListsSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/splitter/impl/ListsSplitterImpl.java similarity index 74% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/splitter/impl/ListsSplitterImpl.java index 5305118a..8f5dc84a 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/impl/ListsSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/splitter/impl/ListsSplitterImpl.java @@ -1,8 +1,8 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.splitter.impl; import org.springframework.messaging.Message; import org.springframework.stereotype.Component; -import org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.ListsSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.splitter.ListsSplitter; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/CreateImprintUser.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/CreateImprintUser.java similarity index 80% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/CreateImprintUser.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/CreateImprintUser.java index 3954d876..ea95db1d 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/CreateImprintUser.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/CreateImprintUser.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.services; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserCheckStorage.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/UserCheckStorage.java similarity index 76% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserCheckStorage.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/UserCheckStorage.java index 5a8bc922..ec395a33 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserCheckStorage.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/UserCheckStorage.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.services; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserFinisher.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/UserFinisher.java similarity index 84% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserFinisher.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/UserFinisher.java index 851fe02f..4334a1ef 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserFinisher.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/UserFinisher.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.services; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserPersistor.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/UserPersistor.java similarity index 76% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserPersistor.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/UserPersistor.java index 6d16730d..e4c47799 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserPersistor.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/UserPersistor.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.services; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserTransformator.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/UserTransformator.java similarity index 75% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserTransformator.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/UserTransformator.java index d141cb3b..1b5ac220 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UserTransformator.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/UserTransformator.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.services; import org.springframework.messaging.Message; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/CreateImprintUserImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/CreateImprintUserImpl.java similarity index 94% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/CreateImprintUserImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/CreateImprintUserImpl.java index 012b39d9..38596ffb 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/CreateImprintUserImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/CreateImprintUserImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.services.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; @@ -7,7 +7,7 @@ import org.woehlke.twitterwall.conf.properties.FrontendProperties; import org.woehlke.twitterwall.oodm.entities.User; import org.woehlke.twitterwall.oodm.service.UserService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.users.CreateImprintUser; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.services.CreateImprintUser; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserCheckStorageImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserCheckStorageImpl.java similarity index 92% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserCheckStorageImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserCheckStorageImpl.java index f54d1898..c2fc33fe 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserCheckStorageImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserCheckStorageImpl.java @@ -1,11 +1,11 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.services.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; import org.springframework.social.twitter.api.TwitterProfile; import org.springframework.stereotype.Component; import org.woehlke.twitterwall.oodm.service.UserService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.users.UserCheckStorage; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.services.UserCheckStorage; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; import org.woehlke.twitterwall.scheduled.service.remote.TwitterApiService; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserFinisherImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserFinisherImpl.java similarity index 94% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserFinisherImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserFinisherImpl.java index ebd34f7a..9894f9d2 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserFinisherImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserFinisherImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.services.impl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -10,7 +10,7 @@ import org.woehlke.twitterwall.oodm.entities.User; import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.TaskService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.users.UserFinisher; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.services.UserFinisher; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserResultList; import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserPersistorImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserPersistorImpl.java similarity index 92% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserPersistorImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserPersistorImpl.java index 7c581740..a6ccbc1e 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserPersistorImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserPersistorImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.services.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.support.MessageBuilder; @@ -9,7 +9,7 @@ import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; import org.woehlke.twitterwall.scheduled.service.persist.StoreUserProcess; -import org.woehlke.twitterwall.scheduled.mq.endpoint.users.UserPersistor; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.services.UserPersistor; @Component("mqUserPersistor") public class UserPersistorImpl implements UserPersistor { diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserTransformatorImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserTransformatorImpl.java similarity index 93% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserTransformatorImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserTransformatorImpl.java index d860b750..14699fcd 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UserTransformatorImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserTransformatorImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.services.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.integration.support.MessageBuilder; @@ -8,7 +8,7 @@ import org.woehlke.twitterwall.oodm.entities.User; import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.scheduled.service.transform.UserTransformService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.users.UserTransformator; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.services.UserTransformator; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; @Component("mqUserTransformator") diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/CreateTestDataUsersSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/CreateTestDataUsersSplitter.java similarity index 67% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/CreateTestDataUsersSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/CreateTestDataUsersSplitter.java index a1a5eee0..0ce5b272 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/CreateTestDataUsersSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/CreateTestDataUsersSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.UserSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchFollowerSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/FetchFollowerSplitter.java similarity index 66% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchFollowerSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/FetchFollowerSplitter.java index 094c7736..b97d8d02 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchFollowerSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/FetchFollowerSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.UserSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchFriendsSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/FetchFriendsSplitter.java similarity index 66% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchFriendsSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/FetchFriendsSplitter.java index f94b4050..b4a99d0c 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchFriendsSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/FetchFriendsSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.UserSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchUsersFromListSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/FetchUsersFromListSplitter.java similarity index 67% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchUsersFromListSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/FetchUsersFromListSplitter.java index 2c54e904..e4a500e8 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/FetchUsersFromListSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/FetchUsersFromListSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.UserSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UpdateUsersFromMentionsSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/UpdateUsersFromMentionsSplitter.java similarity index 68% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UpdateUsersFromMentionsSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/UpdateUsersFromMentionsSplitter.java index 41d7fab6..4f8716b1 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UpdateUsersFromMentionsSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/UpdateUsersFromMentionsSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.UserSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UpdateUsersSplitter.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/UpdateUsersSplitter.java similarity index 66% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UpdateUsersSplitter.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/UpdateUsersSplitter.java index 3e1166be..13565ef5 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/UpdateUsersSplitter.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/UpdateUsersSplitter.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.UserSplitter; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/CreateTestDataUsersSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/CreateTestDataUsersSplitterImpl.java similarity index 95% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/CreateTestDataUsersSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/CreateTestDataUsersSplitterImpl.java index 0fba2f8d..c42f92a8 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/CreateTestDataUsersSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/CreateTestDataUsersSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter.impl; import org.springframework.messaging.Message; import org.springframework.social.twitter.api.TwitterProfile; @@ -9,7 +9,7 @@ import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.oodm.service.UserService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.users.CreateTestDataUsersSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter.CreateTestDataUsersSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchFollowerSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/FetchFollowerSplitterImpl.java similarity index 93% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchFollowerSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/FetchFollowerSplitterImpl.java index 75718258..3bdb98c8 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchFollowerSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/FetchFollowerSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; @@ -8,7 +8,7 @@ import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; import org.woehlke.twitterwall.oodm.service.TaskService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.users.FetchFollowerSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter.FetchFollowerSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchFriendsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/FetchFriendsSplitterImpl.java similarity index 93% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchFriendsSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/FetchFriendsSplitterImpl.java index b930eef2..64d540ea 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchFriendsSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/FetchFriendsSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter.impl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; @@ -8,7 +8,7 @@ import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; import org.woehlke.twitterwall.oodm.service.TaskService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.users.FetchFriendsSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter.FetchFriendsSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchUsersFromListSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/FetchUsersFromListSplitterImpl.java similarity index 94% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchUsersFromListSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/FetchUsersFromListSplitterImpl.java index 1eab33ee..6e27ff40 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/FetchUsersFromListSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/FetchUsersFromListSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter.impl; import org.springframework.messaging.Message; import org.springframework.social.twitter.api.TwitterProfile; @@ -8,7 +8,7 @@ import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.service.TaskService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.users.FetchUsersFromListSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter.FetchUsersFromListSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UpdateUsersFromMentionsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/UpdateUsersFromMentionsSplitterImpl.java similarity index 96% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UpdateUsersFromMentionsSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/UpdateUsersFromMentionsSplitterImpl.java index 311abdb7..2c34bcc5 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UpdateUsersFromMentionsSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/UpdateUsersFromMentionsSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter.impl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -16,7 +16,7 @@ import org.woehlke.twitterwall.oodm.service.MentionService; import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.oodm.service.UserService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.users.UpdateUsersFromMentionsSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter.UpdateUsersFromMentionsSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UpdateUsersSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/UpdateUsersSplitterImpl.java similarity index 96% rename from src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UpdateUsersSplitterImpl.java rename to src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/UpdateUsersSplitterImpl.java index 492def49..276ef531 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/impl/UpdateUsersSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/UpdateUsersSplitterImpl.java @@ -1,4 +1,4 @@ -package org.woehlke.twitterwall.scheduled.mq.endpoint.users.impl; +package org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter.impl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -17,7 +17,7 @@ import org.woehlke.twitterwall.oodm.entities.parts.TaskType; import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.oodm.service.UserService; -import org.woehlke.twitterwall.scheduled.mq.endpoint.users.UpdateUsersSplitter; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.splitter.UpdateUsersSplitter; import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; From c4cefc090840c237f538ad14d08d15a19a2545e7 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Wed, 16 Aug 2017 10:59:23 +0200 Subject: [PATCH 11/21] new use cases --- .../controller/UserListController.java | 4 +- .../custom/impl/UserListRepositoryImpl.java | 2 - .../common/DomainObjectMinimalService.java | 2 + .../oodm/service/impl/HashTagServiceImpl.java | 4 + .../oodm/service/impl/MediaServiceImpl.java | 4 + .../oodm/service/impl/MentionServiceImpl.java | 4 + .../service/impl/TaskHistoryServiceImpl.java | 7 + .../oodm/service/impl/TaskServiceImpl.java | 5 + .../service/impl/TickerSymbolServiceImpl.java | 4 + .../oodm/service/impl/TweetServiceImpl.java | 4 + .../oodm/service/impl/UrlServiceImpl.java | 4 + .../service/impl/UserListServiceImpl.java | 4 + .../oodm/service/impl/UserServiceImpl.java | 4 + .../services/impl/ListFinisherImpl.java | 3 + .../services/impl/ListsPersistorImpl.java | 2 + .../services/impl/ListsTransformatorImpl.java | 2 + .../splitter/impl/ListsSplitterImpl.java | 2 + .../controller/TaskControllerTest.java | 132 ++++++++++++++++++ .../controller/TaskHistoryControllerTest.java | 1 - .../controller/TweetControllerTest.java | 116 ++++++++++++++- .../controller/UserListControllerTest.java | 81 +++++++++++ .../oodm/entities/UserListTest.java | 22 +++ .../DomainObjectMinimalServiceTest.java | 16 +++ .../DomainServiceWithIdTwitterTest.java | 6 + .../DomainServiceWithScreenNameTest.java | 6 + .../service/DomainServiceWithUrlTest.java | 6 + .../oodm/service/HashTagServiceTest.java | 28 +++- .../oodm/service/MediaServiceTest.java | 26 +++- .../oodm/service/MentionServiceTest.java | 27 +++- .../oodm/service/TaskHistoryServiceTest.java | 27 +++- .../oodm/service/TaskServiceTest.java | 27 +++- .../oodm/service/TickerSymbolServiceTest.java | 25 +++- .../oodm/service/TweetServiceTest.java | 25 +++- .../oodm/service/UrlServiceTest.java | 25 +++- .../oodm/service/UserListServiceTest.java | 57 ++++++++ .../oodm/service/UserServiceTest.java | 28 +++- 36 files changed, 726 insertions(+), 16 deletions(-) create mode 100644 src/test/java/org/woehlke/twitterwall/frontend/controller/UserListControllerTest.java create mode 100644 src/test/java/org/woehlke/twitterwall/oodm/entities/UserListTest.java create mode 100644 src/test/java/org/woehlke/twitterwall/oodm/service/DomainObjectMinimalServiceTest.java create mode 100644 src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithIdTwitterTest.java create mode 100644 src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithScreenNameTest.java create mode 100644 src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithUrlTest.java create mode 100644 src/test/java/org/woehlke/twitterwall/oodm/service/UserListServiceTest.java diff --git a/src/main/java/org/woehlke/twitterwall/frontend/controller/UserListController.java b/src/main/java/org/woehlke/twitterwall/frontend/controller/UserListController.java index 38ee9a32..5a468b31 100644 --- a/src/main/java/org/woehlke/twitterwall/frontend/controller/UserListController.java +++ b/src/main/java/org/woehlke/twitterwall/frontend/controller/UserListController.java @@ -35,7 +35,7 @@ public String getAll( Sort.Direction.ASC, "screenName" ); - model.addAttribute("users", userListService.getAll(pageRequest)); + model.addAttribute("userlists", userListService.getAll(pageRequest)); String symbol = Symbols.USER_ALL.toString(); String subtitle = "All Users"; model = controllerHelper.setupPage(model, title, subtitle, symbol); @@ -43,7 +43,7 @@ public String getAll( } @RequestMapping("/{id}") - public String getUserForId( + public String getUserListForId( @RequestParam(name= "page", defaultValue=""+ControllerHelper.FIRST_PAGE_NUMBER) int page, @PathVariable("id") UserList userList, Model model ) { diff --git a/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/impl/UserListRepositoryImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/impl/UserListRepositoryImpl.java index 27ad04f5..aa4c6af5 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/impl/UserListRepositoryImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/impl/UserListRepositoryImpl.java @@ -1,8 +1,6 @@ package org.woehlke.twitterwall.oodm.repositories.custom.impl; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Repository; import org.woehlke.twitterwall.oodm.entities.UserList; diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/common/DomainObjectMinimalService.java b/src/main/java/org/woehlke/twitterwall/oodm/service/common/DomainObjectMinimalService.java index 6d9b3c2b..a5d66e54 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/common/DomainObjectMinimalService.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/common/DomainObjectMinimalService.java @@ -11,4 +11,6 @@ public interface DomainObjectMinimalService { Page getAll(Pageable pageRequest); long count(); + + T findByUniqueId(T domainExampleObject); } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/HashTagServiceImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/HashTagServiceImpl.java index 0040d8cf..cba07152 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/HashTagServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/HashTagServiceImpl.java @@ -64,4 +64,8 @@ public Page getHashTagsUsers(Pageable pageRequestUsers) { return hashTagRepository.countAllUser2HashTag(pageRequestUsers); } + @Override + public HashTag findByUniqueId(HashTag domainExampleObject) { + return hashTagRepository.findByUniqueId(domainExampleObject); + } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/MediaServiceImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/MediaServiceImpl.java index f3aa7919..c5d7fd1a 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/MediaServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/MediaServiceImpl.java @@ -38,4 +38,8 @@ public Media findByUrl(String url) { return mediaRepository.findByUrl(url); } + @Override + public Media findByUniqueId(Media domainExampleObject) { + return mediaRepository.findByUniqueId(domainExampleObject); + } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/MentionServiceImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/MentionServiceImpl.java index 9522b40b..23ccc439 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/MentionServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/MentionServiceImpl.java @@ -79,4 +79,8 @@ public Mention findByScreenNameAndIdTwitter(String screenName, Long idTwitter) { return mentionRepository.findByScreenNameUniqueAndIdTwitter(screenNameUnique, idTwitter); } + @Override + public Mention findByUniqueId(Mention domainExampleObject) { + return mentionRepository.findByUniqueId(domainExampleObject); + } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TaskHistoryServiceImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TaskHistoryServiceImpl.java index a81b0251..44119e99 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TaskHistoryServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TaskHistoryServiceImpl.java @@ -45,6 +45,11 @@ public long count() { return taskHistoryRepository.count(); } + @Override + public TaskHistory findByUniqueId(TaskHistory domainExampleObject) { + return taskHistoryRepository.findByUniqueId(domainExampleObject); + } + @Override public Page findByTask(Task oneTask,Pageable pageRequest) { return taskHistoryRepository.findByTask(oneTask,pageRequest); @@ -54,4 +59,6 @@ public Page findByTask(Task oneTask,Pageable pageRequest) { public TaskHistory findById(long id) { return taskHistoryRepository.findOne(id); } + + } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TaskServiceImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TaskServiceImpl.java index a28f0611..902aa654 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TaskServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TaskServiceImpl.java @@ -49,6 +49,11 @@ public long count() { return taskRepository.count(); } + @Override + public Task findByUniqueId(Task domainExampleObject) { + return taskRepository.findByUniqueId(domainExampleObject); + } + @Override public Task findById(long id) { return taskRepository.findOne(id); diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TickerSymbolServiceImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TickerSymbolServiceImpl.java index 14c0a45d..9eb47aa3 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TickerSymbolServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TickerSymbolServiceImpl.java @@ -34,4 +34,8 @@ public TickerSymbol findByUrl(String url) { return tickerSymbolRepository.findByUrl(url); } + @Override + public TickerSymbol findByUniqueId(TickerSymbol domainExampleObject) { + return tickerSymbolRepository.findByUniqueId(domainExampleObject); + } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TweetServiceImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TweetServiceImpl.java index d543bf70..6209277f 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TweetServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/TweetServiceImpl.java @@ -99,4 +99,8 @@ public Tweet findByIdTwitter(long idTwitter) { return tweetRepository.findByIdTwitter(idTwitter); } + @Override + public Tweet findByUniqueId(Tweet domainExampleObject) { + return tweetRepository.findByUniqueId(domainExampleObject); + } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UrlServiceImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UrlServiceImpl.java index adfcf226..413633b4 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UrlServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UrlServiceImpl.java @@ -46,4 +46,8 @@ public Url findByUrl(String url) { return result; } + @Override + public Url findByUniqueId(Url domainExampleObject) { + return urlRepository.findByUniqueId(domainExampleObject); + } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserListServiceImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserListServiceImpl.java index 50d8ebea..5bc554bc 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserListServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserListServiceImpl.java @@ -35,4 +35,8 @@ public UserList findByIdTwitter(long idTwitter) { return domainRepository.findByIdTwitter(idTwitter); } + @Override + public UserList findByUniqueId(UserList domainExampleObject) { + return domainRepository.findByUniqueId(domainExampleObject); + } } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserServiceImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserServiceImpl.java index 874f9e1c..dd9dd722 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserServiceImpl.java @@ -141,4 +141,8 @@ public boolean isByIdTwitter(long userIdTwitter) { return ((userRepository.findByIdTwitter(userIdTwitter)) != null); } + @Override + public User findByUniqueId(User domainExampleObject) { + return userRepository.findByUniqueId(domainExampleObject); + } } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListFinisherImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListFinisherImpl.java index 0cccaedf..0ae16df2 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListFinisherImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListFinisherImpl.java @@ -10,11 +10,14 @@ @Component("mqListFinisher") public class ListFinisherImpl implements ListFinisher { + + //TODO: #252 https://github.com/phasenraum2010/twitterwall2/issues/252 @Override public Message finish(Message> incomingMessageList) { return null; } + //TODO: #252 https://github.com/phasenraum2010/twitterwall2/issues/252 @Override public void finishAsnyc(Message> incomingMessageList) { diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsPersistorImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsPersistorImpl.java index 0230077c..758d6e5c 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsPersistorImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsPersistorImpl.java @@ -7,6 +7,8 @@ @Component("mqListsPersistor") public class ListsPersistorImpl implements ListsPersistor { + + //TODO: #252 https://github.com/phasenraum2010/twitterwall2/issues/252 @Override public Message persistList(Message incomingMessage) { return null; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsTransformatorImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsTransformatorImpl.java index ff3c9f6d..10dafc20 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsTransformatorImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsTransformatorImpl.java @@ -7,6 +7,8 @@ @Component("mqListsTransformator") public class ListsTransformatorImpl implements ListsTransformator { + + //TODO: #252 https://github.com/phasenraum2010/twitterwall2/issues/252 @Override public Message transformList(Message incomingMessage) { return null; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/splitter/impl/ListsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/splitter/impl/ListsSplitterImpl.java index 8f5dc84a..842e7ff1 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/splitter/impl/ListsSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/splitter/impl/ListsSplitterImpl.java @@ -10,6 +10,8 @@ @Component("mqListsSplitter") public class ListsSplitterImpl implements ListsSplitter { + + //TODO: #252 https://github.com/phasenraum2010/twitterwall2/issues/252 @Override public List> splitUserListMessage(Message incomingTaskMessage) { return null; diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/TaskControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/TaskControllerTest.java index d76a11b2..7f275ec9 100644 --- a/src/test/java/org/woehlke/twitterwall/frontend/controller/TaskControllerTest.java +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/TaskControllerTest.java @@ -313,4 +313,136 @@ public void updateUserProfilesStartTaskTest() throws Exception { Assert.assertTrue(true); } + @WithMockUser + @Commit + @Test + public void getHomeTimelineTest() throws Exception { + String msg = "updateUserProfilesStartTaskTest: "; + MvcResult result = this.mockMvc.perform(get("/task/start/tweets/timeline/home")) + .andExpect(status().isOk()) + .andExpect(view().name( PATH+"/start/taskStarted")) + .andExpect(model().attributeExists("task")) + .andExpect(model().attributeExists("page")) + .andReturn(); + + String content = result.getResponse().getContentAsString(); + + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + log.info(msg+content); + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + Assert.assertTrue(true); + } + + @WithMockUser + @Commit + @Test + public void getUserTimelineTest() throws Exception { + String msg = "updateUserProfilesStartTaskTest: "; + MvcResult result = this.mockMvc.perform(get("/task/start/tweets/timeline/user")) + .andExpect(status().isOk()) + .andExpect(view().name( PATH+"/start/taskStarted")) + .andExpect(model().attributeExists("task")) + .andExpect(model().attributeExists("page")) + .andReturn(); + + String content = result.getResponse().getContentAsString(); + + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + log.info(msg+content); + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + Assert.assertTrue(true); + } + + @WithMockUser + @Commit + @Test + public void getMentionsTest() throws Exception { + String msg = "updateUserProfilesStartTaskTest: "; + MvcResult result = this.mockMvc.perform(get("/task/start/tweets/mentions")) + .andExpect(status().isOk()) + .andExpect(view().name( PATH+"/start/taskStarted")) + .andExpect(model().attributeExists("task")) + .andExpect(model().attributeExists("page")) + .andReturn(); + + String content = result.getResponse().getContentAsString(); + + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + log.info(msg+content); + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + Assert.assertTrue(true); + } + + @WithMockUser + @Commit + @Test + public void getFavoritesTest() throws Exception { + String msg = "updateUserProfilesStartTaskTest: "; + MvcResult result = this.mockMvc.perform(get("/task/start/tweets/favorites")) + .andExpect(status().isOk()) + .andExpect(view().name( PATH+"/start/taskStarted")) + .andExpect(model().attributeExists("task")) + .andExpect(model().attributeExists("page")) + .andReturn(); + + String content = result.getResponse().getContentAsString(); + + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + log.info(msg+content); + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + Assert.assertTrue(true); + } + + @WithMockUser + @Commit + @Test + public void getRetweetsOfMeTest() throws Exception { + String msg = "updateUserProfilesStartTaskTest: "; + MvcResult result = this.mockMvc.perform(get("/task/start/tweets/myretweets")) + .andExpect(status().isOk()) + .andExpect(view().name( PATH+"/start/taskStarted")) + .andExpect(model().attributeExists("task")) + .andExpect(model().attributeExists("page")) + .andReturn(); + + String content = result.getResponse().getContentAsString(); + + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + log.info(msg+content); + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + Assert.assertTrue(true); + } + + @WithMockUser + @Commit + @Test + public void getListsTest() throws Exception { + String msg = "updateUserProfilesStartTaskTest: "; + MvcResult result = this.mockMvc.perform(get("/task/start/userlists")) + .andExpect(status().isOk()) + .andExpect(view().name( PATH+"/start/taskStarted")) + .andExpect(model().attributeExists("task")) + .andExpect(model().attributeExists("page")) + .andReturn(); + + String content = result.getResponse().getContentAsString(); + + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + log.info(msg+content); + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + Assert.assertTrue(true); + } + } diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/TaskHistoryControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/TaskHistoryControllerTest.java index 9324174b..64c94d67 100644 --- a/src/test/java/org/woehlke/twitterwall/frontend/controller/TaskHistoryControllerTest.java +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/TaskHistoryControllerTest.java @@ -9,7 +9,6 @@ import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.security.test.context.support.WithMockUser; -import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/TweetControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/TweetControllerTest.java index 4d6b9357..f424f033 100644 --- a/src/test/java/org/woehlke/twitterwall/frontend/controller/TweetControllerTest.java +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/TweetControllerTest.java @@ -13,7 +13,6 @@ import org.springframework.data.domain.Pageable; import org.springframework.security.test.context.support.WithAnonymousUser; import org.springframework.security.test.context.support.WithMockUser; -import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; @@ -124,4 +123,119 @@ public void getTweetById() throws Exception { log.info(msg+"#######################################"); Assert.assertTrue(true); } + + @WithMockUser + //@Commit + @Test + public void getHomeTimeline() throws Exception { + String msg ="getHomeTimeline: "; + + MvcResult result = this.mockMvc.perform(get("/tweet/timeline/home")) + .andExpect(status().isOk()) + .andExpect(view().name( "tweet/all")) + .andExpect(model().attributeExists("latestTweets")) + .andExpect(model().attributeExists("page")) + .andReturn(); + + String content = result.getResponse().getContentAsString(); + + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + log.info(msg+content); + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + Assert.assertTrue(true); + } + + @WithMockUser + //@Commit + @Test + public void getUserTimeline() throws Exception { + String msg ="getUserTimeline: "; + + MvcResult result = this.mockMvc.perform(get("/tweet/timeline/user")) + .andExpect(status().isOk()) + .andExpect(view().name( "tweet/all")) + .andExpect(model().attributeExists("latestTweets")) + .andExpect(model().attributeExists("page")) + .andReturn(); + + String content = result.getResponse().getContentAsString(); + + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + log.info(msg+content); + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + Assert.assertTrue(true); + } + + @WithMockUser + //@Commit + @Test + public void getMentions() throws Exception { + String msg ="getMentions: "; + + MvcResult result = this.mockMvc.perform(get("/tweet/mentions")) + .andExpect(status().isOk()) + .andExpect(view().name( "tweet/all")) + .andExpect(model().attributeExists("latestTweets")) + .andExpect(model().attributeExists("page")) + .andReturn(); + + String content = result.getResponse().getContentAsString(); + + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + log.info(msg+content); + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + Assert.assertTrue(true); + } + + @WithMockUser + //@Commit + @Test + public void getFavorites() throws Exception { + String msg ="getFavorites: "; + + MvcResult result = this.mockMvc.perform(get("/tweet/favorites")) + .andExpect(status().isOk()) + .andExpect(view().name( "tweet/all")) + .andExpect(model().attributeExists("latestTweets")) + .andExpect(model().attributeExists("page")) + .andReturn(); + + String content = result.getResponse().getContentAsString(); + + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + log.info(msg+content); + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + Assert.assertTrue(true); + } + + @WithMockUser + //@Commit + @Test + public void getRetweetsOfMe() throws Exception { + String msg ="getRetweetsOfMe: "; + + MvcResult result = this.mockMvc.perform(get("/tweet/retweets")) + .andExpect(status().isOk()) + .andExpect(view().name( "tweet/all")) + .andExpect(model().attributeExists("latestTweets")) + .andExpect(model().attributeExists("page")) + .andReturn(); + + String content = result.getResponse().getContentAsString(); + + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + log.info(msg+content); + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + Assert.assertTrue(true); + } } diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/UserListControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/UserListControllerTest.java new file mode 100644 index 00000000..f838439f --- /dev/null +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/UserListControllerTest.java @@ -0,0 +1,81 @@ +package org.woehlke.twitterwall.frontend.controller; + + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.security.test.context.support.WithMockUser; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; +import org.springframework.test.web.servlet.MvcResult; +import org.woehlke.twitterwall.Application; +import org.woehlke.twitterwall.oodm.service.UserListService; + +import static org.assertj.core.api.Java6Assertions.assertThat; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.model; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.view; + +@RunWith(SpringRunner.class) +@SpringBootTest(classes={Application.class},webEnvironment=SpringBootTest.WebEnvironment.RANDOM_PORT) +@AutoConfigureMockMvc +public class UserListControllerTest { + + + private static final Logger log = LoggerFactory.getLogger(UserListControllerTest.class); + + @Autowired + private MockMvc mockMvc; + + @Autowired + private UserListController controller; + + @Autowired + private UserListService userListService; + + + //@Commit + @Test + public void controllerIsPresentTest(){ + log.info("controllerIsPresentTest"); + assertThat(controller).isNotNull(); + } + + @WithMockUser + //@Commit + @Test + public void getAllTest() throws Exception { + String msg = "getAllTest: "; + MvcResult result = this.mockMvc.perform(get("/userlist/all")) + .andExpect(status().isOk()) + .andExpect(view().name("userlist/all")) + .andExpect(model().attributeExists("userlists")) + .andExpect(model().attributeExists("page")) + .andReturn(); + + String content = result.getResponse().getContentAsString(); + + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + log.info(msg+content); + log.info(msg+"#######################################"); + log.info(msg+"#######################################"); + Assert.assertTrue(true); + } + + //TODO: #252 https://github.com/phasenraum2010/twitterwall2/issues/252 + @WithMockUser + //@Commit + @Test + public void getUserListForIdTest() throws Exception { + Assert.assertTrue(true); + } + + +} diff --git a/src/test/java/org/woehlke/twitterwall/oodm/entities/UserListTest.java b/src/test/java/org/woehlke/twitterwall/oodm/entities/UserListTest.java new file mode 100644 index 00000000..066dcf63 --- /dev/null +++ b/src/test/java/org/woehlke/twitterwall/oodm/entities/UserListTest.java @@ -0,0 +1,22 @@ +package org.woehlke.twitterwall.oodm.entities; + +import org.junit.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class UserListTest implements DomainObjectMinimalTest { + + private static final Logger log = LoggerFactory.getLogger(UserTest.class); + + @Test + @Override + public void getUniqueIdTest() throws Exception { + + } + + @Test + @Override + public void isValidTest() throws Exception { + + } +} diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/DomainObjectMinimalServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/DomainObjectMinimalServiceTest.java new file mode 100644 index 00000000..76cfdaa3 --- /dev/null +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/DomainObjectMinimalServiceTest.java @@ -0,0 +1,16 @@ +package org.woehlke.twitterwall.oodm.service; + +public interface DomainObjectMinimalServiceTest { + + void findById() throws Exception; + + void getAll() throws Exception; + + void count() throws Exception; + + void findByUniqueId() throws Exception; + + void areDependenciesLoaded() throws Exception; + + void fetchTestData() throws Exception; +} diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithIdTwitterTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithIdTwitterTest.java new file mode 100644 index 00000000..705eb1d6 --- /dev/null +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithIdTwitterTest.java @@ -0,0 +1,6 @@ +package org.woehlke.twitterwall.oodm.service; + +public interface DomainServiceWithIdTwitterTest { + + void findByIdTwitter() throws Exception; +} diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithScreenNameTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithScreenNameTest.java new file mode 100644 index 00000000..b01610eb --- /dev/null +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithScreenNameTest.java @@ -0,0 +1,6 @@ +package org.woehlke.twitterwall.oodm.service; + +public interface DomainServiceWithScreenNameTest { + + void findByScreenName() throws Exception; +} diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithUrlTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithUrlTest.java new file mode 100644 index 00000000..7e41c577 --- /dev/null +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithUrlTest.java @@ -0,0 +1,6 @@ +package org.woehlke.twitterwall.oodm.service; + +public interface DomainServiceWithUrlTest { + + void findByUrl() throws Exception; +} diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/HashTagServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/HashTagServiceTest.java index cd62e1ad..c7f56a85 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/HashTagServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/HashTagServiceTest.java @@ -17,7 +17,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class HashTagServiceTest { +public class HashTagServiceTest implements DomainObjectMinimalServiceTest { private static final Logger log = LoggerFactory.getLogger(HashTagServiceTest.class); @@ -27,7 +27,6 @@ public class HashTagServiceTest { @Autowired private TestdataProperties testdataProperties; - @Test public void areDependenciesLoaded() throws Exception { Assert.assertNotNull(hashTagService); @@ -108,4 +107,29 @@ public void getHashTagsUsers() throws Exception { log.info(msg+" hashTagsUsers: "+counted.getText()); } } + + @Test + @Override + public void findById() throws Exception { + + } + + @Test + @Override + public void getAll() throws Exception { + + } + + @Test + @Override + public void count() throws Exception { + + } + + @Test + @Override + public void findByUniqueId() throws Exception { + + } + } diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/MediaServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/MediaServiceTest.java index e28ba69b..52f019c3 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/MediaServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/MediaServiceTest.java @@ -16,7 +16,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class MediaServiceTest { +public class MediaServiceTest implements DomainObjectMinimalServiceTest { private static final Logger log = LoggerFactory.getLogger(MediaServiceTest.class); @@ -86,4 +86,28 @@ public void findByUrl() throws Exception { log.debug(msg+" found: myPage.getTotalElements() == 0"); } } + + @Test + @Override + public void findById() throws Exception { + + } + + @Test + @Override + public void getAll() throws Exception { + + } + + @Test + @Override + public void count() throws Exception { + + } + + @Test + @Override + public void findByUniqueId() throws Exception { + + } } diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/MentionServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/MentionServiceTest.java index dd9beb50..5615cd66 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/MentionServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/MentionServiceTest.java @@ -21,7 +21,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class MentionServiceTest { +public class MentionServiceTest implements DomainObjectMinimalServiceTest { private static final Logger log = LoggerFactory.getLogger(MentionServiceTest.class); @@ -125,4 +125,29 @@ public void findByScreenName() throws Exception { Assert.assertEquals(msg,expectedScreenName,foundScreenName); } } + + + @Test + @Override + public void findById() throws Exception { + + } + + @Test + @Override + public void getAll() throws Exception { + + } + + @Test + @Override + public void count() throws Exception { + + } + + @Test + @Override + public void findByUniqueId() throws Exception { + + } } diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/TaskHistoryServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/TaskHistoryServiceTest.java index 871f21ac..d1f74d0b 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/TaskHistoryServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/TaskHistoryServiceTest.java @@ -16,7 +16,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class TaskHistoryServiceTest { +public class TaskHistoryServiceTest implements DomainObjectMinimalServiceTest { private static final Logger log = LoggerFactory.getLogger(TaskHistoryServiceTest.class); @@ -52,4 +52,29 @@ public void fetchTestData() throws Exception { @Test public void store() throws Exception {} + + @Test + @Override + public void findById() throws Exception { + + } + + @Test + @Override + public void getAll() throws Exception { + + } + + @Test + @Override + public void count() throws Exception { + + } + + @Test + @Override + public void findByUniqueId() throws Exception { + + } + } diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/TaskServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/TaskServiceTest.java index 01037c9f..b4451a00 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/TaskServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/TaskServiceTest.java @@ -20,7 +20,8 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class TaskServiceTest { +public class TaskServiceTest implements DomainObjectMinimalServiceTest { + private static final Logger log = LoggerFactory.getLogger(TaskServiceTest.class); @@ -151,4 +152,28 @@ public void finalError() throws Exception { Assert.assertEquals(TaskStatus.FINAL_ERROR,createdTask.getTaskStatus()); } + + @Test + @Override + public void findById() throws Exception { + + } + + @Test + @Override + public void getAll() throws Exception { + + } + + @Test + @Override + public void count() throws Exception { + + } + + @Test + @Override + public void findByUniqueId() throws Exception { + + } } diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/TickerSymbolServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/TickerSymbolServiceTest.java index 5f85bc15..1df76712 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/TickerSymbolServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/TickerSymbolServiceTest.java @@ -17,7 +17,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class TickerSymbolServiceTest { +public class TickerSymbolServiceTest implements DomainObjectMinimalServiceTest { private static final Logger log = LoggerFactory.getLogger(TaskServiceTest.class); @@ -71,4 +71,27 @@ public void findByUrl() throws Exception { } } + @Test + @Override + public void findById() throws Exception { + + } + + @Test + @Override + public void getAll() throws Exception { + + } + + @Test + @Override + public void count() throws Exception { + + } + + @Test + @Override + public void findByUniqueId() throws Exception { + + } } diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/TweetServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/TweetServiceTest.java index f5adc3ef..9f6eb1f8 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/TweetServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/TweetServiceTest.java @@ -19,7 +19,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class TweetServiceTest { +public class TweetServiceTest implements DomainObjectMinimalServiceTest { private static final Logger log = LoggerFactory.getLogger(TweetServiceTest.class); @@ -266,4 +266,27 @@ public void findAllTweet2TickerSymbol() throws Exception { } } + @Test + @Override + public void findById() throws Exception { + + } + + @Test + @Override + public void getAll() throws Exception { + + } + + @Test + @Override + public void count() throws Exception { + + } + + @Test + @Override + public void findByUniqueId() throws Exception { + + } } diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/UrlServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/UrlServiceTest.java index 63fe80fc..95a9345f 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/UrlServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/UrlServiceTest.java @@ -16,7 +16,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class UrlServiceTest { +public class UrlServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithUrlTest { private static final Logger log = LoggerFactory.getLogger(UrlServiceTest.class); @@ -68,4 +68,27 @@ public void findByUrl() throws Exception { } } + @Test + @Override + public void findById() throws Exception { + + } + + @Test + @Override + public void getAll() throws Exception { + + } + + @Test + @Override + public void count() throws Exception { + + } + + @Test + @Override + public void findByUniqueId() throws Exception { + + } } diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/UserListServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/UserListServiceTest.java new file mode 100644 index 00000000..e9868daa --- /dev/null +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/UserListServiceTest.java @@ -0,0 +1,57 @@ +package org.woehlke.twitterwall.oodm.service; + +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) +public class UserListServiceTest implements DomainObjectMinimalServiceTest { + + private static final Logger log = LoggerFactory.getLogger(UserListServiceTest.class); + + @Autowired + private UserListService userListService; + + @Test + public void areDependenciesLoaded() throws Exception { + String msg = "areDependenciesLoaded: "; + Assert.assertNotNull(userListService); + log.debug(msg+" YES "); + } + + @Test + @Override + public void fetchTestData() throws Exception { + + } + + @Test + @Override + public void findById() throws Exception { + + } + + @Test + @Override + public void getAll() throws Exception { + + } + + @Test + @Override + public void count() throws Exception { + + } + + @Test + @Override + public void findByUniqueId() throws Exception { + + } +} diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/UserServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/UserServiceTest.java index 050d5fb4..10298b53 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/UserServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/UserServiceTest.java @@ -23,7 +23,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class UserServiceTest { +public class UserServiceTest implements DomainObjectMinimalServiceTest { private static final Logger log = LoggerFactory.getLogger(UserServiceTest.class); @@ -53,9 +53,11 @@ public class UserServiceTest { @Test public void areDependenciesLoaded() throws Exception { + String msg = "areDependenciesLoaded: "; Assert.assertNotNull(userService); Assert.assertNotNull(testdataProperties); Assert.assertNotNull(twitterProperties); + log.debug(msg+" YES "); } @Test @@ -376,4 +378,28 @@ public void findByidTwitterAndScreenNameUnique() throws Exception { Assert.assertEquals(msg,screenNameUnique,foundUser.getScreenNameUnique()); } } + + @Test + @Override + public void findById() throws Exception { + + } + + @Test + @Override + public void getAll() throws Exception { + + } + + @Test + @Override + public void count() throws Exception { + + } + + @Test + @Override + public void findByUniqueId() throws Exception { + + } } From 051dc5020d072d21f5ede60219cf6eeb50570a58 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Wed, 16 Aug 2017 11:27:58 +0200 Subject: [PATCH 12/21] new use cases --- .../service/DomainServiceWithTaskTest.java | 12 +++++++++++ .../oodm/service/HashTagServiceTest.java | 19 +++++++++++++++++- .../oodm/service/MediaServiceTest.java | 20 ++++++++++++++++++- .../oodm/service/MentionServiceTest.java | 20 ++++++++++++++++++- .../oodm/service/TickerSymbolServiceTest.java | 20 ++++++++++++++++++- .../oodm/service/TweetServiceTest.java | 20 ++++++++++++++++++- .../oodm/service/UrlServiceTest.java | 20 ++++++++++++++++++- .../oodm/service/UserListServiceTest.java | 20 ++++++++++++++++++- .../oodm/service/UserServiceTest.java | 20 ++++++++++++++++++- 9 files changed, 163 insertions(+), 8 deletions(-) create mode 100644 src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithTaskTest.java diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithTaskTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithTaskTest.java new file mode 100644 index 00000000..68360683 --- /dev/null +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithTaskTest.java @@ -0,0 +1,12 @@ +package org.woehlke.twitterwall.oodm.service; + +import org.woehlke.twitterwall.oodm.entities.Task; + +public interface DomainServiceWithTaskTest { + + void store() throws Exception; + + void create() throws Exception; + + void update() throws Exception; +} diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/HashTagServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/HashTagServiceTest.java index c7f56a85..0e14c872 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/HashTagServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/HashTagServiceTest.java @@ -17,7 +17,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class HashTagServiceTest implements DomainObjectMinimalServiceTest { +public class HashTagServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithTaskTest { private static final Logger log = LoggerFactory.getLogger(HashTagServiceTest.class); @@ -132,4 +132,21 @@ public void findByUniqueId() throws Exception { } + @Test + @Override + public void store() throws Exception { + + } + + @Test + @Override + public void create() throws Exception { + + } + + @Test + @Override + public void update() throws Exception { + + } } diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/MediaServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/MediaServiceTest.java index 52f019c3..d974b188 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/MediaServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/MediaServiceTest.java @@ -16,7 +16,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class MediaServiceTest implements DomainObjectMinimalServiceTest { +public class MediaServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithTaskTest { private static final Logger log = LoggerFactory.getLogger(MediaServiceTest.class); @@ -110,4 +110,22 @@ public void count() throws Exception { public void findByUniqueId() throws Exception { } + + @Test + @Override + public void store() throws Exception { + + } + + @Test + @Override + public void create() throws Exception { + + } + + @Test + @Override + public void update() throws Exception { + + } } diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/MentionServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/MentionServiceTest.java index 5615cd66..72e7bedd 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/MentionServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/MentionServiceTest.java @@ -21,7 +21,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class MentionServiceTest implements DomainObjectMinimalServiceTest { +public class MentionServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithTaskTest { private static final Logger log = LoggerFactory.getLogger(MentionServiceTest.class); @@ -150,4 +150,22 @@ public void count() throws Exception { public void findByUniqueId() throws Exception { } + + @Test + @Override + public void store() throws Exception { + + } + + @Test + @Override + public void create() throws Exception { + + } + + @Test + @Override + public void update() throws Exception { + + } } diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/TickerSymbolServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/TickerSymbolServiceTest.java index 1df76712..b4812a74 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/TickerSymbolServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/TickerSymbolServiceTest.java @@ -17,7 +17,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class TickerSymbolServiceTest implements DomainObjectMinimalServiceTest { +public class TickerSymbolServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithTaskTest { private static final Logger log = LoggerFactory.getLogger(TaskServiceTest.class); @@ -94,4 +94,22 @@ public void count() throws Exception { public void findByUniqueId() throws Exception { } + + @Test + @Override + public void store() throws Exception { + + } + + @Test + @Override + public void create() throws Exception { + + } + + @Test + @Override + public void update() throws Exception { + + } } diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/TweetServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/TweetServiceTest.java index 9f6eb1f8..c69cd5c0 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/TweetServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/TweetServiceTest.java @@ -19,7 +19,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class TweetServiceTest implements DomainObjectMinimalServiceTest { +public class TweetServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithTaskTest { private static final Logger log = LoggerFactory.getLogger(TweetServiceTest.class); @@ -289,4 +289,22 @@ public void count() throws Exception { public void findByUniqueId() throws Exception { } + + @Test + @Override + public void store() throws Exception { + + } + + @Test + @Override + public void create() throws Exception { + + } + + @Test + @Override + public void update() throws Exception { + + } } diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/UrlServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/UrlServiceTest.java index 95a9345f..6a9ab8ac 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/UrlServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/UrlServiceTest.java @@ -16,7 +16,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class UrlServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithUrlTest { +public class UrlServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithTaskTest,DomainServiceWithUrlTest { private static final Logger log = LoggerFactory.getLogger(UrlServiceTest.class); @@ -91,4 +91,22 @@ public void count() throws Exception { public void findByUniqueId() throws Exception { } + + @Test + @Override + public void store() throws Exception { + + } + + @Test + @Override + public void create() throws Exception { + + } + + @Test + @Override + public void update() throws Exception { + + } } diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/UserListServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/UserListServiceTest.java index e9868daa..8937fa39 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/UserListServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/UserListServiceTest.java @@ -11,7 +11,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class UserListServiceTest implements DomainObjectMinimalServiceTest { +public class UserListServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithTaskTest { private static final Logger log = LoggerFactory.getLogger(UserListServiceTest.class); @@ -54,4 +54,22 @@ public void count() throws Exception { public void findByUniqueId() throws Exception { } + + @Test + @Override + public void store() throws Exception { + + } + + @Test + @Override + public void create() throws Exception { + + } + + @Test + @Override + public void update() throws Exception { + + } } diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/UserServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/UserServiceTest.java index 10298b53..58b21204 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/UserServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/UserServiceTest.java @@ -23,7 +23,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class UserServiceTest implements DomainObjectMinimalServiceTest { +public class UserServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithTaskTest { private static final Logger log = LoggerFactory.getLogger(UserServiceTest.class); @@ -402,4 +402,22 @@ public void count() throws Exception { public void findByUniqueId() throws Exception { } + + @Test + @Override + public void store() throws Exception { + + } + + @Test + @Override + public void create() throws Exception { + + } + + @Test + @Override + public void update() throws Exception { + + } } From 7e7321031ef7a72e4b8c4ebfc4433b0f9ea11b2e Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Wed, 16 Aug 2017 11:33:41 +0200 Subject: [PATCH 13/21] new use cases --- .../twitterwall/oodm/service/DomainServiceWithTaskTest.java | 1 - .../org/woehlke/twitterwall/oodm/service/MediaServiceTest.java | 2 +- .../woehlke/twitterwall/oodm/service/MentionServiceTest.java | 2 +- .../twitterwall/oodm/service/TickerSymbolServiceTest.java | 2 +- .../org/woehlke/twitterwall/oodm/service/TweetServiceTest.java | 2 +- 5 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithTaskTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithTaskTest.java index 68360683..8a5b416e 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithTaskTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/DomainServiceWithTaskTest.java @@ -1,6 +1,5 @@ package org.woehlke.twitterwall.oodm.service; -import org.woehlke.twitterwall.oodm.entities.Task; public interface DomainServiceWithTaskTest { diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/MediaServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/MediaServiceTest.java index d974b188..f545d5b1 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/MediaServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/MediaServiceTest.java @@ -16,7 +16,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class MediaServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithTaskTest { +public class MediaServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithTaskTest,DomainServiceWithIdTwitterTest,DomainServiceWithUrlTest { private static final Logger log = LoggerFactory.getLogger(MediaServiceTest.class); diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/MentionServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/MentionServiceTest.java index 72e7bedd..8ac80508 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/MentionServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/MentionServiceTest.java @@ -21,7 +21,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class MentionServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithTaskTest { +public class MentionServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithTaskTest,DomainServiceWithScreenNameTest,DomainServiceWithIdTwitterTest { private static final Logger log = LoggerFactory.getLogger(MentionServiceTest.class); diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/TickerSymbolServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/TickerSymbolServiceTest.java index b4812a74..f0cea515 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/TickerSymbolServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/TickerSymbolServiceTest.java @@ -17,7 +17,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class TickerSymbolServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithTaskTest { +public class TickerSymbolServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithTaskTest,DomainServiceWithUrlTest { private static final Logger log = LoggerFactory.getLogger(TaskServiceTest.class); diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/TweetServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/TweetServiceTest.java index c69cd5c0..abb50bb0 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/TweetServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/TweetServiceTest.java @@ -19,7 +19,7 @@ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -public class TweetServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithTaskTest { +public class TweetServiceTest implements DomainObjectMinimalServiceTest,DomainServiceWithTaskTest ,DomainServiceWithIdTwitterTest{ private static final Logger log = LoggerFactory.getLogger(TweetServiceTest.class); From 6e8b620b3547c3923dc74d7279853ca3ded3d0d8 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Wed, 16 Aug 2017 11:48:52 +0200 Subject: [PATCH 14/21] added use cases --- .../resources/templates/application/management.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/resources/templates/application/management.html b/src/main/resources/templates/application/management.html index 32510c3f..4e26ca3a 100644 --- a/src/main/resources/templates/application/management.html +++ b/src/main/resources/templates/application/management.html @@ -66,27 +66,27 @@

    Your Options:

    Start Task: update Users
    - + Start Task: getHomeTimeline - + Start Task: getUserTimeline - + Start Task: getMentions - + Start Task: getFavorites - + Start Task: getRetweetsOfMe - + Start Task: getLists From 0ef27a267441ad0719e0fe6e7caba37c3972dfc2 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Thu, 17 Aug 2017 00:06:00 +0200 Subject: [PATCH 15/21] working on #247, working on #248, working on #249, working on #250, working on #251, working on #252, working on #253 --- .../oodm/service/UserListService.java | 3 +- .../service/impl/UserListServiceImpl.java | 4 +- .../common/TwitterwallMessageBuilder.java | 4 + .../impl/TwitterwallMessageBuilderImpl.java | 14 +++ .../splitter/impl/FavoritesSplitterImpl.java | 42 ++++++- .../impl/HomeTimelineSplitterImpl.java | 41 ++++++- .../splitter/impl/MentionsSplitterImpl.java | 42 ++++++- .../impl/RetweetsOfMeSplitterImpl.java | 42 ++++++- .../impl/UserTimelineSplitterImpl.java | 42 ++++++- .../services/impl/ListFinisherImpl.java | 47 +++++++- .../services/impl/ListsPersistorImpl.java | 29 ++++- .../services/impl/ListsTransformatorImpl.java | 27 ++++- .../splitter/impl/ListsSplitterImpl.java | 43 ++++++- .../scheduled/mq/msg/UserListMessage.java | 14 +++ .../scheduled/mq/msg/UserListResultList.java | 46 ++++++++ .../impl/StoreOneTweetPerformImpl.java | 6 - .../transform/UserListTransformService.java | 7 ++ .../transform/common/TransformService.java | 4 +- .../impl/UserListTransformServiceImpl.java | 28 +++++ src/main/resources/application.yml | 1 - src/main/resources/integration.xml | 16 +-- .../twitterwall/ScheduledTasksTest.java | 30 +++++ .../mq/endpoint/AsyncStartTaskTest.java | 14 ++- .../mq/endpoint/AsyncStartTaskTestImpl.java | 108 +++++++++++++++++ .../scheduled/mq/endpoint/StartTaskTest.java | 1 + .../mq/endpoint/StartTaskTestImpl.java | 109 ++++++++++++++++++ src/test/resources/application-test.yml | 12 -- test/db-count.sql | 1 + test/db-drop-tables.sql | 1 + test/db-reset.sql | 1 + 30 files changed, 731 insertions(+), 48 deletions(-) create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/service/transform/UserListTransformService.java create mode 100644 src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/UserListTransformServiceImpl.java diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/UserListService.java b/src/main/java/org/woehlke/twitterwall/oodm/service/UserListService.java index 9b554e1f..e220445f 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/UserListService.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/UserListService.java @@ -2,7 +2,8 @@ import org.woehlke.twitterwall.oodm.entities.UserList; import org.woehlke.twitterwall.oodm.service.common.DomainServiceWithIdTwitter; +import org.woehlke.twitterwall.oodm.service.common.DomainServiceWithTask; -public interface UserListService extends DomainServiceWithIdTwitter { +public interface UserListService extends DomainServiceWithIdTwitter,DomainServiceWithTask { } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserListServiceImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserListServiceImpl.java index 5bc554bc..64970827 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserListServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/UserListServiceImpl.java @@ -3,8 +3,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @@ -17,7 +15,7 @@ @Transactional(propagation = Propagation.REQUIRED, readOnly = true) public class UserListServiceImpl extends DomainServiceWithTaskImpl implements UserListService { - private static final Logger log = LoggerFactory.getLogger(UserServiceImpl.class); + private static final Logger log = LoggerFactory.getLogger(UserListServiceImpl.class); private final UserListRepository domainRepository; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/TwitterwallMessageBuilder.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/TwitterwallMessageBuilder.java index e47de42b..fd9906d3 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/TwitterwallMessageBuilder.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/TwitterwallMessageBuilder.java @@ -3,10 +3,12 @@ import org.springframework.messaging.Message; import org.springframework.social.twitter.api.Tweet; import org.springframework.social.twitter.api.TwitterProfile; +import org.springframework.social.twitter.api.UserList; import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.User; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; +import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; public interface TwitterwallMessageBuilder { @@ -32,4 +34,6 @@ public interface TwitterwallMessageBuilder { Message buildUserMessage(Message mqMessageIn, User imprintUser); void waitForApi(); + + Message buildUserListMessage(Message incomingTaskMessage, UserList userList, int loopId, int loopAll); } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/impl/TwitterwallMessageBuilderImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/impl/TwitterwallMessageBuilderImpl.java index 08893949..89f11d44 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/impl/TwitterwallMessageBuilderImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/impl/TwitterwallMessageBuilderImpl.java @@ -7,6 +7,7 @@ import org.springframework.messaging.Message; import org.springframework.social.twitter.api.Tweet; import org.springframework.social.twitter.api.TwitterProfile; +import org.springframework.social.twitter.api.UserList; import org.springframework.stereotype.Component; import org.woehlke.twitterwall.conf.properties.TwitterProperties; import org.woehlke.twitterwall.oodm.entities.Task; @@ -14,6 +15,7 @@ import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; +import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserMessage; @Component @@ -148,6 +150,18 @@ public void waitForApi() { } } + @Override + public Message buildUserListMessage(Message incomingTaskMessage, UserList userList, int loopId, int loopAll) { + UserListMessage outputPayload = new UserListMessage(incomingTaskMessage.getPayload(),userList); + Message mqMessageOut = + MessageBuilder.withPayload(outputPayload) + .copyHeaders(incomingTaskMessage.getHeaders()) + .setHeader("loop_id",loopId) + .setHeader("loop_all",loopAll) + .build(); + return mqMessageOut; + } + @Autowired public TwitterwallMessageBuilderImpl(TwitterProperties twitterProperties) { this.twitterProperties = twitterProperties; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/FavoritesSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/FavoritesSplitterImpl.java index 81f7b970..2ea08812 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/FavoritesSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/FavoritesSplitterImpl.java @@ -1,17 +1,57 @@ package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.impl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; +import org.springframework.social.twitter.api.Tweet; import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.oodm.entities.Task; +import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; +import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; +import org.woehlke.twitterwall.oodm.service.TaskService; +import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.FavoritesSplitter; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; +import org.woehlke.twitterwall.scheduled.service.remote.TwitterApiService; +import java.util.ArrayList; import java.util.List; @Component("mqFavoritesSplitter") public class FavoritesSplitterImpl implements FavoritesSplitter { + + private final TwitterApiService twitterApiService; + + private final TaskService taskService; + + private final CountedEntitiesService countedEntitiesService; + + private final TwitterwallMessageBuilder twitterwallMessageBuilder; + + @Autowired + public FavoritesSplitterImpl(TwitterApiService twitterApiService, TaskService taskService, CountedEntitiesService countedEntitiesService, TwitterwallMessageBuilder twitterwallMessageBuilder) { + this.twitterApiService = twitterApiService; + this.taskService = taskService; + this.countedEntitiesService = countedEntitiesService; + this.twitterwallMessageBuilder = twitterwallMessageBuilder; + } + @Override public List> splitTweetMessage(Message message) { - return null; + CountedEntities countedEntities = countedEntitiesService.countAll(); + List> tweets = new ArrayList<>(); + TaskMessage msgIn = message.getPayload(); + long id = msgIn.getTaskId(); + Task task = taskService.findById(id); + task = taskService.start(task,countedEntities); + List twitterTweets = twitterApiService.getFavorites(); + int loopId = 0; + int loopAll = twitterTweets.size(); + for (Tweet tweet: twitterTweets) { + loopId++; + Message mqMessageOut = twitterwallMessageBuilder.buildTweetMessage(message,tweet,loopId,loopAll); + tweets.add(mqMessageOut); + } + return tweets; } } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/HomeTimelineSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/HomeTimelineSplitterImpl.java index 5e752e6d..b058cc19 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/HomeTimelineSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/HomeTimelineSplitterImpl.java @@ -1,18 +1,57 @@ package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.impl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; +import org.springframework.social.twitter.api.Tweet; import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.oodm.entities.Task; +import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; +import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; +import org.woehlke.twitterwall.oodm.service.TaskService; +import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.HomeTimelineSplitter; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; +import org.woehlke.twitterwall.scheduled.service.remote.TwitterApiService; +import java.util.ArrayList; import java.util.List; @Component("mqHomeTimelineSplitter") public class HomeTimelineSplitterImpl implements HomeTimelineSplitter { + private final TwitterApiService twitterApiService; + + private final TaskService taskService; + + private final CountedEntitiesService countedEntitiesService; + + private final TwitterwallMessageBuilder twitterwallMessageBuilder; + + @Autowired + public HomeTimelineSplitterImpl(TwitterApiService twitterApiService, TaskService taskService, CountedEntitiesService countedEntitiesService, TwitterwallMessageBuilder twitterwallMessageBuilder) { + this.twitterApiService = twitterApiService; + this.taskService = taskService; + this.countedEntitiesService = countedEntitiesService; + this.twitterwallMessageBuilder = twitterwallMessageBuilder; + } + @Override public List> splitTweetMessage(Message message) { - return null; + CountedEntities countedEntities = countedEntitiesService.countAll(); + List> tweets = new ArrayList<>(); + TaskMessage msgIn = message.getPayload(); + long id = msgIn.getTaskId(); + Task task = taskService.findById(id); + task = taskService.start(task,countedEntities); + List twitterTweets = twitterApiService.getHomeTimeline(); + int loopId = 0; + int loopAll = twitterTweets.size(); + for (Tweet tweet: twitterTweets) { + loopId++; + Message mqMessageOut = twitterwallMessageBuilder.buildTweetMessage(message,tweet,loopId,loopAll); + tweets.add(mqMessageOut); + } + return tweets; } } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/MentionsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/MentionsSplitterImpl.java index 7f909cd9..7725ba1c 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/MentionsSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/MentionsSplitterImpl.java @@ -1,17 +1,57 @@ package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.impl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; +import org.springframework.social.twitter.api.Tweet; import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.oodm.entities.Task; +import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; +import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; +import org.woehlke.twitterwall.oodm.service.TaskService; +import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.MentionsSplitter; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; +import org.woehlke.twitterwall.scheduled.service.remote.TwitterApiService; +import java.util.ArrayList; import java.util.List; @Component("mqMentionsSplitter") public class MentionsSplitterImpl implements MentionsSplitter { + + private final TwitterApiService twitterApiService; + + private final TaskService taskService; + + private final CountedEntitiesService countedEntitiesService; + + private final TwitterwallMessageBuilder twitterwallMessageBuilder; + + @Autowired + public MentionsSplitterImpl(TwitterApiService twitterApiService, TaskService taskService, CountedEntitiesService countedEntitiesService, TwitterwallMessageBuilder twitterwallMessageBuilder) { + this.twitterApiService = twitterApiService; + this.taskService = taskService; + this.countedEntitiesService = countedEntitiesService; + this.twitterwallMessageBuilder = twitterwallMessageBuilder; + } + @Override public List> splitTweetMessage(Message message) { - return null; + CountedEntities countedEntities = countedEntitiesService.countAll(); + List> tweets = new ArrayList<>(); + TaskMessage msgIn = message.getPayload(); + long id = msgIn.getTaskId(); + Task task = taskService.findById(id); + task = taskService.start(task,countedEntities); + List twitterTweets = twitterApiService.getMentions(); + int loopId = 0; + int loopAll = twitterTweets.size(); + for (Tweet tweet: twitterTweets) { + loopId++; + Message mqMessageOut = twitterwallMessageBuilder.buildTweetMessage(message,tweet,loopId,loopAll); + tweets.add(mqMessageOut); + } + return tweets; } } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/RetweetsOfMeSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/RetweetsOfMeSplitterImpl.java index 219c485c..3ab7b212 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/RetweetsOfMeSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/RetweetsOfMeSplitterImpl.java @@ -1,18 +1,58 @@ package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.impl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; +import org.springframework.social.twitter.api.Tweet; import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.oodm.entities.Task; +import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; +import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; +import org.woehlke.twitterwall.oodm.service.TaskService; +import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.RetweetsOfMeSplitter; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; +import org.woehlke.twitterwall.scheduled.service.remote.TwitterApiService; +import java.util.ArrayList; import java.util.List; @Component("mqRetweetsOfMeSplitter") public class RetweetsOfMeSplitterImpl implements RetweetsOfMeSplitter { + private final TwitterApiService twitterApiService; + + private final TaskService taskService; + + private final CountedEntitiesService countedEntitiesService; + + private final TwitterwallMessageBuilder twitterwallMessageBuilder; + + @Autowired + public RetweetsOfMeSplitterImpl(TwitterApiService twitterApiService, TaskService taskService, CountedEntitiesService countedEntitiesService, TwitterwallMessageBuilder twitterwallMessageBuilder) { + this.twitterApiService = twitterApiService; + this.taskService = taskService; + this.countedEntitiesService = countedEntitiesService; + this.twitterwallMessageBuilder = twitterwallMessageBuilder; + } + + @Override public List> splitTweetMessage(Message message) { - return null; + CountedEntities countedEntities = countedEntitiesService.countAll(); + List> tweets = new ArrayList<>(); + TaskMessage msgIn = message.getPayload(); + long id = msgIn.getTaskId(); + Task task = taskService.findById(id); + task = taskService.start(task,countedEntities); + List twitterTweets = twitterApiService.getRetweetsOfMe(); + int loopId = 0; + int loopAll = twitterTweets.size(); + for (Tweet tweet: twitterTweets) { + loopId++; + Message mqMessageOut = twitterwallMessageBuilder.buildTweetMessage(message,tweet,loopId,loopAll); + tweets.add(mqMessageOut); + } + return tweets; } } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/UserTimelineSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/UserTimelineSplitterImpl.java index 300c645a..11f2d5ee 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/UserTimelineSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/UserTimelineSplitterImpl.java @@ -1,18 +1,58 @@ package org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.impl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; +import org.springframework.social.twitter.api.Tweet; import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.oodm.entities.Task; +import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; +import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; +import org.woehlke.twitterwall.oodm.service.TaskService; +import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.endpoint.tweets.splitter.UserTimelineSplitter; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.TweetMessage; +import org.woehlke.twitterwall.scheduled.service.remote.TwitterApiService; +import java.util.ArrayList; import java.util.List; @Component("mqUserTimelineSplitter") public class UserTimelineSplitterImpl implements UserTimelineSplitter { + + private final TwitterApiService twitterApiService; + + private final TaskService taskService; + + private final CountedEntitiesService countedEntitiesService; + + private final TwitterwallMessageBuilder twitterwallMessageBuilder; + + @Autowired + public UserTimelineSplitterImpl(TwitterApiService twitterApiService, TaskService taskService, CountedEntitiesService countedEntitiesService, TwitterwallMessageBuilder twitterwallMessageBuilder) { + this.twitterApiService = twitterApiService; + this.taskService = taskService; + this.countedEntitiesService = countedEntitiesService; + this.twitterwallMessageBuilder = twitterwallMessageBuilder; + } + @Override public List> splitTweetMessage(Message message) { - return null; + CountedEntities countedEntities = countedEntitiesService.countAll(); + List> tweets = new ArrayList<>(); + TaskMessage msgIn = message.getPayload(); + long id = msgIn.getTaskId(); + Task task = taskService.findById(id); + task = taskService.start(task,countedEntities); + List twitterTweets = twitterApiService.getUserTimeline(); + int loopId = 0; + int loopAll = twitterTweets.size(); + for (Tweet tweet: twitterTweets) { + loopId++; + Message mqMessageOut = twitterwallMessageBuilder.buildTweetMessage(message,tweet,loopId,loopAll); + tweets.add(mqMessageOut); + } + return tweets; } } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListFinisherImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListFinisherImpl.java index 0ae16df2..28771f65 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListFinisherImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListFinisherImpl.java @@ -1,25 +1,68 @@ package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.services.impl; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.oodm.entities.Task; +import org.woehlke.twitterwall.oodm.entities.UserList; +import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; +import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; +import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.services.ListFinisher; +import org.woehlke.twitterwall.scheduled.mq.endpoint.users.services.impl.UserFinisherImpl; import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserListResultList; +import java.util.ArrayList; import java.util.List; -@Component("mqListFinisher") +@Component("mqUserListsFinisher") public class ListFinisherImpl implements ListFinisher { //TODO: #252 https://github.com/phasenraum2010/twitterwall2/issues/252 @Override public Message finish(Message> incomingMessageList) { - return null; + List resultList = new ArrayList<>(); + long taskId = 0L; + for(UserListMessage msg:incomingMessageList.getPayload()){ + resultList.add( msg.getUserList()); + taskId = msg.getTaskMessage().getTaskId(); + } + UserListResultList result = new UserListResultList(taskId,resultList); + Message mqMessageOut = MessageBuilder.withPayload(result) + .copyHeaders(incomingMessageList.getHeaders()) + .setHeader("persisted",Boolean.TRUE) + .build(); + return mqMessageOut; } //TODO: #252 https://github.com/phasenraum2010/twitterwall2/issues/252 @Override public void finishAsnyc(Message> incomingMessageList) { + CountedEntities countedEntities = countedEntitiesService.countAll(); + long taskId = 0L; + for(UserListMessage msg:incomingMessageList.getPayload()){ + taskId = msg.getTaskMessage().getTaskId(); + break; + } + Task task = taskService.findById(taskId); + String msgDone = "Sucessfully finished task "+task.getTaskType()+" via MQ by FIRE_AND_FORGET_SENDER"; + taskService.done(msgDone,task,countedEntities); + log.info(msgDone); + } + @Autowired + public ListFinisherImpl(TaskService taskService, CountedEntitiesService countedEntitiesService) { + this.taskService = taskService; + this.countedEntitiesService = countedEntitiesService; } + + private final TaskService taskService; + + private final CountedEntitiesService countedEntitiesService; + + private static final Logger log = LoggerFactory.getLogger(UserFinisherImpl.class); } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsPersistorImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsPersistorImpl.java index 758d6e5c..5f7743d9 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsPersistorImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsPersistorImpl.java @@ -1,16 +1,41 @@ package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.services.impl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.oodm.entities.Task; +import org.woehlke.twitterwall.oodm.entities.UserList; +import org.woehlke.twitterwall.oodm.service.TaskService; +import org.woehlke.twitterwall.oodm.service.UserListService; import org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.services.ListsPersistor; import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; -@Component("mqListsPersistor") +@Component("mqUserListPersistor") public class ListsPersistorImpl implements ListsPersistor { + private final TaskService taskService; + + private final UserListService userListService; + + @Autowired + public ListsPersistorImpl(TaskService taskService, UserListService userListService) { + this.taskService = taskService; + this.userListService = userListService; + } + //TODO: #252 https://github.com/phasenraum2010/twitterwall2/issues/252 @Override public Message persistList(Message incomingMessage) { - return null; + UserListMessage receivedMessage = incomingMessage.getPayload(); + long taskId = receivedMessage.getTaskMessage().getTaskId(); + Task task = taskService.findById(taskId); + UserList userListOut = userListService.store(receivedMessage.getUserList(),task); + UserListMessage newUserListMsg = new UserListMessage(receivedMessage.getTaskMessage(),receivedMessage.getUserListTwitter(),userListOut); + Message mqMessageOut = MessageBuilder.withPayload(newUserListMsg) + .copyHeaders(incomingMessage.getHeaders()) + .setHeader("persisted",Boolean.TRUE) + .build(); + return mqMessageOut; } } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsTransformatorImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsTransformatorImpl.java index 10dafc20..a2f0ac89 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsTransformatorImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/services/impl/ListsTransformatorImpl.java @@ -1,16 +1,39 @@ package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.services.impl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.integration.support.MessageBuilder; import org.springframework.messaging.Message; import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.oodm.entities.Task; +import org.woehlke.twitterwall.oodm.service.TaskService; import org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.services.ListsTransformator; import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; +import org.woehlke.twitterwall.scheduled.service.transform.UserListTransformService; -@Component("mqListsTransformator") +@Component("mqUserListTransformator") public class ListsTransformatorImpl implements ListsTransformator { + private final TaskService taskService; + + private final UserListTransformService userListTransformService; + + @Autowired + public ListsTransformatorImpl(TaskService taskService, UserListTransformService userListTransformService) { + this.taskService = taskService; + this.userListTransformService = userListTransformService; + } + //TODO: #252 https://github.com/phasenraum2010/twitterwall2/issues/252 @Override public Message transformList(Message incomingMessage) { - return null; + long taskId = incomingMessage.getPayload().getTaskMessage().getTaskId(); + Task task = taskService.findById(taskId); + org.woehlke.twitterwall.oodm.entities.UserList userListOut = userListTransformService.transform(incomingMessage.getPayload().getUserListTwitter(),task); + UserListMessage retVal = new UserListMessage(incomingMessage.getPayload().getTaskMessage(),incomingMessage.getPayload().getUserListTwitter(),userListOut); + Message mqMessageOut = MessageBuilder.withPayload(retVal) + .copyHeaders(incomingMessage.getHeaders()) + .setHeader("transformed",Boolean.TRUE) + .build(); + return mqMessageOut; } } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/splitter/impl/ListsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/splitter/impl/ListsSplitterImpl.java index 842e7ff1..75fc743d 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/splitter/impl/ListsSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/userlist/splitter/impl/ListsSplitterImpl.java @@ -1,19 +1,58 @@ package org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.splitter.impl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; +import org.springframework.social.twitter.api.UserList; import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.oodm.entities.Task; +import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; +import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; +import org.woehlke.twitterwall.oodm.service.TaskService; +import org.woehlke.twitterwall.scheduled.mq.endpoint.common.TwitterwallMessageBuilder; import org.woehlke.twitterwall.scheduled.mq.endpoint.userlist.splitter.ListsSplitter; import org.woehlke.twitterwall.scheduled.mq.msg.TaskMessage; import org.woehlke.twitterwall.scheduled.mq.msg.UserListMessage; +import org.woehlke.twitterwall.scheduled.service.remote.TwitterApiService; +import java.util.ArrayList; import java.util.List; -@Component("mqListsSplitter") +@Component("mqUserListsSplitter") public class ListsSplitterImpl implements ListsSplitter { + private final TwitterApiService twitterApiService; + + private final TaskService taskService; + + private final CountedEntitiesService countedEntitiesService; + + private final TwitterwallMessageBuilder twitterwallMessageBuilder; + + @Autowired + public ListsSplitterImpl(TwitterApiService twitterApiService, TaskService taskService, CountedEntitiesService countedEntitiesService, TwitterwallMessageBuilder twitterwallMessageBuilder) { + this.twitterApiService = twitterApiService; + this.taskService = taskService; + this.countedEntitiesService = countedEntitiesService; + this.twitterwallMessageBuilder = twitterwallMessageBuilder; + } + //TODO: #252 https://github.com/phasenraum2010/twitterwall2/issues/252 @Override public List> splitUserListMessage(Message incomingTaskMessage) { - return null; + CountedEntities countedEntities = countedEntitiesService.countAll(); + List> messageListOut = new ArrayList<>(); + TaskMessage msgIn = incomingTaskMessage.getPayload(); + long id = msgIn.getTaskId(); + Task task = taskService.findById(id); + task = taskService.start(task,countedEntities); + List fetchedUserList = twitterApiService.getLists(); + int loopId = 0; + int loopAll = fetchedUserList.size(); + for (UserList userList: fetchedUserList) { + loopId++; + Message mqMessageOut = twitterwallMessageBuilder.buildUserListMessage(incomingTaskMessage,userList,loopId,loopAll); + messageListOut.add(mqMessageOut); + } + return messageListOut; } } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserListMessage.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserListMessage.java index c861b656..a2042eb8 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserListMessage.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserListMessage.java @@ -25,6 +25,20 @@ public UserListMessage(TaskMessage taskMessage, UserList userListTwitter, org.wo this.idTwitter = idTwitter; } + public UserListMessage(TaskMessage taskMessage, UserList userListTwitter) { + this.taskMessage = taskMessage; + this.userListTwitter = userListTwitter; + this.userList = null; + this.idTwitter = userListTwitter.getId(); + } + + public UserListMessage(TaskMessage taskMessage, UserList userListTwitter, org.woehlke.twitterwall.oodm.entities.UserList userListOut) { + this.taskMessage = taskMessage; + this.userListTwitter = userListTwitter; + this.userList = userListOut; + this.idTwitter = userListTwitter.getId(); + } + public TaskMessage getTaskMessage() { return taskMessage; } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserListResultList.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserListResultList.java index 91f75a3a..50c99f0d 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserListResultList.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserListResultList.java @@ -1,4 +1,50 @@ package org.woehlke.twitterwall.scheduled.mq.msg; +import org.woehlke.twitterwall.oodm.entities.UserList; + +import java.util.List; + public class UserListResultList { + + private final long taskId; + private final List resultList; + + public UserListResultList(long taskId, List resultList) { + this.resultList=resultList; + this.taskId=taskId; + } + + public long getTaskId() { + return taskId; + } + + public List getResultList() { + return resultList; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof UserListResultList)) return false; + + UserListResultList that = (UserListResultList) o; + + if (taskId != that.taskId) return false; + return resultList != null ? resultList.equals(that.resultList) : that.resultList == null; + } + + @Override + public int hashCode() { + int result = (int) (taskId ^ (taskId >>> 32)); + result = 31 * result + (resultList != null ? resultList.hashCode() : 0); + return result; + } + + @Override + public String toString() { + return "UserListResultList{" + + "taskId=" + taskId + + ", resultList=" + resultList + + '}'; + } } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/persist/impl/StoreOneTweetPerformImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/persist/impl/StoreOneTweetPerformImpl.java index 7ab53144..d0b77377 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/service/persist/impl/StoreOneTweetPerformImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/persist/impl/StoreOneTweetPerformImpl.java @@ -4,9 +4,6 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; import org.woehlke.twitterwall.oodm.entities.parts.Entities; import org.woehlke.twitterwall.oodm.entities.Tweet; import org.woehlke.twitterwall.oodm.entities.User; @@ -17,10 +14,7 @@ /** * Created by tw on 09.07.17. */ - @Component -//@Service -//@Transactional(propagation = Propagation.REQUIRES_NEW, readOnly = false) public class StoreOneTweetPerformImpl implements StoreOneTweetPerform { /** Method because of recursive Method Call in this Method **/ diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/UserListTransformService.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/UserListTransformService.java new file mode 100644 index 00000000..3ee1ba62 --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/UserListTransformService.java @@ -0,0 +1,7 @@ +package org.woehlke.twitterwall.scheduled.service.transform; + +import org.woehlke.twitterwall.scheduled.service.transform.common.TransformService; + +public interface UserListTransformService extends TransformService { + +} diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/common/TransformService.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/common/TransformService.java index d0a966ef..bc25187a 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/common/TransformService.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/common/TransformService.java @@ -3,12 +3,10 @@ import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.common.DomainObject; -import java.io.Serializable; - /** * Created by tw on 28.06.17. */ -public interface TransformService { +public interface TransformService { T transform(SRC twitterObject, Task task); } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/UserListTransformServiceImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/UserListTransformServiceImpl.java new file mode 100644 index 00000000..a45146ec --- /dev/null +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/transform/impl/UserListTransformServiceImpl.java @@ -0,0 +1,28 @@ +package org.woehlke.twitterwall.scheduled.service.transform.impl; + +import org.springframework.stereotype.Component; +import org.woehlke.twitterwall.oodm.entities.Task; +import org.woehlke.twitterwall.oodm.entities.UserList; +import org.woehlke.twitterwall.scheduled.service.transform.UserListTransformService; + +@Component +public class UserListTransformServiceImpl implements UserListTransformService { + + @Override + public UserList transform(org.springframework.social.twitter.api.UserList twitterObject, Task task) { + Task createdBy = task; + Task updatedBy = null; + long idTwitter = twitterObject.getId(); + String name = twitterObject.getName(); + String fullName = twitterObject.getFullName(); + String uriPath = twitterObject.getUriPath(); + String description = twitterObject.getDescription(); + String slug = twitterObject.getSlug(); + boolean isPublic = twitterObject.isPublic(); + boolean isFollowing = twitterObject.isFollowing(); + int memberCount = twitterObject.getMemberCount(); + int subscriberCount = twitterObject.getSubscriberCount(); + UserList userList = new UserList(createdBy, updatedBy, idTwitter, name, fullName, uriPath, description, slug, isPublic, isFollowing, memberCount, subscriberCount); + return userList; + } +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 78cb7990..c7eac69f 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -230,7 +230,6 @@ twitterwall: - "https://t.co/4HBxydWdIE" - "https://t.co/hMMJBGFFKR" - "https://t.co/cbsEBiSW2E" - urlcache: user: idTwitter: #t3c_berlin diff --git a/src/main/resources/integration.xml b/src/main/resources/integration.xml index 483a3997..0cedef29 100644 --- a/src/main/resources/integration.xml +++ b/src/main/resources/integration.xml @@ -274,15 +274,15 @@ @@ -785,15 +785,15 @@ diff --git a/src/test/java/org/woehlke/twitterwall/ScheduledTasksTest.java b/src/test/java/org/woehlke/twitterwall/ScheduledTasksTest.java index 4c2837dc..1ae4df28 100644 --- a/src/test/java/org/woehlke/twitterwall/ScheduledTasksTest.java +++ b/src/test/java/org/woehlke/twitterwall/ScheduledTasksTest.java @@ -46,4 +46,34 @@ public void removeOldDataFromStorage() throws Exception { public void fetchFollower() throws Exception { scheduledTasks.fetchFollower(); } + + @Test + public void getHomeTimeline() throws Exception { + scheduledTasks.getHomeTimeline(); + } + + @Test + public void getUserTimeline() throws Exception { + scheduledTasks.getUserTimeline(); + } + + @Test + public void getMentions() throws Exception { + scheduledTasks.getMentions(); + } + + @Test + public void getFavorites() throws Exception { + scheduledTasks.getFavorites(); + } + + @Test + public void getRetweetsOfMe() throws Exception { + scheduledTasks.getRetweetsOfMe(); + } + + @Test + public void getLists() throws Exception { + scheduledTasks.getLists(); + } } diff --git a/src/test/java/org/woehlke/twitterwall/scheduled/mq/endpoint/AsyncStartTaskTest.java b/src/test/java/org/woehlke/twitterwall/scheduled/mq/endpoint/AsyncStartTaskTest.java index 0ba9c149..7decaf2e 100644 --- a/src/test/java/org/woehlke/twitterwall/scheduled/mq/endpoint/AsyncStartTaskTest.java +++ b/src/test/java/org/woehlke/twitterwall/scheduled/mq/endpoint/AsyncStartTaskTest.java @@ -20,5 +20,17 @@ public interface AsyncStartTaskTest { void fetchFriendsTest() throws Exception; - void removeOldDataFromStorageTest()throws Exception; + void removeOldDataFromStorageTest() throws Exception; + + void getHomeTimeline() throws Exception; + + void getUserTimeline() throws Exception; + + void getMentions() throws Exception; + + void getFavorites() throws Exception; + + void getRetweetsOfMe() throws Exception; + + void getLists() throws Exception; } diff --git a/src/test/java/org/woehlke/twitterwall/scheduled/mq/endpoint/AsyncStartTaskTestImpl.java b/src/test/java/org/woehlke/twitterwall/scheduled/mq/endpoint/AsyncStartTaskTestImpl.java index 3381f5ba..79e508bd 100644 --- a/src/test/java/org/woehlke/twitterwall/scheduled/mq/endpoint/AsyncStartTaskTestImpl.java +++ b/src/test/java/org/woehlke/twitterwall/scheduled/mq/endpoint/AsyncStartTaskTestImpl.java @@ -168,4 +168,112 @@ public void removeOldDataFromStorageTest() throws Exception { Assert.assertTrue(ok); log.info(msg+"FINISHED TEST"); } + + @Test + @Override + public void getHomeTimeline() throws Exception { + String msg = "getHomeTimeline: "; + log.info(msg+"START TEST"); + CountedEntities beforeTest = countedEntitiesService.countAll(); + Task task = this.mqAsyncStartTask.getHomeTimeline(); + log.info(msg+"created Task = "+task.getUniqueId()); + Assert.assertNotNull(task); + Assert.assertNotNull(task.getUniqueId()); + Assert.assertEquals(SendType.FIRE_AND_FORGET,task.getSendType()); + Assert.assertEquals(TaskType.FETCH_HOME_TIMELINE,task.getTaskType()); + CountedEntities afterTest = countedEntitiesService.countAll(); + boolean ok = assertCountedEntitiesReduced(beforeTest,afterTest); + Assert.assertTrue(ok); + log.info(msg+"FINISHED TEST"); + } + + @Test + @Override + public void getUserTimeline() throws Exception { + String msg = "getUserTimeline: "; + log.info(msg+"START TEST"); + CountedEntities beforeTest = countedEntitiesService.countAll(); + Task task = this.mqAsyncStartTask.getUserTimeline(); + log.info(msg+"created Task = "+task.getUniqueId()); + Assert.assertNotNull(task); + Assert.assertNotNull(task.getUniqueId()); + Assert.assertEquals(SendType.FIRE_AND_FORGET,task.getSendType()); + Assert.assertEquals(TaskType.FETCH_USER_TIMELINE,task.getTaskType()); + CountedEntities afterTest = countedEntitiesService.countAll(); + boolean ok = assertCountedEntitiesReduced(beforeTest,afterTest); + Assert.assertTrue(ok); + log.info(msg+"FINISHED TEST"); + } + + @Test + @Override + public void getMentions() throws Exception { + String msg = "getUserTimeline: "; + log.info(msg+"START TEST"); + CountedEntities beforeTest = countedEntitiesService.countAll(); + Task task = this.mqAsyncStartTask.getMentions(); + log.info(msg+"created Task = "+task.getUniqueId()); + Assert.assertNotNull(task); + Assert.assertNotNull(task.getUniqueId()); + Assert.assertEquals(SendType.FIRE_AND_FORGET,task.getSendType()); + Assert.assertEquals(TaskType.FETCH_MENTIONS,task.getTaskType()); + CountedEntities afterTest = countedEntitiesService.countAll(); + boolean ok = assertCountedEntitiesReduced(beforeTest,afterTest); + Assert.assertTrue(ok); + log.info(msg+"FINISHED TEST"); + } + + @Test + @Override + public void getFavorites() throws Exception { + String msg = "getFavorites: "; + log.info(msg+"START TEST"); + CountedEntities beforeTest = countedEntitiesService.countAll(); + Task task = this.mqAsyncStartTask.getFavorites(); + log.info(msg+"created Task = "+task.getUniqueId()); + Assert.assertNotNull(task); + Assert.assertNotNull(task.getUniqueId()); + Assert.assertEquals(SendType.FIRE_AND_FORGET,task.getSendType()); + Assert.assertEquals(TaskType.FETCH_FAVORITES,task.getTaskType()); + CountedEntities afterTest = countedEntitiesService.countAll(); + boolean ok = assertCountedEntitiesReduced(beforeTest,afterTest); + Assert.assertTrue(ok); + log.info(msg+"FINISHED TEST"); + } + + @Test + @Override + public void getRetweetsOfMe() throws Exception { + String msg = "getRetweetsOfMe: "; + log.info(msg+"START TEST"); + CountedEntities beforeTest = countedEntitiesService.countAll(); + Task task = this.mqAsyncStartTask.getRetweetsOfMe(); + log.info(msg+"created Task = "+task.getUniqueId()); + Assert.assertNotNull(task); + Assert.assertNotNull(task.getUniqueId()); + Assert.assertEquals(SendType.FIRE_AND_FORGET,task.getSendType()); + Assert.assertEquals(TaskType.FETCH_RETWEETS_OF_ME,task.getTaskType()); + CountedEntities afterTest = countedEntitiesService.countAll(); + boolean ok = assertCountedEntitiesReduced(beforeTest,afterTest); + Assert.assertTrue(ok); + log.info(msg+"FINISHED TEST"); + } + + @Test + @Override + public void getLists() throws Exception { + String msg = "getLists: "; + log.info(msg+"START TEST"); + CountedEntities beforeTest = countedEntitiesService.countAll(); + Task task = this.mqAsyncStartTask.getLists(); + log.info(msg+"created Task = "+task.getUniqueId()); + Assert.assertNotNull(task); + Assert.assertNotNull(task.getUniqueId()); + Assert.assertEquals(SendType.FIRE_AND_FORGET,task.getSendType()); + Assert.assertEquals(TaskType.FETCH_LISTS,task.getTaskType()); + CountedEntities afterTest = countedEntitiesService.countAll(); + boolean ok = assertCountedEntitiesReduced(beforeTest,afterTest); + Assert.assertTrue(ok); + log.info(msg+"FINISHED TEST"); + } } diff --git a/src/test/java/org/woehlke/twitterwall/scheduled/mq/endpoint/StartTaskTest.java b/src/test/java/org/woehlke/twitterwall/scheduled/mq/endpoint/StartTaskTest.java index 6cb6b2ec..2c00c561 100644 --- a/src/test/java/org/woehlke/twitterwall/scheduled/mq/endpoint/StartTaskTest.java +++ b/src/test/java/org/woehlke/twitterwall/scheduled/mq/endpoint/StartTaskTest.java @@ -11,4 +11,5 @@ public interface StartTaskTest extends AsyncStartTaskTest { void createTestDataUsersTest() throws Exception; void createTestDataTweetsTest() throws Exception; + } diff --git a/src/test/java/org/woehlke/twitterwall/scheduled/mq/endpoint/StartTaskTestImpl.java b/src/test/java/org/woehlke/twitterwall/scheduled/mq/endpoint/StartTaskTestImpl.java index df1987a0..feb5ccac 100644 --- a/src/test/java/org/woehlke/twitterwall/scheduled/mq/endpoint/StartTaskTestImpl.java +++ b/src/test/java/org/woehlke/twitterwall/scheduled/mq/endpoint/StartTaskTestImpl.java @@ -138,6 +138,7 @@ public void fetchFollowerTest() throws Exception { log.info(msg+"FINISHED TEST"); } + @Test @Override public void fetchFriendsTest() throws Exception { String msg = "fetchFollowerTest: "; @@ -176,6 +177,114 @@ public void removeOldDataFromStorageTest() throws Exception { log.info(msg+"FINISHED TEST"); } + @Test + @Override + public void getHomeTimeline() throws Exception { + String msg = "getHomeTimeline: "; + log.info(msg+"START TEST"); + CountedEntities beforeTest = countedEntitiesService.countAll(); + Task task = this.mqStartTask.getHomeTimeline(); + log.info(msg+"created Task = "+task.getUniqueId()); + Assert.assertNotNull(task); + Assert.assertNotNull(task.getUniqueId()); + Assert.assertEquals(SendType.SEND_AND_WAIT_FOR_RESULT,task.getSendType()); + Assert.assertEquals(TaskType.FETCH_HOME_TIMELINE,task.getTaskType()); + CountedEntities afterTest = countedEntitiesService.countAll(); + boolean ok = assertCountedEntitiesReduced(beforeTest,afterTest); + Assert.assertTrue(ok); + log.info(msg+"FINISHED TEST"); + } + + @Test + @Override + public void getUserTimeline() throws Exception { + String msg = "getUserTimeline: "; + log.info(msg+"START TEST"); + CountedEntities beforeTest = countedEntitiesService.countAll(); + Task task = this.mqStartTask.getUserTimeline(); + log.info(msg+"created Task = "+task.getUniqueId()); + Assert.assertNotNull(task); + Assert.assertNotNull(task.getUniqueId()); + Assert.assertEquals(SendType.SEND_AND_WAIT_FOR_RESULT,task.getSendType()); + Assert.assertEquals(TaskType.FETCH_USER_TIMELINE,task.getTaskType()); + CountedEntities afterTest = countedEntitiesService.countAll(); + boolean ok = assertCountedEntitiesReduced(beforeTest,afterTest); + Assert.assertTrue(ok); + log.info(msg+"FINISHED TEST"); + } + + @Test + @Override + public void getMentions() throws Exception { + String msg = "getMentions: "; + log.info(msg+"START TEST"); + CountedEntities beforeTest = countedEntitiesService.countAll(); + Task task = this.mqStartTask.getMentions(); + log.info(msg+"created Task = "+task.getUniqueId()); + Assert.assertNotNull(task); + Assert.assertNotNull(task.getUniqueId()); + Assert.assertEquals(SendType.SEND_AND_WAIT_FOR_RESULT,task.getSendType()); + Assert.assertEquals(TaskType.FETCH_MENTIONS,task.getTaskType()); + CountedEntities afterTest = countedEntitiesService.countAll(); + boolean ok = assertCountedEntitiesReduced(beforeTest,afterTest); + Assert.assertTrue(ok); + log.info(msg+"FINISHED TEST"); + } + + @Test + @Override + public void getFavorites() throws Exception { + String msg = "getFavorites: "; + log.info(msg+"START TEST"); + CountedEntities beforeTest = countedEntitiesService.countAll(); + Task task = this.mqStartTask.getFavorites(); + log.info(msg+"created Task = "+task.getUniqueId()); + Assert.assertNotNull(task); + Assert.assertNotNull(task.getUniqueId()); + Assert.assertEquals(SendType.SEND_AND_WAIT_FOR_RESULT,task.getSendType()); + Assert.assertEquals(TaskType.FETCH_FAVORITES,task.getTaskType()); + CountedEntities afterTest = countedEntitiesService.countAll(); + boolean ok = assertCountedEntitiesReduced(beforeTest,afterTest); + Assert.assertTrue(ok); + log.info(msg+"FINISHED TEST"); + } + + @Test + @Override + public void getRetweetsOfMe() throws Exception { + String msg = "getRetweetsOfMe: "; + log.info(msg+"START TEST"); + CountedEntities beforeTest = countedEntitiesService.countAll(); + Task task = this.mqStartTask.getRetweetsOfMe(); + log.info(msg+"created Task = "+task.getUniqueId()); + Assert.assertNotNull(task); + Assert.assertNotNull(task.getUniqueId()); + Assert.assertEquals(SendType.SEND_AND_WAIT_FOR_RESULT,task.getSendType()); + Assert.assertEquals(TaskType.FETCH_RETWEETS_OF_ME,task.getTaskType()); + CountedEntities afterTest = countedEntitiesService.countAll(); + boolean ok = assertCountedEntitiesReduced(beforeTest,afterTest); + Assert.assertTrue(ok); + log.info(msg+"FINISHED TEST"); + } + + @Test + @Override + public void getLists() throws Exception { + String msg = "getLists: "; + log.info(msg+"START TEST"); + CountedEntities beforeTest = countedEntitiesService.countAll(); + Task task = this.mqStartTask.getLists(); + log.info(msg+"created Task = "+task.getUniqueId()); + Assert.assertNotNull(task); + Assert.assertNotNull(task.getUniqueId()); + Assert.assertEquals(SendType.SEND_AND_WAIT_FOR_RESULT,task.getSendType()); + Assert.assertEquals(TaskType.FETCH_LISTS,task.getTaskType()); + CountedEntities afterTest = countedEntitiesService.countAll(); + boolean ok = assertCountedEntitiesReduced(beforeTest,afterTest); + Assert.assertTrue(ok); + log.info(msg+"FINISHED TEST"); + } + @Test public void createImprintUserTest() throws Exception { String msg = "createImprintUserTest: "; diff --git a/src/test/resources/application-test.yml b/src/test/resources/application-test.yml index 4e6e2024..28b96af3 100644 --- a/src/test/resources/application-test.yml +++ b/src/test/resources/application-test.yml @@ -6,8 +6,6 @@ endpoints: enabled: true logging: file: test/twitterwall.log.txt -#hibernate: - #dialect: org.hibernate.dialect.H2Dialect management: security: enabled: true @@ -15,17 +13,7 @@ spring: application: admin: enabled: true - datasource: - #driverClassName: org.h2.Driver - #platform: H2 - #url: jdbc:h2:mem:test - url: ${DATABASE_URL_TEST} jpa: - #hibernate: - # ddl-auto: create-drop - #properties: - # hibernate: - # dialect: org.hibernate.dialect.H2Dialect show-sql: true twitterwall: backend: diff --git a/test/db-count.sql b/test/db-count.sql index 8f206186..c7e96c7d 100644 --- a/test/db-count.sql +++ b/test/db-count.sql @@ -15,5 +15,6 @@ select count(*) from media; select count(*) from hashtag; select count(*) from tweet; select count(*) from userprofile; +select count(*) from userlist; select count(*) from task_history; select count(*) from task; diff --git a/test/db-drop-tables.sql b/test/db-drop-tables.sql index 62d486a2..99ceebac 100644 --- a/test/db-drop-tables.sql +++ b/test/db-drop-tables.sql @@ -15,6 +15,7 @@ drop table media; drop table hashtag; drop table tweet; drop table userprofile; +drop table userlist; drop table task_history; drop table task; drop sequence hibernate_sequence; diff --git a/test/db-reset.sql b/test/db-reset.sql index 38e08968..27c15415 100644 --- a/test/db-reset.sql +++ b/test/db-reset.sql @@ -15,6 +15,7 @@ delete from media; delete from hashtag; delete from tweet; delete from userprofile; +delete from userlist; delete from task_history; delete from task; From 49607df0d7a34518a773899a5bd654b1723d5287 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Thu, 17 Aug 2017 01:12:52 +0200 Subject: [PATCH 16/21] working on #247, working on #248, working on #249, working on #250, working on #251, working on #252, working on #253 --- .../controller/UserListController.java | 4 +- .../remote/impl/TwitterApiServiceImpl.java | 371 ++++++++++-------- .../controller/ApplicationControllerTest.java | 8 +- .../CountedEntitiesControllerTest.java | 24 +- .../controller/HashTagControllerTest.java | 6 + .../controller/ImprintControllerTest.java | 4 + .../controller/LoginControllerTest.java | 2 + .../controller/MediaControllerTest.java | 6 +- .../controller/MentionControllerTest.java | 6 +- .../controller/TaskControllerTest.java | 4 + .../controller/TaskHistoryControllerTest.java | 7 +- .../TickerSymbolControllerTest.java | 2 + .../controller/TweetControllerTest.java | 19 +- .../controller/UrlControllerTest.java | 6 +- .../controller/UserControllerTest.java | 24 +- .../controller/UserListControllerTest.java | 8 +- .../oodm/service/HashTagServiceTest.java | 12 + .../oodm/service/MediaServiceTest.java | 11 + .../oodm/service/MentionServiceTest.java | 13 + .../oodm/service/TaskHistoryServiceTest.java | 7 + .../oodm/service/TaskServiceTest.java | 13 + .../oodm/service/TickerSymbolServiceTest.java | 10 + .../oodm/service/TweetServiceTest.java | 17 + .../oodm/service/UrlServiceTest.java | 10 + .../oodm/service/UserListServiceTest.java | 9 + .../oodm/service/UserServiceTest.java | 25 ++ .../service/remote/TwitterUrlServiceTest.java | 3 - 27 files changed, 401 insertions(+), 230 deletions(-) diff --git a/src/main/java/org/woehlke/twitterwall/frontend/controller/UserListController.java b/src/main/java/org/woehlke/twitterwall/frontend/controller/UserListController.java index 5a468b31..62b79d7a 100644 --- a/src/main/java/org/woehlke/twitterwall/frontend/controller/UserListController.java +++ b/src/main/java/org/woehlke/twitterwall/frontend/controller/UserListController.java @@ -4,6 +4,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; @@ -35,7 +36,8 @@ public String getAll( Sort.Direction.ASC, "screenName" ); - model.addAttribute("userlists", userListService.getAll(pageRequest)); + Page userlists = userListService.getAll(pageRequest); + model.addAttribute("userlists", userlists); String symbol = Symbols.USER_ALL.toString(); String subtitle = "All Users"; model = controllerHelper.setupPage(model, title, subtitle, symbol); diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/remote/impl/TwitterApiServiceImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/remote/impl/TwitterApiServiceImpl.java index b92bcb5c..b3783f28 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/service/remote/impl/TwitterApiServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/remote/impl/TwitterApiServiceImpl.java @@ -27,23 +27,24 @@ public List findTweetsForSearchQuery() { String msg = MSG+"findTweetsForSearchQuery: "; log.debug(msg); List fetchedTweets; - try { - fetchedTweets = getTwitterProxy().searchOperations().search(twitterProperties.getSearchQuery(), twitterProperties.getPageSize()).getTweets(); - msg += " result: "; - if(fetchedTweets.size()==0){ - log.error(msg+" result.size: 0"); + while(true) { + try { + fetchedTweets = getTwitterProxy().searchOperations().search(twitterProperties.getSearchQuery(), twitterProperties.getPageSize()).getTweets(); + msg += " result: "; + if (fetchedTweets.size() == 0) { + log.error(msg + " result.size: 0"); + return new ArrayList<>(); + } else { + log.debug(msg + " result.size: " + fetchedTweets.size()); + return fetchedTweets; + } + } catch (RateLimitExceededException e) { + log.warn(msg + " Rate Limit Exceeded : "); + waitForApi(); + } catch (Exception e) { + log.error(msg + e.getMessage()); return new ArrayList<>(); - } else { - log.debug(msg+" result.size: "+fetchedTweets.size()); - return fetchedTweets; } - } catch (RateLimitExceededException e){ - log.warn(msg+" Rate Limit Exceeded : "); - waitForApi(); - return null; - } catch (Exception e) { - log.error(msg + e.getMessage()); - return new ArrayList<>(); } } @@ -52,20 +53,21 @@ public Tweet findOneTweetById(long tweetTwitterId) { String msg = MSG + "findOneTweetById: " + tweetTwitterId; log.debug(msg); Tweet result; - try { - result = getTwitterProxy().timelineOperations().getStatus(tweetTwitterId); - log.debug(msg + " Id: " + result.getId()); - msg += " result: "; - log.debug(msg + result); - return result; - } catch (RateLimitExceededException e) { - log.warn(msg + " Rate Limit Exceeded "); - waitForApi(); - return null; - } catch(Exception e){ - log.error(msg + e.getMessage()); - e.printStackTrace(); - return null; + while(true) { + try { + result = getTwitterProxy().timelineOperations().getStatus(tweetTwitterId); + log.debug(msg + " Id: " + result.getId()); + msg += " result: "; + log.debug(msg + result); + return result; + } catch (RateLimitExceededException e) { + log.warn(msg + " Rate Limit Exceeded "); + waitForApi(); + } catch (Exception e) { + log.error(msg + e.getMessage()); + e.printStackTrace(); + return null; + } } } @@ -74,23 +76,24 @@ public List getHomeTimeline() { String msg = MSG+"getHomeTimeline: "; log.debug(msg); List fetchedTweets; - try { - fetchedTweets = getTwitterProxy().timelineOperations().getHomeTimeline(); - msg += " result: "; - if(fetchedTweets.size()==0){ - log.error(msg+" result.size: 0"); + while(true) { + try { + fetchedTweets = getTwitterProxy().timelineOperations().getHomeTimeline(); + msg += " result: "; + if (fetchedTweets.size() == 0) { + log.error(msg + " result.size: 0"); + return new ArrayList<>(); + } else { + log.debug(msg + " result.size: " + fetchedTweets.size()); + return fetchedTweets; + } + } catch (RateLimitExceededException e) { + log.warn(msg + " Rate Limit Exceeded : "); + waitForApi(); + } catch (Exception e) { + log.error(msg + e.getMessage()); return new ArrayList<>(); - } else { - log.debug(msg+" result.size: "+fetchedTweets.size()); - return fetchedTweets; } - } catch (RateLimitExceededException e){ - log.warn(msg+" Rate Limit Exceeded : "); - waitForApi(); - return null; - } catch (Exception e) { - log.error(msg + e.getMessage()); - return new ArrayList<>(); } } @@ -99,23 +102,24 @@ public List getUserTimeline() { String msg = MSG+"getUserTimeline: "; log.debug(msg); List fetchedTweets; - try { - fetchedTweets = getTwitterProxy().timelineOperations().getUserTimeline(); - msg += " result: "; - if(fetchedTweets.size()==0){ - log.error(msg+" result.size: 0"); + while(true) { + try { + fetchedTweets = getTwitterProxy().timelineOperations().getUserTimeline(); + msg += " result: "; + if (fetchedTweets.size() == 0) { + log.error(msg + " result.size: 0"); + return new ArrayList<>(); + } else { + log.debug(msg + " result.size: " + fetchedTweets.size()); + return fetchedTweets; + } + } catch (RateLimitExceededException e) { + log.warn(msg + " Rate Limit Exceeded : "); + waitForApi(); + } catch (Exception e) { + log.error(msg + e.getMessage()); return new ArrayList<>(); - } else { - log.debug(msg+" result.size: "+fetchedTweets.size()); - return fetchedTweets; } - } catch (RateLimitExceededException e){ - log.warn(msg+" Rate Limit Exceeded : "); - waitForApi(); - return null; - } catch (Exception e) { - log.error(msg + e.getMessage()); - return new ArrayList<>(); } } @@ -124,23 +128,24 @@ public List getMentions() { String msg = MSG+"getMentions: "; log.debug(msg); List fetchedTweets; - try { - fetchedTweets = getTwitterProxy().timelineOperations().getMentions(); - msg += " result: "; - if(fetchedTweets.size()==0){ - log.error(msg+" result.size: 0"); + while(true) { + try { + fetchedTweets = getTwitterProxy().timelineOperations().getMentions(); + msg += " result: "; + if (fetchedTweets.size() == 0) { + log.error(msg + " result.size: 0"); + return new ArrayList<>(); + } else { + log.debug(msg + " result.size: " + fetchedTweets.size()); + return fetchedTweets; + } + } catch (RateLimitExceededException e) { + log.warn(msg + " Rate Limit Exceeded : "); + waitForApi(); + } catch (Exception e) { + log.error(msg + e.getMessage()); return new ArrayList<>(); - } else { - log.debug(msg+" result.size: "+fetchedTweets.size()); - return fetchedTweets; } - } catch (RateLimitExceededException e){ - log.warn(msg+" Rate Limit Exceeded : "); - waitForApi(); - return null; - } catch (Exception e) { - log.error(msg + e.getMessage()); - return new ArrayList<>(); } } @@ -149,23 +154,24 @@ public List getFavorites() { String msg = MSG+"getMentions: "; log.debug(msg); List fetchedTweets; - try { - fetchedTweets = getTwitterProxy().timelineOperations().getFavorites(); - msg += " result: "; - if(fetchedTweets.size()==0){ - log.error(msg+" result.size: 0"); + while(true) { + try { + fetchedTweets = getTwitterProxy().timelineOperations().getFavorites(); + msg += " result: "; + if (fetchedTweets.size() == 0) { + log.error(msg + " result.size: 0"); + return new ArrayList<>(); + } else { + log.debug(msg + " result.size: " + fetchedTweets.size()); + return fetchedTweets; + } + } catch (RateLimitExceededException e) { + log.warn(msg + " Rate Limit Exceeded : "); + waitForApi(); + } catch (Exception e) { + log.error(msg + e.getMessage()); return new ArrayList<>(); - } else { - log.debug(msg+" result.size: "+fetchedTweets.size()); - return fetchedTweets; } - } catch (RateLimitExceededException e){ - log.warn(msg+" Rate Limit Exceeded : "); - waitForApi(); - return null; - } catch (Exception e) { - log.error(msg + e.getMessage()); - return new ArrayList<>(); } } @@ -174,23 +180,24 @@ public List getRetweetsOfMe(){ String msg = MSG+"getMentions: "; log.debug(msg); List fetchedTweets; - try { - fetchedTweets = getTwitterProxy().timelineOperations().getRetweetsOfMe(); - msg += " result: "; - if(fetchedTweets.size()==0){ - log.error(msg+" result.size: 0"); + while(true) { + try { + fetchedTweets = getTwitterProxy().timelineOperations().getRetweetsOfMe(); + msg += " result: "; + if (fetchedTweets.size() == 0) { + log.error(msg + " result.size: 0"); + return new ArrayList<>(); + } else { + log.debug(msg + " result.size: " + fetchedTweets.size()); + return fetchedTweets; + } + } catch (RateLimitExceededException e) { + log.warn(msg + " Rate Limit Exceeded : "); + waitForApi(); + } catch (Exception e) { + log.error(msg + e.getMessage()); return new ArrayList<>(); - } else { - log.debug(msg+" result.size: "+fetchedTweets.size()); - return fetchedTweets; } - } catch (RateLimitExceededException e){ - log.warn(msg+" Rate Limit Exceeded : "); - waitForApi(); - return null; - } catch (Exception e) { - log.error(msg + e.getMessage()); - return new ArrayList<>(); } } @@ -199,23 +206,24 @@ public List getLists(){ String msg = MSG+"getMentions: "; log.debug(msg); List fetchedUserLists; - try { - fetchedUserLists = getTwitterProxy().listOperations().getLists(); - msg += " result: "; - if(fetchedUserLists.size()==0){ - log.error(msg+" result.size: 0"); + while(true) { + try { + fetchedUserLists = getTwitterProxy().listOperations().getLists(); + msg += " result: "; + if (fetchedUserLists.size() == 0) { + log.error(msg + " result.size: 0"); + return new ArrayList<>(); + } else { + log.debug(msg + " result.size: " + fetchedUserLists.size()); + return fetchedUserLists; + } + } catch (RateLimitExceededException e) { + log.warn(msg + " Rate Limit Exceeded : "); + waitForApi(); + } catch (Exception e) { + log.error(msg + e.getMessage()); return new ArrayList<>(); - } else { - log.debug(msg+" result.size: "+fetchedUserLists.size()); - return fetchedUserLists; } - } catch (RateLimitExceededException e){ - log.warn(msg+" Rate Limit Exceeded : "); - waitForApi(); - return null; - } catch (Exception e) { - log.error(msg + e.getMessage()); - return new ArrayList<>(); } } @@ -224,23 +232,24 @@ public TwitterProfile getUserProfileForTwitterId(long userProfileTwitterId) { String msg = MSG+"getUserProfileForTwitterId: "+userProfileTwitterId+" : "; log.debug(msg); TwitterProfile result; - try { - result = getTwitterProxy().userOperations().getUserProfile(userProfileTwitterId); - msg += " result: "; - log.debug(msg + " Id: " + result.getId()); - log.debug(msg + " ScreenName: " + result.getScreenName()); - log.debug(msg + " Name: " + result.getName()); - return result; - } catch (RateLimitExceededException e) { - log.warn(msg + " Rate Limit Exceeded : "); - waitForApi(); - return null; - } catch (ResourceNotFoundException e) { - log.warn(msg+" User not found : "+userProfileTwitterId); - return null; - } catch (Exception e) { - log.error(msg + e.getMessage()); - return null; + while(true) { + try { + result = getTwitterProxy().userOperations().getUserProfile(userProfileTwitterId); + msg += " result: "; + log.debug(msg + " Id: " + result.getId()); + log.debug(msg + " ScreenName: " + result.getScreenName()); + log.debug(msg + " Name: " + result.getName()); + return result; + } catch (RateLimitExceededException e) { + log.warn(msg + " Rate Limit Exceeded : "); + waitForApi(); + } catch (ResourceNotFoundException e) { + log.warn(msg + " User not found : " + userProfileTwitterId); + return null; + } catch (Exception e) { + log.error(msg + e.getMessage()); + return null; + } } } @@ -249,22 +258,23 @@ public TwitterProfile getUserProfileForScreenName(String screenName) { String msg = MSG+"getUserProfileForScreenName: "+screenName; log.debug(msg); TwitterProfile result; - try { - result = getTwitterProxy().userOperations().getUserProfile(screenName); - msg += " result: "; - log.debug(msg + " ScreenName: " + result.getScreenName()); - log.debug(msg + " Name: " + result.getName()); - return result; - } catch (RateLimitExceededException e){ - log.warn(msg+" Rate Limit Exceeded : "); - waitForApi(); - return null; - } catch (ResourceNotFoundException e) { - log.warn(msg+" User not found : "+screenName); - return null; - } catch (Exception e) { - log.error(msg + e.getMessage()); - return null; + while(true) { + try { + result = getTwitterProxy().userOperations().getUserProfile(screenName); + msg += " result: "; + log.debug(msg + " ScreenName: " + result.getScreenName()); + log.debug(msg + " Name: " + result.getName()); + return result; + } catch (RateLimitExceededException e) { + log.warn(msg + " Rate Limit Exceeded : "); + waitForApi(); + } catch (ResourceNotFoundException e) { + log.warn(msg + " User not found : " + screenName); + return null; + } catch (Exception e) { + log.error(msg + e.getMessage()); + return null; + } } } @@ -273,13 +283,18 @@ public List findUsersFromDefinedList(String screenName,String fe String msg = MSG+"findUsersFromDefinedList: "+fetchUserListName+" "; log.debug(msg); List result; - try { - result = getTwitterProxy().listOperations().getListMembers(screenName, fetchUserListName); - log.debug(msg + " result.size: " + result.size()); - return result; - } catch (Exception e) { - log.error(msg + e.getMessage()); - return new ArrayList<>(); + while(true) { + try { + result = getTwitterProxy().listOperations().getListMembers(screenName, fetchUserListName); + log.debug(msg + " result.size: " + result.size()); + return result; + } catch (RateLimitExceededException e) { + log.warn(msg + " Rate Limit Exceeded : "); + waitForApi(); + } catch (Exception e) { + log.error(msg + e.getMessage()); + return new ArrayList<>(); + } } } @@ -288,13 +303,18 @@ public CursoredList getFollowerIds() { String msg = MSG+"getFollowerIds: "; log.debug(msg); CursoredList result; - try { - result = getTwitterProxy().friendOperations().getFollowerIds(); - log.debug(msg + " result.size: " + result.size()); - return result; - } catch (Exception e) { - log.error(msg + e.getMessage()); - return new CursoredList<>(new ArrayList<>(),0L,0L); + while(true) { + try { + result = getTwitterProxy().friendOperations().getFollowerIds(); + log.debug(msg + " result.size: " + result.size()); + return result; + } catch (RateLimitExceededException e) { + log.warn(msg + " Rate Limit Exceeded : "); + waitForApi(); + } catch (Exception e) { + log.error(msg + e.getMessage()); + return new CursoredList<>(new ArrayList<>(), 0L, 0L); + } } } @@ -303,13 +323,18 @@ public CursoredList getFriendIds() { String msg = MSG+"findFriendss: "; log.debug(msg); CursoredList result; - try { - result = getTwitterProxy().friendOperations().getFriendIds(); - log.debug(msg + " result.size: " + result.size()); - return result; - } catch (Exception e) { - log.error(msg + e.getMessage()); - return new CursoredList<>(new ArrayList<>(),0L,0L); + while(true) { + try { + result = getTwitterProxy().friendOperations().getFriendIds(); + log.debug(msg + " result.size: " + result.size()); + return result; + } catch (RateLimitExceededException e) { + log.warn(msg + " Rate Limit Exceeded : "); + waitForApi(); + } catch (Exception e) { + log.error(msg + e.getMessage()); + return new CursoredList<>(new ArrayList<>(), 0L, 0L); + } } } diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/ApplicationControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/ApplicationControllerTest.java index b4cdd9eb..5525e20e 100644 --- a/src/test/java/org/woehlke/twitterwall/frontend/controller/ApplicationControllerTest.java +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/ApplicationControllerTest.java @@ -39,14 +39,14 @@ public class ApplicationControllerTest { @Autowired private PrepareDataTest prepareDataTest; - //@Commit + @Commit @Test public void controllerIsPresentTest(){ log.info("controllerIsPresentTest"); assertThat(controller).isNotNull(); } - //@Commit + @Commit @Test public void setupTestData() throws Exception { String msg = "setupTestData: "; @@ -56,7 +56,7 @@ public void setupTestData() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void domainCountTest() throws Exception { String msg ="domainCountTest: "; @@ -79,7 +79,7 @@ public void domainCountTest() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void managementPageTest() throws Exception { String msg ="managementPageTest: "; diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/CountedEntitiesControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/CountedEntitiesControllerTest.java index d08b534a..de5e4e79 100644 --- a/src/test/java/org/woehlke/twitterwall/frontend/controller/CountedEntitiesControllerTest.java +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/CountedEntitiesControllerTest.java @@ -38,14 +38,14 @@ public class CountedEntitiesControllerTest { @Autowired private MockMvc mockMvc; - //@Commit + @Commit @Test public void controllerIsPresentTest(){ log.info("controllerIsPresentTest"); assertThat(controller).isNotNull(); } - //@Commit + @Commit @Test public void setupTestData() throws Exception { String msg = "setupTestData: "; @@ -59,7 +59,7 @@ public void setupTestData() throws Exception { @WithMockUser - //@Commit + @Commit @Test public void domainCountTweet2hashtag() throws Exception { String msg ="domainCountTweet2hashtag: "; @@ -85,7 +85,7 @@ public void domainCountTweet2hashtag() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void domainCountTweet2media() throws Exception { String msg ="domainCountTweet2media: "; @@ -111,7 +111,7 @@ public void domainCountTweet2media() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void domainCountTweet2mention() throws Exception { String msg ="domainCountTweet2mention: "; @@ -137,7 +137,7 @@ public void domainCountTweet2mention() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void domainCountTweet2tickersymbol() throws Exception { String msg ="domainCountTweet2tickersymbol: "; @@ -163,7 +163,7 @@ public void domainCountTweet2tickersymbol() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void domainCountTweet2url() throws Exception { String msg ="domainCountTweet2url: "; @@ -189,7 +189,7 @@ public void domainCountTweet2url() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void domainCountUserprofile2hashtag() throws Exception { String msg ="domainCountUserprofile2hashtag: "; @@ -215,7 +215,7 @@ public void domainCountUserprofile2hashtag() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void domainCountUserprofile2media() throws Exception { String msg ="domainCountUserprofile2media: "; @@ -241,7 +241,7 @@ public void domainCountUserprofile2media() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void domainCountUserprofile2mention() throws Exception { String msg ="domainCountUserprofile2mention: "; @@ -267,7 +267,7 @@ public void domainCountUserprofile2mention() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void domainCountUserprofile2Tickersymbol() throws Exception { String msg ="domainCountUserprofile2Tickersymbol: "; @@ -293,7 +293,7 @@ public void domainCountUserprofile2Tickersymbol() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void domainCountUserprofile2Url() throws Exception { String msg ="domainCountUserprofile2Url: "; diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/HashTagControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/HashTagControllerTest.java index e4e51ba8..374d75e4 100644 --- a/src/test/java/org/woehlke/twitterwall/frontend/controller/HashTagControllerTest.java +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/HashTagControllerTest.java @@ -13,6 +13,7 @@ import org.springframework.data.domain.Pageable; import org.springframework.security.test.context.support.WithAnonymousUser; import org.springframework.security.test.context.support.WithMockUser; +import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; @@ -56,6 +57,7 @@ public void controllerIsPresentTest(){ assertThat(controller).isNotNull(); } + @Commit @Test public void setupTestData(){ String msg = "setupTestData: "; @@ -64,6 +66,7 @@ public void setupTestData(){ Assert.assertTrue(true); } + @Commit @WithMockUser @Test public void getAllTest() throws Exception { @@ -95,6 +98,7 @@ private HashTag findOneHashTag(){ } } + @Commit @WithAnonymousUser @Test public void findByIdTest() throws Exception { @@ -120,6 +124,7 @@ public void findByIdTest() throws Exception { Assert.assertTrue(true); } + @Commit @WithAnonymousUser @Test public void hashTagFromTweetsAndUsersTest() throws Exception { @@ -145,6 +150,7 @@ public void hashTagFromTweetsAndUsersTest() throws Exception { Assert.assertTrue(true); } + @Commit @WithAnonymousUser @Test public void hashTagsOverview() throws Exception { diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/ImprintControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/ImprintControllerTest.java index 62baace3..0f24a3bb 100644 --- a/src/test/java/org/woehlke/twitterwall/frontend/controller/ImprintControllerTest.java +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/ImprintControllerTest.java @@ -9,6 +9,7 @@ import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.security.test.context.support.WithAnonymousUser; +import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; @@ -52,6 +53,7 @@ public void controllerIsPresentTest(){ assertThat(controller).isNotNull(); } + @Commit @Test public void prepareDataTest() throws Exception { log.info("------------------------------------"); @@ -62,6 +64,7 @@ public void prepareDataTest() throws Exception { Assert.assertTrue(true); } + @Commit @WithAnonymousUser @Test public void imprintTest1() throws Exception { @@ -70,6 +73,7 @@ public void imprintTest1() throws Exception { Assert.assertTrue(true); } + @Commit @WithAnonymousUser @Test public void imprintTest2() throws Exception { diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/LoginControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/LoginControllerTest.java index bcb25fbf..788e080a 100644 --- a/src/test/java/org/woehlke/twitterwall/frontend/controller/LoginControllerTest.java +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/LoginControllerTest.java @@ -9,6 +9,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.woehlke.twitterwall.Application; @@ -36,6 +37,7 @@ public void controllerIsPresentTest(){ //TODO: #218 https://github.com/phasenraum2010/twitterwall2/issues/218 + @Commit @Ignore @Test public void login() throws Exception { diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/MediaControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/MediaControllerTest.java index 04bd62ac..cc26b790 100644 --- a/src/test/java/org/woehlke/twitterwall/frontend/controller/MediaControllerTest.java +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/MediaControllerTest.java @@ -38,14 +38,14 @@ public class MediaControllerTest { @Autowired private MockMvc mockMvc; - //@Commit + @Commit @Test public void controllerIsPresentTest(){ log.info("controllerIsPresentTest"); assertThat(controller).isNotNull(); } - //@Commit + @Commit @Test public void setupTestData() throws Exception { String msg = "setupTestData: "; @@ -55,7 +55,7 @@ public void setupTestData() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void getAllTest() throws Exception { String msg ="getAllTest: "; diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/MentionControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/MentionControllerTest.java index 5d5d33d0..7c1e7f4f 100644 --- a/src/test/java/org/woehlke/twitterwall/frontend/controller/MentionControllerTest.java +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/MentionControllerTest.java @@ -38,14 +38,14 @@ public class MentionControllerTest { @Autowired private MockMvc mockMvc; - //@Commit + @Commit @Test public void controllerIsPresentTest(){ log.info("controllerIsPresentTest"); assertThat(controller).isNotNull(); } - //@Commit + @Commit @Test public void setupTestData() throws Exception { String msg = "setupTestData: "; @@ -55,7 +55,7 @@ public void setupTestData() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void getAllTest() throws Exception { String msg ="getAllTest: "; diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/TaskControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/TaskControllerTest.java index 7f275ec9..7d66f842 100644 --- a/src/test/java/org/woehlke/twitterwall/frontend/controller/TaskControllerTest.java +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/TaskControllerTest.java @@ -59,6 +59,7 @@ public void controllerIsPresentTest(){ assertThat(controller).isNotNull(); } + @Commit @Test public void setupTestData() throws Exception { String msg = "setupTestData: "; @@ -67,6 +68,7 @@ public void setupTestData() throws Exception { Assert.assertTrue(true); } + @Commit @WithMockUser @Test public void getAllTest()throws Exception { @@ -87,6 +89,7 @@ public void getAllTest()throws Exception { Assert.assertTrue(true); } + @Commit @WithMockUser @Test public void getTaskByIdTest() throws Exception { @@ -136,6 +139,7 @@ public void createTestDataTest() throws Exception { Assert.assertTrue(true); } + @Commit @WithMockUser @Test public void getOnListRenewTest() throws Exception { diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/TaskHistoryControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/TaskHistoryControllerTest.java index 64c94d67..5e50c5af 100644 --- a/src/test/java/org/woehlke/twitterwall/frontend/controller/TaskHistoryControllerTest.java +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/TaskHistoryControllerTest.java @@ -9,6 +9,7 @@ import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.security.test.context.support.WithMockUser; +import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; @@ -37,14 +38,14 @@ public class TaskHistoryControllerTest { @Autowired private MockMvc mockMvc; - //@Commit + @Commit @Test public void controllerIsPresentTest(){ log.info("controllerIsPresentTest"); assertThat(controller).isNotNull(); } - //@Commit + @Commit @Test public void setupTestData() throws Exception { String msg = "setupTestData: "; @@ -54,7 +55,7 @@ public void setupTestData() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void getAllTest() throws Exception { String msg = "getAllTest: "; diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/TickerSymbolControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/TickerSymbolControllerTest.java index 9e4c4c4a..f6eff05b 100644 --- a/src/test/java/org/woehlke/twitterwall/frontend/controller/TickerSymbolControllerTest.java +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/TickerSymbolControllerTest.java @@ -9,6 +9,7 @@ import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.security.test.context.support.WithMockUser; +import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; @@ -51,6 +52,7 @@ public void setupTestData() throws Exception { Assert.assertTrue(true); } + @Commit @WithMockUser @Test public void getAllTest() throws Exception { diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/TweetControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/TweetControllerTest.java index f424f033..c5cf2dd9 100644 --- a/src/test/java/org/woehlke/twitterwall/frontend/controller/TweetControllerTest.java +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/TweetControllerTest.java @@ -13,6 +13,7 @@ import org.springframework.data.domain.Pageable; import org.springframework.security.test.context.support.WithAnonymousUser; import org.springframework.security.test.context.support.WithMockUser; +import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; @@ -51,14 +52,14 @@ public class TweetControllerTest { private PrepareDataTest prepareDataTest; - //@Commit + @Commit @Test public void controllerIsPresentTest(){ log.info("controllerIsPresentTest"); assertThat(controller).isNotNull(); } - //@Commit + @Commit @Test public void setupTestData() throws Exception { String msg = "setupTestData: "; @@ -68,7 +69,7 @@ public void setupTestData() throws Exception { } @WithAnonymousUser - //@Commit + @Commit @Test public void getLatestTweetsTest() throws Exception { String msg ="getLatestTweetsTest: "; @@ -101,7 +102,7 @@ private Tweet findOneTweet(){ } @WithMockUser - //@Commit + @Commit @Test public void getTweetById() throws Exception { String msg ="getLatestTweetsById: "; @@ -125,7 +126,7 @@ public void getTweetById() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void getHomeTimeline() throws Exception { String msg ="getHomeTimeline: "; @@ -148,7 +149,7 @@ public void getHomeTimeline() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void getUserTimeline() throws Exception { String msg ="getUserTimeline: "; @@ -171,7 +172,7 @@ public void getUserTimeline() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void getMentions() throws Exception { String msg ="getMentions: "; @@ -194,7 +195,7 @@ public void getMentions() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void getFavorites() throws Exception { String msg ="getFavorites: "; @@ -217,7 +218,7 @@ public void getFavorites() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void getRetweetsOfMe() throws Exception { String msg ="getRetweetsOfMe: "; diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/UrlControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/UrlControllerTest.java index e3765a23..8e844e9b 100644 --- a/src/test/java/org/woehlke/twitterwall/frontend/controller/UrlControllerTest.java +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/UrlControllerTest.java @@ -39,14 +39,14 @@ public class UrlControllerTest { @Autowired private MockMvc mockMvc; - //@Commit + @Commit @Test public void controllerIsPresentTest(){ log.info("controllerIsPresentTest"); assertThat(controller).isNotNull(); } - //@Commit + @Commit @Test public void setupTestData() throws Exception { String msg = "setupTestData: "; @@ -56,7 +56,7 @@ public void setupTestData() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void getAllTest() throws Exception { String msg ="getAllTest: "; diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/UserControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/UserControllerTest.java index 273f2eb8..461e2208 100644 --- a/src/test/java/org/woehlke/twitterwall/frontend/controller/UserControllerTest.java +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/UserControllerTest.java @@ -63,14 +63,14 @@ public class UserControllerTest { @Autowired private PrepareDataTest prepareDataTest; - //@Commit + @Commit @Test public void controllerIsPresentTest(){ log.info("controllerIsPresentTest"); assertThat(controller).isNotNull(); } - //@Commit + @Commit @Test public void setupTestData() throws Exception { String msg = "setupTestData: "; @@ -80,7 +80,7 @@ public void setupTestData() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void getAllTest() throws Exception { String msg = "getAllTest: "; @@ -112,7 +112,7 @@ private User findOneUser(){ } @WithMockUser - //@Commit + @Commit @Test public void getUserForIdTest() throws Exception { String msg = "getUserForIdTest: "; @@ -137,7 +137,7 @@ public void getUserForIdTest() throws Exception { } @WithAnonymousUser - //@Commit + @Commit @Test public void getUserForScreeNameTest() throws Exception { String msg = "getUserForScreeNameTest: "; @@ -161,7 +161,7 @@ public void getUserForScreeNameTest() throws Exception { } @WithAnonymousUser - //@Commit + @Commit @Test public void getTweetingUsersTest() throws Exception { String msg = "getTweetingUsersTest: "; @@ -183,7 +183,7 @@ public void getTweetingUsersTest() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void getNotYetFriendUsersTest() throws Exception { String msg = "getNotYetFriendUsersTest: "; @@ -205,7 +205,7 @@ public void getNotYetFriendUsersTest() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void getFriendUsersTest() throws Exception { String msg = "getFriendUsersTest: "; @@ -229,7 +229,7 @@ public void getFriendUsersTest() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void getFollowerTest() throws Exception { String msg = "getFollowerTest: "; @@ -253,7 +253,7 @@ public void getFollowerTest() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void getNotYetFollowerTest() throws Exception { String msg = "getNotYetFollowerTest: "; @@ -276,7 +276,7 @@ public void getNotYetFollowerTest() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void getOnListTest() throws Exception { String msg = "getOnListTest: "; @@ -298,7 +298,7 @@ public void getOnListTest() throws Exception { } @WithMockUser - //@Commit + @Commit @Test public void getNotYetOnListTest() throws Exception { String msg = "getNotYetOnListTest: "; diff --git a/src/test/java/org/woehlke/twitterwall/frontend/controller/UserListControllerTest.java b/src/test/java/org/woehlke/twitterwall/frontend/controller/UserListControllerTest.java index f838439f..d502a0f9 100644 --- a/src/test/java/org/woehlke/twitterwall/frontend/controller/UserListControllerTest.java +++ b/src/test/java/org/woehlke/twitterwall/frontend/controller/UserListControllerTest.java @@ -10,6 +10,7 @@ import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.security.test.context.support.WithMockUser; +import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.MvcResult; @@ -27,7 +28,6 @@ @AutoConfigureMockMvc public class UserListControllerTest { - private static final Logger log = LoggerFactory.getLogger(UserListControllerTest.class); @Autowired @@ -40,7 +40,7 @@ public class UserListControllerTest { private UserListService userListService; - //@Commit + @Commit @Test public void controllerIsPresentTest(){ log.info("controllerIsPresentTest"); @@ -48,7 +48,7 @@ public void controllerIsPresentTest(){ } @WithMockUser - //@Commit + @Commit @Test public void getAllTest() throws Exception { String msg = "getAllTest: "; @@ -71,7 +71,7 @@ public void getAllTest() throws Exception { //TODO: #252 https://github.com/phasenraum2010/twitterwall2/issues/252 @WithMockUser - //@Commit + @Commit @Test public void getUserListForIdTest() throws Exception { Assert.assertTrue(true); diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/HashTagServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/HashTagServiceTest.java index 0e14c872..a83b72f6 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/HashTagServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/HashTagServiceTest.java @@ -10,6 +10,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; +import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.woehlke.twitterwall.conf.properties.TestdataProperties; import org.woehlke.twitterwall.oodm.entities.HashTag; @@ -33,6 +34,7 @@ public void areDependenciesLoaded() throws Exception { Assert.assertNotNull(testdataProperties); } + @Commit @Test public void fetchTestData() throws Exception { String msg = "fetchTestData: "; @@ -50,6 +52,7 @@ public void fetchTestData() throws Exception { } } + @Commit @Test public void findByText() throws Exception { String msg = "findByText: "; @@ -75,6 +78,7 @@ public void findByText() throws Exception { * @see org.woehlke.twitterwall.oodm.repositories.custom.impl.HashTagRepositoryImpl#countAllTweet2HashTag(Pageable) * @see org.woehlke.twitterwall.oodm.service.impl.HashTagServiceImpl#getHashTagsTweets(Pageable) */ + @Commit @Test public void getHashTagsTweets() throws Exception { String msg = "getHashTagsTweets: "; @@ -96,6 +100,7 @@ public void getHashTagsTweets() throws Exception { * @see org.woehlke.twitterwall.oodm.repositories.custom.impl.HashTagRepositoryImpl#countAllUser2HashTag(Pageable) * @see org.woehlke.twitterwall.oodm.service.impl.HashTagServiceImpl#getHashTagsUsers(Pageable) */ + @Commit @Test public void getHashTagsUsers() throws Exception { String msg = "getHashTagsUsers: "; @@ -108,42 +113,49 @@ public void getHashTagsUsers() throws Exception { } } + @Commit @Test @Override public void findById() throws Exception { } + @Commit @Test @Override public void getAll() throws Exception { } + @Commit @Test @Override public void count() throws Exception { } + @Commit @Test @Override public void findByUniqueId() throws Exception { } + @Commit @Test @Override public void store() throws Exception { } + @Commit @Test @Override public void create() throws Exception { } + @Commit @Test @Override public void update() throws Exception { diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/MediaServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/MediaServiceTest.java index f545d5b1..4c142c49 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/MediaServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/MediaServiceTest.java @@ -10,6 +10,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; +import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.woehlke.twitterwall.conf.properties.TestdataProperties; import org.woehlke.twitterwall.oodm.entities.Media; @@ -32,6 +33,7 @@ public void areDependenciesLoaded() throws Exception { Assert.assertNotNull(testdataProperties); } + @Commit @Test public void fetchTestData() throws Exception { String msg = "fetchTestData: "; @@ -49,6 +51,7 @@ public void fetchTestData() throws Exception { } } + @Commit @Test public void findByIdTwitter() throws Exception { String msg = "findByIdTwitter: "; @@ -68,6 +71,7 @@ public void findByIdTwitter() throws Exception { } } + @Commit @Test public void findByUrl() throws Exception { String msg = "findByUrl: "; @@ -87,42 +91,49 @@ public void findByUrl() throws Exception { } } + @Commit @Test @Override public void findById() throws Exception { } + @Commit @Test @Override public void getAll() throws Exception { } + @Commit @Test @Override public void count() throws Exception { } + @Commit @Test @Override public void findByUniqueId() throws Exception { } + @Commit @Test @Override public void store() throws Exception { } + @Commit @Test @Override public void create() throws Exception { } + @Commit @Test @Override public void update() throws Exception { diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/MentionServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/MentionServiceTest.java index 8ac80508..04f0be6a 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/MentionServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/MentionServiceTest.java @@ -11,6 +11,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; +import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.woehlke.twitterwall.conf.properties.TestdataProperties; import org.woehlke.twitterwall.oodm.entities.Mention; @@ -44,6 +45,7 @@ public void areDependenciesLoaded() throws Exception { Assert.assertNotNull(countedEntitiesService); } + @Commit @Test public void fetchTestData() throws Exception { String msg = "fetchTestData: "; @@ -62,6 +64,7 @@ public void fetchTestData() throws Exception { } } + @Commit @Test public void createProxyMention() throws Exception { String msg = "createProxyMention: "; @@ -76,6 +79,7 @@ public void createProxyMention() throws Exception { Assert.assertTrue(createdMention.isProxy()); } + @Commit @Test public void getAllWithoutPersistentUser() throws Exception { String msg = "getAllWithoutUser: "; @@ -90,6 +94,7 @@ public void getAllWithoutPersistentUser() throws Exception { } } + @Commit @Test public void findByIdTwitter() throws Exception { String msg = "findByIdTwitter: "; @@ -108,6 +113,7 @@ public void findByIdTwitter() throws Exception { } } + @Commit @Test public void findByScreenName() throws Exception { String msg = "findByScreenName: "; @@ -127,42 +133,49 @@ public void findByScreenName() throws Exception { } + @Commit @Test @Override public void findById() throws Exception { } + @Commit @Test @Override public void getAll() throws Exception { } + @Commit @Test @Override public void count() throws Exception { } + @Commit @Test @Override public void findByUniqueId() throws Exception { } + @Commit @Test @Override public void store() throws Exception { } + @Commit @Test @Override public void create() throws Exception { } + @Commit @Test @Override public void update() throws Exception { diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/TaskHistoryServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/TaskHistoryServiceTest.java index d1f74d0b..34ca723b 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/TaskHistoryServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/TaskHistoryServiceTest.java @@ -10,6 +10,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; +import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.woehlke.twitterwall.conf.properties.TestdataProperties; import org.woehlke.twitterwall.oodm.entities.TaskHistory; @@ -32,6 +33,7 @@ public void areDependenciesLoaded() throws Exception { Assert.assertNotNull(testdataProperties); } + @Commit @Test public void fetchTestData() throws Exception { String msg = "fetchTestData: "; @@ -49,28 +51,33 @@ public void fetchTestData() throws Exception { } } + @Commit @Test public void store() throws Exception {} + @Commit @Test @Override public void findById() throws Exception { } + @Commit @Test @Override public void getAll() throws Exception { } + @Commit @Test @Override public void count() throws Exception { } + @Commit @Test @Override public void findByUniqueId() throws Exception { diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/TaskServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/TaskServiceTest.java index b4451a00..2e585852 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/TaskServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/TaskServiceTest.java @@ -10,6 +10,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; +import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.woehlke.twitterwall.conf.properties.TestdataProperties; import org.woehlke.twitterwall.oodm.entities.Task; @@ -40,6 +41,7 @@ public void areDependenciesLoaded() throws Exception { Assert.assertNotNull(testdataProperties); } + @Commit @Test public void fetchTestData() throws Exception { String msg = "fetchTestData: "; @@ -57,6 +59,7 @@ public void fetchTestData() throws Exception { } } + @Commit @Test public void create() throws Exception { String msg = "TaskServiceTest.create"; @@ -67,6 +70,7 @@ public void create() throws Exception { Assert.assertEquals(createdTask.getTaskStatus(),TaskStatus.READY); } + @Commit @Test public void done() throws Exception { String msg = "TaskServiceTest.done"; @@ -81,6 +85,7 @@ public void done() throws Exception { Assert.assertEquals(TaskStatus.FINISHED,createdTask.getTaskStatus()); } + @Commit @Test public void error() throws Exception { String msg = "TaskServiceTest.error"; @@ -95,6 +100,7 @@ public void error() throws Exception { Assert.assertEquals(TaskStatus.ERROR,createdTask.getTaskStatus()); } + @Commit @Test public void warn() throws Exception { String msg = "TaskServiceTest.error"; @@ -109,6 +115,7 @@ public void warn() throws Exception { Assert.assertEquals(TaskStatus.WARN,createdTask.getTaskStatus()); } + @Commit @Test public void event() throws Exception { String msg = "TaskServiceTest.error"; @@ -124,6 +131,7 @@ public void event() throws Exception { Assert.assertEquals(oldStatus,createdTask.getTaskStatus()); } + @Commit @Test public void start() throws Exception { String msg = "TaskServiceTest.error"; @@ -138,6 +146,7 @@ public void start() throws Exception { Assert.assertEquals(TaskStatus.RUNNING,createdTask.getTaskStatus()); } + @Commit @Test public void finalError() throws Exception { String msg = "TaskServiceTest.error"; @@ -153,24 +162,28 @@ public void finalError() throws Exception { } + @Commit @Test @Override public void findById() throws Exception { } + @Commit @Test @Override public void getAll() throws Exception { } + @Commit @Test @Override public void count() throws Exception { } + @Commit @Test @Override public void findByUniqueId() throws Exception { diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/TickerSymbolServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/TickerSymbolServiceTest.java index f0cea515..c287b45d 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/TickerSymbolServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/TickerSymbolServiceTest.java @@ -11,6 +11,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; +import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.woehlke.twitterwall.conf.properties.TestdataProperties; import org.woehlke.twitterwall.oodm.entities.TickerSymbol; @@ -33,6 +34,7 @@ public void areDependenciesLoaded() throws Exception { Assert.assertNotNull(testdataProperties); } + @Commit @Test public void fetchTestData() throws Exception { String msg = "fetchTestData: "; @@ -51,6 +53,7 @@ public void fetchTestData() throws Exception { } } + @Commit @Test public void findByUrl() throws Exception { String msg = "findByUrl: "; @@ -71,42 +74,49 @@ public void findByUrl() throws Exception { } } + @Commit @Test @Override public void findById() throws Exception { } + @Commit @Test @Override public void getAll() throws Exception { } + @Commit @Test @Override public void count() throws Exception { } + @Commit @Test @Override public void findByUniqueId() throws Exception { } + @Commit @Test @Override public void store() throws Exception { } + @Commit @Test @Override public void create() throws Exception { } + @Commit @Test @Override public void update() throws Exception { diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/TweetServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/TweetServiceTest.java index abb50bb0..ddf4799c 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/TweetServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/TweetServiceTest.java @@ -10,6 +10,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; +import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.woehlke.twitterwall.conf.properties.TestdataProperties; import org.woehlke.twitterwall.oodm.entities.*; @@ -53,6 +54,7 @@ public void areDependenciesLoaded() throws Exception { Assert.assertNotNull(testdataProperties); } + @Commit @Test public void fetchTestData() throws Exception { String msg = "fetchTestData: "; @@ -73,6 +75,7 @@ public void fetchTestData() throws Exception { log.info(msg+"FINISHED TEST"); } + @Commit @Test public void findByIdTwitter() throws Exception { String msg = "findByIdTwitter: "; @@ -95,6 +98,7 @@ public void findByIdTwitter() throws Exception { } } + @Commit @Test public void findTweetsForHashTag() throws Exception { String msg = "findTweetsForHashTag: "; @@ -113,6 +117,7 @@ public void findTweetsForHashTag() throws Exception { log.info(msg); } + @Commit @Test public void findTweetsForUser() throws Exception { String msg = "findTweetsForUser: "; @@ -139,6 +144,7 @@ public void findTweetsForUser() throws Exception { log.info(msg+" FINISHED TEST. Tested Users "+loopUser+" and Tweets "+loopTweet); } + @Commit @Test public void findAllTweet2HashTag() throws Exception { String msg = "findAllTweet2HashTag: "; @@ -164,6 +170,7 @@ public void findAllTweet2HashTag() throws Exception { } } + @Commit @Test public void findAllTweet2Media() throws Exception { String msg = "findAllTweet2Media: "; @@ -189,6 +196,7 @@ public void findAllTweet2Media() throws Exception { } } + @Commit @Test public void findAllTweet2Mention() throws Exception { String msg = "findAllTweet2Mention: "; @@ -216,6 +224,7 @@ public void findAllTweet2Mention() throws Exception { } } + @Commit @Test public void findAllTweet2Url() throws Exception { String msg = "findAllTweet2Url: "; @@ -241,6 +250,7 @@ public void findAllTweet2Url() throws Exception { } } + @Commit @Test public void findAllTweet2TickerSymbol() throws Exception { String msg = "findAllTweet2TickerSymbol: "; @@ -266,42 +276,49 @@ public void findAllTweet2TickerSymbol() throws Exception { } } + @Commit @Test @Override public void findById() throws Exception { } + @Commit @Test @Override public void getAll() throws Exception { } + @Commit @Test @Override public void count() throws Exception { } + @Commit @Test @Override public void findByUniqueId() throws Exception { } + @Commit @Test @Override public void store() throws Exception { } + @Commit @Test @Override public void create() throws Exception { } + @Commit @Test @Override public void update() throws Exception { diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/UrlServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/UrlServiceTest.java index 6a9ab8ac..5e7ff6ca 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/UrlServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/UrlServiceTest.java @@ -10,6 +10,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; +import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.woehlke.twitterwall.conf.properties.TestdataProperties; import org.woehlke.twitterwall.oodm.entities.Url; @@ -32,6 +33,7 @@ public void areDependenciesLoaded() throws Exception { Assert.assertNotNull(testdataProperties); } + @Commit @Test public void fetchTestData() throws Exception { String msg = "fetchTestData: "; @@ -49,6 +51,7 @@ public void fetchTestData() throws Exception { } } + @Commit @Test public void findByUrl() throws Exception { String msg = "findByUrl: "; @@ -68,42 +71,49 @@ public void findByUrl() throws Exception { } } + @Commit @Test @Override public void findById() throws Exception { } + @Commit @Test @Override public void getAll() throws Exception { } + @Commit @Test @Override public void count() throws Exception { } + @Commit @Test @Override public void findByUniqueId() throws Exception { } + @Commit @Test @Override public void store() throws Exception { } + @Commit @Test @Override public void create() throws Exception { } + @Commit @Test @Override public void update() throws Exception { diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/UserListServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/UserListServiceTest.java index 8937fa39..71278cc8 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/UserListServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/UserListServiceTest.java @@ -7,6 +7,7 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; @RunWith(SpringRunner.class) @@ -25,48 +26,56 @@ public void areDependenciesLoaded() throws Exception { log.debug(msg+" YES "); } + @Commit @Test @Override public void fetchTestData() throws Exception { } + @Commit @Test @Override public void findById() throws Exception { } + @Commit @Test @Override public void getAll() throws Exception { } + @Commit @Test @Override public void count() throws Exception { } + @Commit @Test @Override public void findByUniqueId() throws Exception { } + @Commit @Test @Override public void store() throws Exception { } + @Commit @Test @Override public void create() throws Exception { } + @Commit @Test @Override public void update() throws Exception { diff --git a/src/test/java/org/woehlke/twitterwall/oodm/service/UserServiceTest.java b/src/test/java/org/woehlke/twitterwall/oodm/service/UserServiceTest.java index 58b21204..8b9b162a 100644 --- a/src/test/java/org/woehlke/twitterwall/oodm/service/UserServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/oodm/service/UserServiceTest.java @@ -11,6 +11,7 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; +import org.springframework.test.annotation.Commit; import org.springframework.test.context.junit4.SpringRunner; import org.woehlke.twitterwall.conf.properties.TestdataProperties; import org.woehlke.twitterwall.conf.properties.TwitterProperties; @@ -60,6 +61,7 @@ public void areDependenciesLoaded() throws Exception { log.debug(msg+" YES "); } + @Commit @Test public void fetchTestData() throws Exception { String msg = "fetchTestData: "; @@ -77,6 +79,7 @@ public void fetchTestData() throws Exception { } } + @Commit @Test public void getAllDescriptionsTest() { String msg = "getAllDescriptionsTest"; @@ -99,6 +102,7 @@ public void getAllDescriptionsTest() { log.info(msg+"------------------------------------------------"); } + @Commit @Test public void getTweetingUsers() throws Exception { String msg = "getTweetingUsers: "; @@ -113,6 +117,7 @@ public void getTweetingUsers() throws Exception { log.debug(msg+" foundUser: "+foundUser.getTotalElements()); } + @Commit @Test public void getAllDescriptions() throws Exception { String msg = "getTweetingUsers: "; @@ -127,6 +132,7 @@ public void getAllDescriptions() throws Exception { log.debug(msg+" foundUser: "+foundDescriptions.getTotalElements()); } + @Commit @Test public void getUsersForHashTag() throws Exception { String msg = "getTweetingUsers: "; @@ -144,6 +150,7 @@ public void getUsersForHashTag() throws Exception { } } + @Commit @Test public void getFriends() throws Exception { String msg = "getFriends: "; @@ -158,6 +165,7 @@ public void getFriends() throws Exception { log.debug(msg+" foundUser: "+foundUser.getTotalElements()); } + @Commit @Test public void getNotYetFriendUsers() throws Exception { String msg = "getNotYetFriendUsers: "; @@ -172,6 +180,7 @@ public void getNotYetFriendUsers() throws Exception { log.debug(msg+" foundUser: "+foundUser.getTotalElements()); } + @Commit @Test public void getFollower() throws Exception { String msg = "getFollower: "; @@ -186,6 +195,7 @@ public void getFollower() throws Exception { log.debug(msg+" foundUser: "+foundUser.getTotalElements()); } + @Commit @Test public void getNotYetFollower() throws Exception { String msg = "getNotYetFollower: "; @@ -200,6 +210,7 @@ public void getNotYetFollower() throws Exception { log.debug(msg+" foundUser: "+foundUser.getTotalElements()); } + @Commit @Test public void getOnList() throws Exception { String msg = "getOnList: "; @@ -214,6 +225,7 @@ public void getOnList() throws Exception { log.debug(msg+" foundUser: "+foundUser.getTotalElements()); } + @Commit @Test public void getNotYetOnList() throws Exception { String msg = "getNotYetOnList: "; @@ -229,6 +241,7 @@ public void getNotYetOnList() throws Exception { log.debug(msg+" foundUser: "+foundUser.getTotalElements()); } + @Commit @Test public void findAllUser2HashTag() throws Exception { String msg = "findAllUser2HashTag: "; @@ -254,6 +267,7 @@ public void findAllUser2HashTag() throws Exception { } } + @Commit @Test public void findAllUser2Media() throws Exception { String msg = "findAllUser2Media: "; @@ -279,6 +293,7 @@ public void findAllUser2Media() throws Exception { } } + @Commit @Test public void findAllUser2Mentiong() throws Exception { String msg = "findAllUser2Mentiong: "; @@ -311,6 +326,7 @@ public void findAllUser2Mentiong() throws Exception { } } + @Commit @Test public void findAllUser2Url() throws Exception { String msg = "findAllUser2Url: "; @@ -337,6 +353,7 @@ public void findAllUser2Url() throws Exception { } } + @Commit @Test public void findAllUser2TickerSymbol() throws Exception { String msg = "findAllUser2TickerSymbol: "; @@ -362,6 +379,7 @@ public void findAllUser2TickerSymbol() throws Exception { } } + @Commit @Test public void findByidTwitterAndScreenNameUnique() throws Exception { String msg = "findByidTwitterAndScreenNameUnique: "; @@ -379,42 +397,49 @@ public void findByidTwitterAndScreenNameUnique() throws Exception { } } + @Commit @Test @Override public void findById() throws Exception { } + @Commit @Test @Override public void getAll() throws Exception { } + @Commit @Test @Override public void count() throws Exception { } + @Commit @Test @Override public void findByUniqueId() throws Exception { } + @Commit @Test @Override public void store() throws Exception { } + @Commit @Test @Override public void create() throws Exception { } + @Commit @Test @Override public void update() throws Exception { diff --git a/src/test/java/org/woehlke/twitterwall/scheduled/service/remote/TwitterUrlServiceTest.java b/src/test/java/org/woehlke/twitterwall/scheduled/service/remote/TwitterUrlServiceTest.java index ad83c9fe..e816263f 100644 --- a/src/test/java/org/woehlke/twitterwall/scheduled/service/remote/TwitterUrlServiceTest.java +++ b/src/test/java/org/woehlke/twitterwall/scheduled/service/remote/TwitterUrlServiceTest.java @@ -15,8 +15,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; -import org.springframework.transaction.annotation.Propagation; -import org.springframework.transaction.annotation.Transactional; import org.woehlke.twitterwall.conf.properties.TestdataProperties; import org.woehlke.twitterwall.oodm.entities.Task; import org.woehlke.twitterwall.oodm.entities.Url; @@ -37,7 +35,6 @@ */ @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.NONE) -@Transactional(propagation= Propagation.REQUIRES_NEW,readOnly=false) public class TwitterUrlServiceTest { private static final Logger log = LoggerFactory.getLogger(TwitterUrlServiceTest.class); From 47af23e2bd1813b2259add31b65157fb162afb89 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Thu, 17 Aug 2017 01:24:22 +0200 Subject: [PATCH 17/21] working on #247, working on #248, working on #249, working on #250, working on #251, working on #252, working on #253 --- .../tweets/splitter/impl/CreateTestDataTweetsSplitterImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/CreateTestDataTweetsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/CreateTestDataTweetsSplitterImpl.java index 4d8ab0c4..6d211e45 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/CreateTestDataTweetsSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/CreateTestDataTweetsSplitterImpl.java @@ -69,8 +69,8 @@ public List> splitTweetMessage(Message incomi Message outgoingMessage = null; if(fetchTweetFromApi) { Tweet tweet = twitterApiService.findOneTweetById(idTwitter); - outgoingMessage = twitterwallMessageBuilder.buildTweetMessage(incomingTaskMessage, tweet, loopId, loopAll); twitterwallMessageBuilder.waitForApi(); + outgoingMessage = twitterwallMessageBuilder.buildTweetMessage(incomingTaskMessage, tweet, loopId, loopAll); } else { outgoingMessage = twitterwallMessageBuilder.buildTweetMessage(incomingTaskMessage,tweetPers,loopId,loopAll); } From 23a592b8cd6aad36c57d3e234be9c264a92c7c01 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Thu, 17 Aug 2017 02:17:22 +0200 Subject: [PATCH 18/21] working on #247, working on #248, working on #249, working on #250, working on #251, working on #252, working on #253 --- .../twitterwall/oodm/entities/User.java | 112 +++++++++--------- .../twitterwall/oodm/entities/UserList.java | 6 + .../oodm/repositories/UserListRepository.java | 2 - 3 files changed, 62 insertions(+), 58 deletions(-) diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/User.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/User.java index 7f51a9f1..26e00f9e 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/User.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/User.java @@ -35,62 +35,62 @@ } ) @NamedQueries({ - @NamedQuery( - name = "User.findTweetingUsers", - query = "select t from User as t where t.taskInfo.fetchTweetsFromSearch=true" - ), - @NamedQuery( - name = "User.findFollower", - query = "select t from User as t where t.taskInfo.fetchFollower=true" - ), - @NamedQuery( - name = "User.findNotYetFollower", - query = "select t from User as t where t.taskInfo.fetchFollower=false" - ), - @NamedQuery( - name = "User.findFriends", - query = "select t from User as t where t.taskInfo.fetchFriends=true" - ), - @NamedQuery( - name = "User.findNotYetFriends", - query = "select t from User as t where t.taskInfo.fetchFriends=false" - ), - @NamedQuery( - name = "User.findOnList", - query = "select t from User as t where t.taskInfo.fetchUsersFromList=true" - ), - @NamedQuery( - name = "User.findNotYetOnList", - query = "select t from User as t where t.taskInfo.fetchUsersFromList=false and t.taskInfo.fetchTweetsFromSearch=true" - ), - @NamedQuery( - name="User.getUsersForHashTag", - query="select t from User as t join t.entities.hashTags hashTag WHERE hashTag.text=:hashtagText" - ), - @NamedQuery( - name="User.countUsersForHashTag", - query="select count(t) from User as t join t.entities.hashTags hashTag WHERE hashTag.text=:hashtagText" - ), - @NamedQuery( - name = "User.findAllDescriptions", - query = "select t.description from User as t where t.description is not null" - ), - @NamedQuery( - name="User.findByUniqueId", - query="select t from User as t where t.idTwitter=:idTwitter and t.screenNameUnique=:screenNameUnique" - ), - @NamedQuery( - name="User.findUsersWhoAreFriendsButNotFollowers", - query="select t from User as t where t.taskInfo.fetchFollower=false and t.taskInfo.fetchFriends=true" - ), - @NamedQuery( - name="User.findUsersWhoAreFollowersAndFriends", - query="select t from User as t where t.taskInfo.fetchFollower=true and t.taskInfo.fetchFriends=true" - ), - @NamedQuery( - name="User.findUsersWhoAreFollowersButNotFriends", - query="select t from User as t where t.taskInfo.fetchFollower=true and t.taskInfo.fetchFriends=false" - ) + @NamedQuery( + name = "User.findTweetingUsers", + query = "select t from User as t where t.taskInfo.fetchTweetsFromSearch=true" + ), + @NamedQuery( + name = "User.findFollower", + query = "select t from User as t where t.taskInfo.fetchFollower=true" + ), + @NamedQuery( + name = "User.findNotYetFollower", + query = "select t from User as t where t.taskInfo.fetchFollower=false" + ), + @NamedQuery( + name = "User.findFriends", + query = "select t from User as t where t.taskInfo.fetchFriends=true" + ), + @NamedQuery( + name = "User.findNotYetFriends", + query = "select t from User as t where t.taskInfo.fetchFriends=false" + ), + @NamedQuery( + name = "User.findOnList", + query = "select t from User as t where t.taskInfo.fetchUsersFromList=true" + ), + @NamedQuery( + name = "User.findNotYetOnList", + query = "select t from User as t where t.taskInfo.fetchUsersFromList=false and t.taskInfo.fetchTweetsFromSearch=true" + ), + @NamedQuery( + name="User.getUsersForHashTag", + query="select t from User as t join t.entities.hashTags hashTag WHERE hashTag.text=:hashtagText" + ), + @NamedQuery( + name="User.countUsersForHashTag", + query="select count(t) from User as t join t.entities.hashTags hashTag WHERE hashTag.text=:hashtagText" + ), + @NamedQuery( + name = "User.findAllDescriptions", + query = "select t.description from User as t where t.description is not null" + ), + @NamedQuery( + name="User.findByUniqueId", + query="select t from User as t where t.idTwitter=:idTwitter and t.screenNameUnique=:screenNameUnique" + ), + @NamedQuery( + name="User.findUsersWhoAreFriendsButNotFollowers", + query="select t from User as t where t.taskInfo.fetchFollower=false and t.taskInfo.fetchFriends=true" + ), + @NamedQuery( + name="User.findUsersWhoAreFollowersAndFriends", + query="select t from User as t where t.taskInfo.fetchFollower=true and t.taskInfo.fetchFriends=true" + ), + @NamedQuery( + name="User.findUsersWhoAreFollowersButNotFriends", + query="select t from User as t where t.taskInfo.fetchFollower=true and t.taskInfo.fetchFriends=false" + ) }) @NamedNativeQueries({ @NamedNativeQuery( diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/UserList.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/UserList.java index c4431114..d214cecd 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/UserList.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/UserList.java @@ -21,6 +21,12 @@ @Index(name="idx_userprofile_slug", columnList="slug") } ) +@NamedQueries({ + @NamedQuery( + name = "UserList.findByUniqueId", + query = "select t from UserList as t where t.idTwitter=:idTwitter" + ) +}) @EntityListeners(UserListListener.class) public class UserList extends AbstractDomainObject implements DomainObjectWithTask,DomainObjectWithIdTwitter { diff --git a/src/main/java/org/woehlke/twitterwall/oodm/repositories/UserListRepository.java b/src/main/java/org/woehlke/twitterwall/oodm/repositories/UserListRepository.java index 52980975..e45af413 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/repositories/UserListRepository.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/repositories/UserListRepository.java @@ -1,8 +1,6 @@ package org.woehlke.twitterwall.oodm.repositories; -import org.springframework.data.domain.Page; -import org.springframework.data.domain.Pageable; import org.woehlke.twitterwall.oodm.entities.UserList; import org.woehlke.twitterwall.oodm.repositories.common.DomainRepository; import org.woehlke.twitterwall.oodm.repositories.custom.UserListRepositoryCustom; From fb33f26f8eb01d7ece3579bc7221765ddb2a6434 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Thu, 17 Aug 2017 02:28:14 +0200 Subject: [PATCH 19/21] working on #247, working on #248, working on #249, working on #250, working on #251, working on #252, working on #253 --- .../frontend/controller/TaskController.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/woehlke/twitterwall/frontend/controller/TaskController.java b/src/main/java/org/woehlke/twitterwall/frontend/controller/TaskController.java index d4ad703d..3034a692 100644 --- a/src/main/java/org/woehlke/twitterwall/frontend/controller/TaskController.java +++ b/src/main/java/org/woehlke/twitterwall/frontend/controller/TaskController.java @@ -122,7 +122,7 @@ public String fetchTweetsFromTwitterSearchStartTask(Model model) { @RequestMapping(path="/start/tweets/update") public String updateTweetsStartTask(Model model) { - String msg = "/start/tweets/fetch"; + String msg = "/start/tweets/update"; String title = "Scheduled Task started: update Tweets"; String subtitle = "/start/tweets/update"; String symbol = Symbols.TASK.toString(); @@ -132,6 +132,18 @@ public String updateTweetsStartTask(Model model) { return PATH+"/start/taskStarted"; } + @RequestMapping(path="/start/users/update") + public String updateUsersStartTask(Model model) { + String msg = "/start/users/update"; + String title = "Scheduled Task started: update Users"; + String subtitle = "/start/users/update"; + String symbol = Symbols.TASK.toString(); + model = controllerHelper.setupPage(model,title,subtitle,symbol); + Task task = mqAsyncStartTask.updateUsers(); + model.addAttribute("task",task); + return PATH+"/start/taskStarted"; + } + @RequestMapping(path="/start/users/list/fetch") public String fetchUsersFromDefinedUserListStartTask(Model model){ String msg = "/start/users/list/fetch"; From 764866197d2317041d51bbe80551608c090bdd38 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Thu, 17 Aug 2017 10:26:25 +0200 Subject: [PATCH 20/21] new use cases --- .../woehlke/twitterwall/ScheduledTasks.java | 167 ++++++++---------- .../conf/properties/SchedulerProperties.java | 20 +-- .../controller/ApplicationController.java | 30 ---- .../controller/CountedEntitiesController.java | 52 ++++-- .../controller/UserListController.java | 4 +- .../oodm/entities/TaskHistory.java | 1 + .../twitterwall/oodm/entities/UserList.java | 19 +- .../oodm/entities/parts/CountedEntities.java | 104 +++++++---- .../custom/impl/TaskRepositoryImpl.java | 3 +- .../impl/CountedEntitiesServiceImpl.java | 7 +- .../scheduled/mq/endpoint/AsyncStartTask.java | 2 + .../common/TwitterwallMessageBuilder.java | 2 - .../impl/TwitterwallMessageBuilderImpl.java | 23 ++- .../mq/endpoint/impl/AsyncStartTaskImpl.java | 6 + .../mq/endpoint/impl/StartTaskImpl.java | 6 + .../CreateTestDataTweetsSplitterImpl.java | 3 +- .../impl/UpdateTweetsSplitterImpl.java | 1 - .../endpoint/users/services/UserFinisher.java | 2 + .../services/impl/CreateImprintUserImpl.java | 1 - .../services/impl/UserCheckStorageImpl.java | 11 +- .../users/services/impl/UserFinisherImpl.java | 10 ++ .../impl/CreateTestDataUsersSplitterImpl.java | 1 - .../impl/FetchFollowerSplitterImpl.java | 1 - .../impl/FetchUsersFromListSplitterImpl.java | 2 +- .../UpdateUsersFromMentionsSplitterImpl.java | 1 - .../impl/UpdateUsersSplitterImpl.java | 1 - .../scheduled/mq/msg/UserMessage.java | 1 - .../remote/impl/TwitterApiServiceImpl.java | 48 +++-- src/main/resources/application.yml | 4 +- src/main/resources/integration.xml | 26 +++ .../templates/application/domain/count.html | 9 + .../templates/application/management.html | 52 +++--- .../resources/templates/layoutDataview.html | 54 ++++++ src/main/resources/templates/layoutMain.html | 4 +- .../resources/templates/userlist/all.html | 139 +++++++++++++++ .../twitterwall/ScheduledTasksTest.java | 6 + src/test/resources/application-test.yml | 4 +- 37 files changed, 559 insertions(+), 268 deletions(-) diff --git a/src/main/java/org/woehlke/twitterwall/ScheduledTasks.java b/src/main/java/org/woehlke/twitterwall/ScheduledTasks.java index 5c817b5f..4e508b06 100644 --- a/src/main/java/org/woehlke/twitterwall/ScheduledTasks.java +++ b/src/main/java/org/woehlke/twitterwall/ScheduledTasks.java @@ -15,79 +15,34 @@ @Component public class ScheduledTasks { - @Scheduled(initialDelay= TEN_SECONDS, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS) + @Scheduled(initialDelay= TEN_SECONDS, fixedRate = ONE_DAY) + public void createImprintUserAsync(){ + String msg = "create Imprint User (Async) "; + if(!schedulerProperties.getSkipFortesting()) { + Task task = asyncStartTask.createImprintUserAsync(); + log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); + } + } + + @Scheduled(initialDelay= TEN_SECONDS * 2, fixedRate = FIVE_MINUTES) public void fetchTweetsFromTwitterSearch() { String msg = "fetch Tweets From TwitterSearch "; - if((schedulerProperties.getAllowUpdateTweets()) && (!schedulerProperties.getSkipFortesting())) { + if((schedulerProperties.getAllowFetchTweetsFromTwitterSearch()) && (!schedulerProperties.getSkipFortesting())) { Task task = asyncStartTask.fetchTweetsFromSearch(); log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); } } - @Scheduled(initialDelay= TEN_SECONDS *2, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_USER_LIST) + @Scheduled(initialDelay= TEN_SECONDS * 3, fixedRate = TWELVE_HOURS) public void fetchUsersFromDefinedUserList(){ String msg = "fetch Users from Defined User List "; - if((schedulerProperties.getFetchUserListAllow()) && (!schedulerProperties.getSkipFortesting())) { + if((schedulerProperties.getFetchUsersFromDefinedUserListAllow()) && (!schedulerProperties.getSkipFortesting())) { Task task = asyncStartTask.fetchUsersFromList(); log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); } } - @Scheduled(initialDelay= TEN_SECONDS *3, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_FOLLOWER) - public void fetchFollower(){ - String msg = "fetch Follower "; - if((schedulerProperties.getFetchFollowerAllow()) && (!schedulerProperties.getSkipFortesting())) { - Task task = asyncStartTask.fetchFollower(); - log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); - } - } - - @Scheduled(initialDelay= TEN_SECONDS *4, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_FRIENDS) - public void fetchFriends(){ - String msg = "fetch Friends "; - if((schedulerProperties.getFetchFriendsAllow()) && (!schedulerProperties.getSkipFortesting())) { - Task task = asyncStartTask.fetchFriends(); - log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); - } - } - - @Scheduled(initialDelay= TEN_SECONDS *5, fixedRate = FIXED_RATE_FOR_SCHEDULAR_REMOVE_OLD_DATA_FROM_STORAGE) - public void removeOldDataFromStorage(){ - String msg = "remove Old Data From Storage: "; - if((schedulerProperties.getRemoveOldDataFromStorageAllow()) && (!schedulerProperties.getSkipFortesting())) { - Task task = asyncStartTask.removeOldDataFromStorage(); - log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); - } - } - - @Scheduled(initialDelay= TEN_SECONDS *6, fixedRate = FIXED_RATE_FOR_SCHEDULAR_UPDATE_USER_BY_MENTION) - public void updateUserProfilesFromMentions(){ - String msg = "update User Profiles From Mentions"; - if((schedulerProperties.getAllowUpdateUserProfilesFromMention()) && (!schedulerProperties.getSkipFortesting())) { - Task task = asyncStartTask.updateUsersFromMentions(); - log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); - } - } - - @Scheduled(initialDelay= TEN_SECONDS *7, fixedRate = FIXED_RATE_FOR_SCHEDULAR_UPDATE_TWEETS) - public void updateTweets() { - String msg = "update Tweets "; - if((schedulerProperties.getAllowUpdateTweets()) && (!schedulerProperties.getSkipFortesting())){ - Task task = asyncStartTask.updateTweets(); - log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); - } - } - - @Scheduled(initialDelay= TEN_SECONDS *8, fixedRate = FIXED_RATE_FOR_SCHEDULAR_UPDATE_USER) - public void updateUserProfiles() { - String msg = "update User Profiles "; - if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) { - Task task = asyncStartTask.updateUsers(); - log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); - } - } - - @Scheduled(initialDelay= TEN_SECONDS *9, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_HOME_TIMELINE) + @Scheduled(initialDelay= TEN_SECONDS * 4, fixedRate = TWELVE_HOURS) public void getHomeTimeline() { String msg = "get Home Timeline Tweets "; if((schedulerProperties.getAllowGetHomeTimeline()) && (!schedulerProperties.getSkipFortesting())) { @@ -96,7 +51,7 @@ public void getHomeTimeline() { } } - @Scheduled(initialDelay= TEN_SECONDS *10, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_USER_TIMELINE) + @Scheduled(initialDelay= TEN_SECONDS * 5, fixedRate = TWELVE_HOURS) public void getUserTimeline() { String msg = " get User Timeline Tweets "; if((schedulerProperties.getAllowGetUserTimeline()) && (!schedulerProperties.getSkipFortesting())) { @@ -105,7 +60,7 @@ public void getUserTimeline() { } } - @Scheduled(initialDelay= TEN_SECONDS *11, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_MENTIONS) + @Scheduled(initialDelay= TEN_SECONDS * 6, fixedRate = TWELVE_HOURS) public void getMentions() { String msg = " get Mentions "; if((schedulerProperties.getAllowGetMentions()) && (!schedulerProperties.getSkipFortesting())) { @@ -114,7 +69,7 @@ public void getMentions() { } } - @Scheduled(initialDelay= TEN_SECONDS *12, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_FAVORITES) + @Scheduled(initialDelay= TEN_SECONDS * 7, fixedRate = TWELVE_HOURS) public void getFavorites() { String msg = " get Favorites "; if((schedulerProperties.getAllowGetFavorites()) && (!schedulerProperties.getSkipFortesting())) { @@ -123,7 +78,7 @@ public void getFavorites() { } } - @Scheduled(initialDelay= TEN_SECONDS *13, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_RETWEETS_OF_ME) + @Scheduled(initialDelay= TEN_SECONDS * 8, fixedRate = TWELVE_HOURS) public void getRetweetsOfMe() { String msg = " get Retweets Of Me "; if((schedulerProperties.getAllowGetRetweetsOfMe()) && (!schedulerProperties.getSkipFortesting())) { @@ -132,7 +87,7 @@ public void getRetweetsOfMe() { } } - @Scheduled(initialDelay= TEN_SECONDS *14, fixedRate = FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_USER_LISTS) + @Scheduled(initialDelay= TEN_SECONDS * 9, fixedRate = TWELVE_HOURS) public void getLists() { String msg = " get Lists "; if((schedulerProperties.getAllowGetLists()) && (!schedulerProperties.getSkipFortesting())) { @@ -141,6 +96,60 @@ public void getLists() { } } + @Scheduled(initialDelay= TEN_SECONDS * 10, fixedRate = ONE_DAY) + public void fetchFollower(){ + String msg = "fetch Follower "; + if((schedulerProperties.getFetchFollowerAllow()) && (!schedulerProperties.getSkipFortesting())) { + Task task = asyncStartTask.fetchFollower(); + log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); + } + } + + @Scheduled(initialDelay= TEN_SECONDS * 11, fixedRate = ONE_DAY) + public void fetchFriends(){ + String msg = "fetch Friends "; + if((schedulerProperties.getFetchFriendsAllow()) && (!schedulerProperties.getSkipFortesting())) { + Task task = asyncStartTask.fetchFriends(); + log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); + } + } + + @Scheduled(initialDelay= TEN_SECONDS * 12, fixedRate = ONE_HOUR) + public void removeOldDataFromStorage(){ + String msg = "remove Old Data From Storage: "; + if((schedulerProperties.getRemoveOldDataFromStorageAllow()) && (!schedulerProperties.getSkipFortesting())) { + Task task = asyncStartTask.removeOldDataFromStorage(); + log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); + } + } + + @Scheduled(initialDelay= TEN_SECONDS * 13, fixedRate = ONE_HOUR) + public void updateUserProfilesFromMentions(){ + String msg = "update User Profiles From Mentions"; + if((schedulerProperties.getAllowUpdateUserProfilesFromMention()) && (!schedulerProperties.getSkipFortesting())) { + Task task = asyncStartTask.updateUsersFromMentions(); + log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); + } + } + + @Scheduled(initialDelay= TEN_SECONDS * 14, fixedRate = ONE_DAY) + public void updateTweets() { + String msg = "update Tweets "; + if((schedulerProperties.getAllowUpdateTweets()) && (!schedulerProperties.getSkipFortesting())){ + Task task = asyncStartTask.updateTweets(); + log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); + } + } + + @Scheduled(initialDelay= TEN_SECONDS * 15, fixedRate = ONE_DAY) + public void updateUserProfiles() { + String msg = "update User Profiles "; + if((schedulerProperties.getAllowUpdateUserProfiles()) && (!schedulerProperties.getSkipFortesting())) { + Task task = asyncStartTask.updateUsers(); + log.info(msg+ "SCHEDULED: task "+task.getUniqueId()); + } + } + @Autowired public ScheduledTasks(SchedulerProperties schedulerProperties, AsyncStartTask mqAsyncStartTask) { this.schedulerProperties = schedulerProperties; @@ -151,37 +160,13 @@ public ScheduledTasks(SchedulerProperties schedulerProperties, AsyncStartTask mq public final static long ONE_MINUTE = 60 * 1000; + public final static long FIVE_MINUTES = 5 * ONE_MINUTE; + public final static long ONE_HOUR = 60 * ONE_MINUTE; public final static long TWELVE_HOURS = 12 * ONE_HOUR; - private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS = ONE_HOUR; - - private final static long FIXED_RATE_FOR_SCHEDULAR_UPDATE_USER = TWELVE_HOURS; - - private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_FOLLOWER = TWELVE_HOURS; - - private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_FRIENDS = TWELVE_HOURS; - - private final static long FIXED_RATE_FOR_SCHEDULAR_UPDATE_TWEETS = TWELVE_HOURS; - - private final static long FIXED_RATE_FOR_SCHEDULAR_UPDATE_USER_BY_MENTION = ONE_HOUR; - - private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_USER_LISTS = TWELVE_HOURS; - - private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_FAVORITES = TWELVE_HOURS; - - private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_RETWEETS_OF_ME = TWELVE_HOURS; - - private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_MENTIONS = TWELVE_HOURS; - - private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_USER_TIMELINE = TWELVE_HOURS; - - private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_TWEETS_HOME_TIMELINE = TWELVE_HOURS; - - private final static long FIXED_RATE_FOR_SCHEDULAR_FETCH_USER_LIST = TWELVE_HOURS; - - private final static long FIXED_RATE_FOR_SCHEDULAR_REMOVE_OLD_DATA_FROM_STORAGE = ONE_HOUR; + public final static long ONE_DAY = 24 * ONE_HOUR; private static final Logger log = LoggerFactory.getLogger(ScheduledTasks.class); diff --git a/src/main/java/org/woehlke/twitterwall/conf/properties/SchedulerProperties.java b/src/main/java/org/woehlke/twitterwall/conf/properties/SchedulerProperties.java index 4fae6f40..3d96569a 100644 --- a/src/main/java/org/woehlke/twitterwall/conf/properties/SchedulerProperties.java +++ b/src/main/java/org/woehlke/twitterwall/conf/properties/SchedulerProperties.java @@ -31,10 +31,10 @@ public class SchedulerProperties { private Boolean skipFortesting; @NotNull - private Boolean fetchUserListAllow; + private Boolean fetchUsersFromDefinedUserListAllow; @NotNull - private String fetchUserListName; + private String fetchUsersFromDefinedUserListName; @NotNull private Boolean removeOldDataFromStorageAllow; @@ -111,20 +111,20 @@ public void setSkipFortesting(Boolean skipFortesting) { this.skipFortesting = skipFortesting; } - public Boolean getFetchUserListAllow() { - return fetchUserListAllow; + public Boolean getFetchUsersFromDefinedUserListAllow() { + return fetchUsersFromDefinedUserListAllow; } - public void setFetchUserListAllow(Boolean fetchUserListAllow) { - this.fetchUserListAllow = fetchUserListAllow; + public void setFetchUsersFromDefinedUserListAllow(Boolean fetchUsersFromDefinedUserListAllow) { + this.fetchUsersFromDefinedUserListAllow = fetchUsersFromDefinedUserListAllow; } - public String getFetchUserListName() { - return fetchUserListName; + public String getFetchUsersFromDefinedUserListName() { + return fetchUsersFromDefinedUserListName; } - public void setFetchUserListName(String fetchUserListName) { - this.fetchUserListName = fetchUserListName; + public void setFetchUsersFromDefinedUserListName(String fetchUsersFromDefinedUserListName) { + this.fetchUsersFromDefinedUserListName = fetchUsersFromDefinedUserListName; } public Boolean getRemoveOldDataFromStorageAllow() { diff --git a/src/main/java/org/woehlke/twitterwall/frontend/controller/ApplicationController.java b/src/main/java/org/woehlke/twitterwall/frontend/controller/ApplicationController.java index 16f2998f..b98a06f2 100644 --- a/src/main/java/org/woehlke/twitterwall/frontend/controller/ApplicationController.java +++ b/src/main/java/org/woehlke/twitterwall/frontend/controller/ApplicationController.java @@ -7,8 +7,6 @@ import org.woehlke.twitterwall.conf.properties.TwitterProperties; import org.woehlke.twitterwall.frontend.controller.common.Symbols; import org.woehlke.twitterwall.frontend.controller.common.ControllerHelper; -import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; -import org.woehlke.twitterwall.oodm.service.CountedEntitiesService; /** * Created by tw on 03.07.17. @@ -17,18 +15,6 @@ @RequestMapping(path="/application") public class ApplicationController { - @RequestMapping(path="/domain/count") - public String domainCount(Model model) { - String msg = "/application/domain/count: "; - String title = "Counted Entities"; - String subtitle = twitterProperties.getSearchQuery(); - String symbol = Symbols.DATABASE.toString(); - model = controllerHelper.setupPage(model,title,subtitle,symbol); - CountedEntities countedEntities =this.countedEntitiesService.countAll(); - model.addAttribute("countedEntities", countedEntities); - return "application/domain/count"; - } - @RequestMapping(path="/management") public String managementPage(Model model) { String msg = "/application/domain/count: "; @@ -39,30 +25,14 @@ public String managementPage(Model model) { return "application/management"; } - @RequestMapping(path="/domain/delete/all") - public String domainDeleteAll(Model model) { - String msg = "/application/domain/delete/all: "; - String title = "Counted Entities"; - String subtitle = twitterProperties.getSearchQuery(); - String symbol = Symbols.DATABASE.toString(); - model = controllerHelper.setupPage(model,title,subtitle,symbol); - CountedEntities countedEntities =this.countedEntitiesService.deleteAll(); - model.addAttribute("countedEntities", countedEntities); - return "application/domain/count"; - } - - private final CountedEntitiesService countedEntitiesService; - private final ControllerHelper controllerHelper; private final TwitterProperties twitterProperties; @Autowired public ApplicationController( - CountedEntitiesService countedEntitiesService, ControllerHelper controllerHelper, TwitterProperties twitterProperties) { - this.countedEntitiesService = countedEntitiesService; this.controllerHelper = controllerHelper; this.twitterProperties = twitterProperties; } diff --git a/src/main/java/org/woehlke/twitterwall/frontend/controller/CountedEntitiesController.java b/src/main/java/org/woehlke/twitterwall/frontend/controller/CountedEntitiesController.java index 022fda7f..b76df6b8 100644 --- a/src/main/java/org/woehlke/twitterwall/frontend/controller/CountedEntitiesController.java +++ b/src/main/java/org/woehlke/twitterwall/frontend/controller/CountedEntitiesController.java @@ -9,9 +9,11 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.woehlke.twitterwall.conf.properties.FrontendProperties; +import org.woehlke.twitterwall.conf.properties.TwitterProperties; import org.woehlke.twitterwall.frontend.controller.common.Symbols; import org.woehlke.twitterwall.frontend.controller.common.ControllerHelper; import org.woehlke.twitterwall.oodm.entities.*; +import org.woehlke.twitterwall.oodm.entities.parts.CountedEntities; import org.woehlke.twitterwall.oodm.entities.transients.Object2Entity; import org.woehlke.twitterwall.oodm.service.*; @@ -27,6 +29,30 @@ public class CountedEntitiesController { private final static String PATH="application/countedEntities"; + @RequestMapping(path="/domain/count") + public String domainCount(Model model) { + String msg = "/application/domain/count: "; + String title = "Counted Entities"; + String subtitle = twitterProperties.getSearchQuery(); + String symbol = Symbols.DATABASE.toString(); + model = controllerHelper.setupPage(model,title,subtitle,symbol); + CountedEntities countedEntities =this.countedEntitiesService.countAll(); + model.addAttribute("countedEntities", countedEntities); + return "application/domain/count"; + } + + @RequestMapping(path="/domain/delete/all") + public String domainDeleteAll(Model model) { + String msg = "/application/domain/delete/all: "; + String title = "Counted Entities"; + String subtitle = twitterProperties.getSearchQuery(); + String symbol = Symbols.DATABASE.toString(); + model = controllerHelper.setupPage(model,title,subtitle,symbol); + CountedEntities countedEntities =this.countedEntitiesService.deleteAll(); + model.addAttribute("countedEntities", countedEntities); + return "application/domain/count"; + } + @RequestMapping(path="/tweet/hashtag") public String domainCountTweet2hashtag( @RequestParam(name= "page", defaultValue=""+ ControllerHelper.FIRST_PAGE_NUMBER) int page, @@ -292,18 +318,22 @@ private void setUpThisPage(String title,Model model){ private final UrlService urlService; + private final CountedEntitiesService countedEntitiesService; + + private final TwitterProperties twitterProperties; + @Autowired public CountedEntitiesController( - FrontendProperties frontendProperties, - ControllerHelper controllerHelper, - TweetService tweetService, - UserService userService, - HashTagService hashTagService, - MediaService mediaService, - MentionService mentionService, - TickerSymbolService tickerSymbolService, - UrlService urlService - ) { + FrontendProperties frontendProperties, + ControllerHelper controllerHelper, + TweetService tweetService, + UserService userService, + HashTagService hashTagService, + MediaService mediaService, + MentionService mentionService, + TickerSymbolService tickerSymbolService, + UrlService urlService, + CountedEntitiesService countedEntitiesService, TwitterProperties twitterProperties) { this.frontendProperties = frontendProperties; this.controllerHelper = controllerHelper; this.tweetService = tweetService; @@ -313,5 +343,7 @@ public CountedEntitiesController( this.mentionService = mentionService; this.tickerSymbolService = tickerSymbolService; this.urlService = urlService; + this.countedEntitiesService = countedEntitiesService; + this.twitterProperties = twitterProperties; } } diff --git a/src/main/java/org/woehlke/twitterwall/frontend/controller/UserListController.java b/src/main/java/org/woehlke/twitterwall/frontend/controller/UserListController.java index 62b79d7a..18396890 100644 --- a/src/main/java/org/woehlke/twitterwall/frontend/controller/UserListController.java +++ b/src/main/java/org/woehlke/twitterwall/frontend/controller/UserListController.java @@ -34,10 +34,10 @@ public String getAll( page, frontendProperties.getPageSize(), Sort.Direction.ASC, - "screenName" + "slug" ); Page userlists = userListService.getAll(pageRequest); - model.addAttribute("userlists", userlists); + model.addAttribute("myPageContent", userlists); String symbol = Symbols.USER_ALL.toString(); String subtitle = "All Users"; model = controllerHelper.setupPage(model, title, subtitle, symbol); diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/TaskHistory.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/TaskHistory.java index 604ad587..a5bfd5bc 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/TaskHistory.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/TaskHistory.java @@ -74,6 +74,7 @@ public class TaskHistory implements DomainObjectMinimal { @AttributeOverrides({ @AttributeOverride(name = "countUser", column = @Column(name = "count_user",nullable=false)), @AttributeOverride(name = "countTweets", column = @Column(name = "count_tweets",nullable=false)), + @AttributeOverride(name = "countUserLists", column = @Column(name = "count_userlists",nullable=false)), @AttributeOverride(name = "countHashTags", column = @Column(name = "count_hashtags",nullable=false)), @AttributeOverride(name = "countMedia", column = @Column(name = "count_media",nullable=false)), @AttributeOverride(name = "countMention", column = @Column(name = "count_mention",nullable=false)), diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/UserList.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/UserList.java index d214cecd..d484f9e0 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/UserList.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/UserList.java @@ -7,6 +7,7 @@ import org.woehlke.twitterwall.oodm.entities.parts.AbstractDomainObject; import javax.persistence.*; +import javax.validation.constraints.NotNull; @Entity @Table( @@ -36,7 +37,7 @@ public class UserList extends AbstractDomainObject implements DomainOb @GeneratedValue(strategy = GenerationType.AUTO) private Long id; - @NotEmpty + @NotNull @Column(name="id_twitter", nullable = false) private Long idTwitter; @@ -52,7 +53,7 @@ public class UserList extends AbstractDomainObject implements DomainOb @Column(name="uri_path", nullable = false) private String uriPath; - @NotEmpty + @NotNull @Column(name="description", nullable = false) private String description; @@ -60,19 +61,19 @@ public class UserList extends AbstractDomainObject implements DomainOb @Column(name="slug", nullable = false) private String slug; - @NotEmpty + @NotNull @Column(name="is_public", nullable = false) private Boolean isPublic; - @NotEmpty + @NotNull @Column(name="is_following", nullable = false) private Boolean isFollowing; - @NotEmpty + @NotNull @Column(name="member_count", nullable = false) private Integer memberCount; - @NotEmpty + @NotNull @Column(name="subscriber_count", nullable = false) private Integer subscriberCount; @@ -83,12 +84,16 @@ public UserList(Task createdBy, Task updatedBy, long idTwitter, String name, Str this.name = name; this.fullName = fullName; this.uriPath = uriPath; - this.description = description; this.slug = slug; this.isPublic = isPublic; this.isFollowing = isFollowing; this.memberCount = memberCount; this.subscriberCount = subscriberCount; + if(description==null){ + this.description = ""; + } else { + this.description = description; + } } protected UserList() { diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/CountedEntities.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/CountedEntities.java index b75cca61..3a164873 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/CountedEntities.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/parts/CountedEntities.java @@ -22,6 +22,9 @@ public class CountedEntities implements Serializable,DomainObjectWithValidation @NotNull private Long countTweets=0L; + @NotNull + private Long countUserLists=0L; + @NotNull private Long countHashTags=0L; @@ -80,6 +83,7 @@ public CountedEntities() { public Long getTotalNumberOfRows(){ return countUser + countTweets + + countUserLists + countHashTags + countMedia + countMention + @@ -115,6 +119,14 @@ public void setCountTweets(Long countTweets) { this.countTweets = countTweets; } + public Long getCountUserLists() { + return countUserLists; + } + + public void setCountUserLists(Long countUserLists) { + this.countUserLists = countUserLists; + } + public Long getCountHashTags() { return countHashTags; } @@ -256,6 +268,7 @@ public String toString() { return "CountedEntities{" + "countUser=" + countUser + ", countTweets=" + countTweets + + ", countUserLists=" + countUserLists + ", countHashTags=" + countHashTags + ", countMedia=" + countMedia + ", countMention=" + countMention + @@ -273,7 +286,6 @@ public String toString() { ", userprofile2mention=" + userprofile2mention + ", userprofile2tickersymbol=" + userprofile2tickersymbol + ", userprofile2url=" + userprofile2url + - ", getTotalNumberOfRows=" + getTotalNumberOfRows() + '}'; } @@ -284,58 +296,69 @@ public boolean equals(Object o) { CountedEntities that = (CountedEntities) o; - if (countUser != null ? !countUser.equals(that.countUser) : that.countUser != null) return false; - if (countTweets != null ? !countTweets.equals(that.countTweets) : that.countTweets != null) return false; - if (countHashTags != null ? !countHashTags.equals(that.countHashTags) : that.countHashTags != null) + if (getCountUser() != null ? !getCountUser().equals(that.getCountUser()) : that.getCountUser() != null) + return false; + if (getCountTweets() != null ? !getCountTweets().equals(that.getCountTweets()) : that.getCountTweets() != null) + return false; + if (getCountUserLists() != null ? !getCountUserLists().equals(that.getCountUserLists()) : that.getCountUserLists() != null) + return false; + if (getCountHashTags() != null ? !getCountHashTags().equals(that.getCountHashTags()) : that.getCountHashTags() != null) return false; - if (countMedia != null ? !countMedia.equals(that.countMedia) : that.countMedia != null) return false; - if (countMention != null ? !countMention.equals(that.countMention) : that.countMention != null) return false; - if (countTickerSymbol != null ? !countTickerSymbol.equals(that.countTickerSymbol) : that.countTickerSymbol != null) + if (getCountMedia() != null ? !getCountMedia().equals(that.getCountMedia()) : that.getCountMedia() != null) return false; - if (countUrl != null ? !countUrl.equals(that.countUrl) : that.countUrl != null) return false; - if (countTask != null ? !countTask.equals(that.countTask) : that.countTask != null) return false; - if (countTaskHistory != null ? !countTaskHistory.equals(that.countTaskHistory) : that.countTaskHistory != null) + if (getCountMention() != null ? !getCountMention().equals(that.getCountMention()) : that.getCountMention() != null) return false; - if (tweet2hashtag != null ? !tweet2hashtag.equals(that.tweet2hashtag) : that.tweet2hashtag != null) + if (getCountTickerSymbol() != null ? !getCountTickerSymbol().equals(that.getCountTickerSymbol()) : that.getCountTickerSymbol() != null) return false; - if (tweet2media != null ? !tweet2media.equals(that.tweet2media) : that.tweet2media != null) return false; - if (tweet2mention != null ? !tweet2mention.equals(that.tweet2mention) : that.tweet2mention != null) + if (getCountUrl() != null ? !getCountUrl().equals(that.getCountUrl()) : that.getCountUrl() != null) return false; - if (tweet2tickersymbol != null ? !tweet2tickersymbol.equals(that.tweet2tickersymbol) : that.tweet2tickersymbol != null) + if (getCountTask() != null ? !getCountTask().equals(that.getCountTask()) : that.getCountTask() != null) return false; - if (tweet2url != null ? !tweet2url.equals(that.tweet2url) : that.tweet2url != null) return false; - if (userprofile2hashtag != null ? !userprofile2hashtag.equals(that.userprofile2hashtag) : that.userprofile2hashtag != null) + if (getCountTaskHistory() != null ? !getCountTaskHistory().equals(that.getCountTaskHistory()) : that.getCountTaskHistory() != null) return false; - if (userprofile2media != null ? !userprofile2media.equals(that.userprofile2media) : that.userprofile2media != null) + if (getTweet2hashtag() != null ? !getTweet2hashtag().equals(that.getTweet2hashtag()) : that.getTweet2hashtag() != null) return false; - if (userprofile2mention != null ? !userprofile2mention.equals(that.userprofile2mention) : that.userprofile2mention != null) + if (getTweet2media() != null ? !getTweet2media().equals(that.getTweet2media()) : that.getTweet2media() != null) return false; - if (userprofile2tickersymbol != null ? !userprofile2tickersymbol.equals(that.userprofile2tickersymbol) : that.userprofile2tickersymbol != null) + if (getTweet2mention() != null ? !getTweet2mention().equals(that.getTweet2mention()) : that.getTweet2mention() != null) return false; - return userprofile2url != null ? userprofile2url.equals(that.userprofile2url) : that.userprofile2url == null; + if (getTweet2tickersymbol() != null ? !getTweet2tickersymbol().equals(that.getTweet2tickersymbol()) : that.getTweet2tickersymbol() != null) + return false; + if (getTweet2url() != null ? !getTweet2url().equals(that.getTweet2url()) : that.getTweet2url() != null) + return false; + if (getUserprofile2hashtag() != null ? !getUserprofile2hashtag().equals(that.getUserprofile2hashtag()) : that.getUserprofile2hashtag() != null) + return false; + if (getUserprofile2media() != null ? !getUserprofile2media().equals(that.getUserprofile2media()) : that.getUserprofile2media() != null) + return false; + if (getUserprofile2mention() != null ? !getUserprofile2mention().equals(that.getUserprofile2mention()) : that.getUserprofile2mention() != null) + return false; + if (getUserprofile2tickersymbol() != null ? !getUserprofile2tickersymbol().equals(that.getUserprofile2tickersymbol()) : that.getUserprofile2tickersymbol() != null) + return false; + return getUserprofile2url() != null ? getUserprofile2url().equals(that.getUserprofile2url()) : that.getUserprofile2url() == null; } @Override public int hashCode() { - int result = countUser != null ? countUser.hashCode() : 0; - result = 31 * result + (countTweets != null ? countTweets.hashCode() : 0); - result = 31 * result + (countHashTags != null ? countHashTags.hashCode() : 0); - result = 31 * result + (countMedia != null ? countMedia.hashCode() : 0); - result = 31 * result + (countMention != null ? countMention.hashCode() : 0); - result = 31 * result + (countTickerSymbol != null ? countTickerSymbol.hashCode() : 0); - result = 31 * result + (countUrl != null ? countUrl.hashCode() : 0); - result = 31 * result + (countTask != null ? countTask.hashCode() : 0); - result = 31 * result + (countTaskHistory != null ? countTaskHistory.hashCode() : 0); - result = 31 * result + (tweet2hashtag != null ? tweet2hashtag.hashCode() : 0); - result = 31 * result + (tweet2media != null ? tweet2media.hashCode() : 0); - result = 31 * result + (tweet2mention != null ? tweet2mention.hashCode() : 0); - result = 31 * result + (tweet2tickersymbol != null ? tweet2tickersymbol.hashCode() : 0); - result = 31 * result + (tweet2url != null ? tweet2url.hashCode() : 0); - result = 31 * result + (userprofile2hashtag != null ? userprofile2hashtag.hashCode() : 0); - result = 31 * result + (userprofile2media != null ? userprofile2media.hashCode() : 0); - result = 31 * result + (userprofile2mention != null ? userprofile2mention.hashCode() : 0); - result = 31 * result + (userprofile2tickersymbol != null ? userprofile2tickersymbol.hashCode() : 0); - result = 31 * result + (userprofile2url != null ? userprofile2url.hashCode() : 0); + int result = getCountUser() != null ? getCountUser().hashCode() : 0; + result = 31 * result + (getCountTweets() != null ? getCountTweets().hashCode() : 0); + result = 31 * result + (getCountUserLists() != null ? getCountUserLists().hashCode() : 0); + result = 31 * result + (getCountHashTags() != null ? getCountHashTags().hashCode() : 0); + result = 31 * result + (getCountMedia() != null ? getCountMedia().hashCode() : 0); + result = 31 * result + (getCountMention() != null ? getCountMention().hashCode() : 0); + result = 31 * result + (getCountTickerSymbol() != null ? getCountTickerSymbol().hashCode() : 0); + result = 31 * result + (getCountUrl() != null ? getCountUrl().hashCode() : 0); + result = 31 * result + (getCountTask() != null ? getCountTask().hashCode() : 0); + result = 31 * result + (getCountTaskHistory() != null ? getCountTaskHistory().hashCode() : 0); + result = 31 * result + (getTweet2hashtag() != null ? getTweet2hashtag().hashCode() : 0); + result = 31 * result + (getTweet2media() != null ? getTweet2media().hashCode() : 0); + result = 31 * result + (getTweet2mention() != null ? getTweet2mention().hashCode() : 0); + result = 31 * result + (getTweet2tickersymbol() != null ? getTweet2tickersymbol().hashCode() : 0); + result = 31 * result + (getTweet2url() != null ? getTweet2url().hashCode() : 0); + result = 31 * result + (getUserprofile2hashtag() != null ? getUserprofile2hashtag().hashCode() : 0); + result = 31 * result + (getUserprofile2media() != null ? getUserprofile2media().hashCode() : 0); + result = 31 * result + (getUserprofile2mention() != null ? getUserprofile2mention().hashCode() : 0); + result = 31 * result + (getUserprofile2tickersymbol() != null ? getUserprofile2tickersymbol().hashCode() : 0); + result = 31 * result + (getUserprofile2url() != null ? getUserprofile2url().hashCode() : 0); return result; } @@ -351,6 +374,9 @@ public boolean isValid() { if(countTweets == null){ return false; } + if(countUserLists == null){ + return false; + } if(countHashTags == null){ return false; } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/impl/TaskRepositoryImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/impl/TaskRepositoryImpl.java index 9da1dc0a..4fb21726 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/impl/TaskRepositoryImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/repositories/custom/impl/TaskRepositoryImpl.java @@ -40,7 +40,6 @@ public Task findByUniqueId(Task domainObject) { @Override public void deleteAllDomainData() { - String SQL_DELETE_ALL_ROWS[] = { "delete from userprofile_url", "delete from userprofile_mention", @@ -59,10 +58,10 @@ public void deleteAllDomainData() { "delete from hashtag", "delete from tweet", "delete from userprofile", + "delete from userlist", "delete from task_history", "delete from task" }; - for(String SQL : SQL_DELETE_ALL_ROWS){ jdbcTemplate.execute(SQL); } diff --git a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/CountedEntitiesServiceImpl.java b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/CountedEntitiesServiceImpl.java index 23eaeef4..1bb9ef63 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/service/impl/CountedEntitiesServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/service/impl/CountedEntitiesServiceImpl.java @@ -26,6 +26,7 @@ public CountedEntities countAll() { long countUser = userRepository.count(); long countTweets = tweetRepository.count(); + long countUserLists = userListRepository.count(); long countHashTags = hashTagRepository.count(); long countMedia = mediaRepository.count(); long countMention = mentionRepository.count(); @@ -36,6 +37,7 @@ public CountedEntities countAll() { c.setCountHashTags(countHashTags); c.setCountMedia(countMedia); + c.setCountUserLists(countUserLists); c.setCountMention(countMention); c.setCountTickerSymbol(countTickerSymbol); c.setCountTweets(countTweets); @@ -97,8 +99,10 @@ public CountedEntities deleteAll() { private final TaskHistoryRepository taskHistoryRepository; + private final UserListRepository userListRepository; + @Autowired - public CountedEntitiesServiceImpl(TweetRepository tweetRepository, UserRepository userRepository, MentionRepository mentionRepository, MediaRepository mediaRepository, HashTagRepository hashTagRepository, UrlRepository urlRepository, TickerSymbolRepository tickerSymbolRepository, TaskRepository taskRepository, TaskHistoryRepository taskHistoryRepository) { + public CountedEntitiesServiceImpl(TweetRepository tweetRepository, UserRepository userRepository, MentionRepository mentionRepository, MediaRepository mediaRepository, HashTagRepository hashTagRepository, UrlRepository urlRepository, TickerSymbolRepository tickerSymbolRepository, TaskRepository taskRepository, TaskHistoryRepository taskHistoryRepository, UserListRepository userListRepository) { this.tweetRepository = tweetRepository; this.userRepository = userRepository; this.mentionRepository = mentionRepository; @@ -108,6 +112,7 @@ public CountedEntitiesServiceImpl(TweetRepository tweetRepository, UserRepositor this.tickerSymbolRepository = tickerSymbolRepository; this.taskRepository = taskRepository; this.taskHistoryRepository = taskHistoryRepository; + this.userListRepository = userListRepository; } } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/AsyncStartTask.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/AsyncStartTask.java index db33b0a6..9cdfd4f2 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/AsyncStartTask.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/AsyncStartTask.java @@ -36,4 +36,6 @@ public interface AsyncStartTask { Task getRetweetsOfMe(); Task getLists(); + + Task createImprintUserAsync(); } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/TwitterwallMessageBuilder.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/TwitterwallMessageBuilder.java index fd9906d3..5342b1e7 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/TwitterwallMessageBuilder.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/TwitterwallMessageBuilder.java @@ -33,7 +33,5 @@ public interface TwitterwallMessageBuilder { Message buildUserMessage(Message mqMessageIn, User imprintUser); - void waitForApi(); - Message buildUserListMessage(Message incomingTaskMessage, UserList userList, int loopId, int loopAll); } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/impl/TwitterwallMessageBuilderImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/impl/TwitterwallMessageBuilderImpl.java index 89f11d44..1d351f6f 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/impl/TwitterwallMessageBuilderImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/common/impl/TwitterwallMessageBuilderImpl.java @@ -64,8 +64,8 @@ public Message buildUserMessage(Message incomingTaskMe Message mqMessageOut = MessageBuilder.withPayload(outputPayload) .copyHeaders(incomingTaskMessage.getHeaders()) - .setHeader("tw_lfd_nr",loopId) - .setHeader("tw_all",loopAll) + .setHeader("loop_id",loopId) + .setHeader("loop_all",loopAll) .build(); return mqMessageOut; } @@ -109,6 +109,9 @@ public Message buildUserMessage(Message incomingMessag @Override public Message buildUserMessage(Message incomingMessage, TwitterProfile twitterProfile, boolean ignoreTransformation) { + if(twitterProfile == null){ + log.error("buildUserMessage: TwitterProfile twitterProfile == null - bust must not be null"); + } UserMessage outputPayload = new UserMessage(incomingMessage.getPayload().getTaskMessage(),twitterProfile,ignoreTransformation); Message mqMessageOut = MessageBuilder.withPayload(outputPayload) @@ -120,6 +123,9 @@ public Message buildUserMessage(Message incomingMessag @Override public Message buildUserMessage(Message incomingMessage, TwitterProfile twitterProfile) { + if(twitterProfile == null){ + log.error("buildUserMessage: TwitterProfile twitterProfile == null - bust must not be null"); + } UserMessage outputPayload = new UserMessage(incomingMessage.getPayload(),twitterProfile); Message mqMessageOut = MessageBuilder.withPayload(outputPayload) @@ -131,6 +137,9 @@ public Message buildUserMessage(Message incomingMessag @Override public Message buildUserMessage(Message incomingMessage, User imprintUser) { + if(imprintUser == null){ + log.error("buildUserMessage: User imprintUser == null - bust must not be null"); + } UserMessage outputPayload = new UserMessage(incomingMessage.getPayload(), imprintUser); Message mqMessageOut = MessageBuilder.withPayload(outputPayload) @@ -140,16 +149,6 @@ public Message buildUserMessage(Message incomingMessag return mqMessageOut; } - @Override - public void waitForApi() { - int millisToWaitBetweenTwoApiCalls = twitterProperties.getMillisToWaitBetweenTwoApiCalls(); - log.debug("### waiting now for (ms): "+millisToWaitBetweenTwoApiCalls); - try { - Thread.sleep(millisToWaitBetweenTwoApiCalls); - } catch (InterruptedException e) { - } - } - @Override public Message buildUserListMessage(Message incomingTaskMessage, UserList userList, int loopId, int loopAll) { UserListMessage outputPayload = new UserListMessage(incomingTaskMessage.getPayload(),userList); diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/AsyncStartTaskImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/AsyncStartTaskImpl.java index 955aece5..c1a0b127 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/AsyncStartTaskImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/AsyncStartTaskImpl.java @@ -116,6 +116,12 @@ public Task getLists() { return send(taskType); } + @Override + public Task createImprintUserAsync() { + TaskType taskType = TaskType.CONTROLLER_CREATE_IMPRINT_USER; + return send(taskType); + } + private Task send(TaskType taskType){ SendType sendType = SendType.FIRE_AND_FORGET; String msg = "START Task "+taskType+" via MQ by "+sendType; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/StartTaskImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/StartTaskImpl.java index 8c747ace..20b89a12 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/StartTaskImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/impl/StartTaskImpl.java @@ -117,6 +117,12 @@ public Task getLists() { return sendAndReceiveUserList(taskType); } + @Override + public Task createImprintUserAsync() { + TaskType taskType = TaskType.CONTROLLER_CREATE_IMPRINT_USER; + return sendAndReceiveUser(taskType); + } + private Task sendAndReceiveUserList(TaskType taskType){ SendType sendType = SendType.SEND_AND_WAIT_FOR_RESULT; String logMsg = "Start task "+taskType+"via MQ by "+sendType; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/CreateTestDataTweetsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/CreateTestDataTweetsSplitterImpl.java index 6d211e45..0fc9f03f 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/CreateTestDataTweetsSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/CreateTestDataTweetsSplitterImpl.java @@ -69,10 +69,9 @@ public List> splitTweetMessage(Message incomi Message outgoingMessage = null; if(fetchTweetFromApi) { Tweet tweet = twitterApiService.findOneTweetById(idTwitter); - twitterwallMessageBuilder.waitForApi(); outgoingMessage = twitterwallMessageBuilder.buildTweetMessage(incomingTaskMessage, tweet, loopId, loopAll); } else { - outgoingMessage = twitterwallMessageBuilder.buildTweetMessage(incomingTaskMessage,tweetPers,loopId,loopAll); + outgoingMessage = twitterwallMessageBuilder.buildTweetMessage(incomingTaskMessage, tweetPers,loopId,loopAll); } tweets.add(outgoingMessage); } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/UpdateTweetsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/UpdateTweetsSplitterImpl.java index e5342ffb..095828f1 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/UpdateTweetsSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/tweets/splitter/impl/UpdateTweetsSplitterImpl.java @@ -84,7 +84,6 @@ public List> splitTweetMessage(Message incomi TweetMessage result = new TweetMessage(msgIn,foundTweetFromTwitter); Message mqMessageOut = twitterwallMessageBuilder.buildTweetMessage(incomingTaskMessage,foundTweetFromTwitter,lfdNr,all); tweets.add(mqMessageOut); - twitterwallMessageBuilder.waitForApi(); } return tweets; } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/UserFinisher.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/UserFinisher.java index 4334a1ef..0b62952f 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/UserFinisher.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/UserFinisher.java @@ -11,4 +11,6 @@ public interface UserFinisher { Message finish(Message> incomingMessageList); void finishAsnyc(Message> incomingMessageList); + + void finishOneUserAsnyc(Message incomingMessage); } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/CreateImprintUserImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/CreateImprintUserImpl.java index 38596ffb..46914e44 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/CreateImprintUserImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/CreateImprintUserImpl.java @@ -56,7 +56,6 @@ private Message getMessageOut(Message mqMessageIn){ String screenName = frontendProperties.getImprintScreenName(); TwitterProfile twitterProfile = twitterApiService.getUserProfileForScreenName(screenName); Message mqMessageOut = twitterwallMessageBuilder.buildUserMessage(mqMessageIn,twitterProfile); - twitterwallMessageBuilder.waitForApi(); return mqMessageOut; } } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserCheckStorageImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserCheckStorageImpl.java index c2fc33fe..8acda58c 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserCheckStorageImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserCheckStorageImpl.java @@ -35,10 +35,15 @@ public Message checkIfUserIsInStorage(Message incoming Message mqMessageOut = twitterwallMessageBuilder.buildUserMessage(incomingMessage,isInStorage); return mqMessageOut; } else { - boolean ignoreTransformation = false; TwitterProfile twitterProfile = twitterApiService.getUserProfileForTwitterId(userIdTwitter); - Message mqMessageOut = twitterwallMessageBuilder.buildUserMessage(incomingMessage, twitterProfile, ignoreTransformation); - return mqMessageOut; + if(twitterProfile == null){ + Message mqMessageOut = twitterwallMessageBuilder.buildUserMessage(incomingMessage,isInStorage); + return mqMessageOut; + } else { + boolean ignoreTransformation = false; + Message mqMessageOut = twitterwallMessageBuilder.buildUserMessage(incomingMessage, twitterProfile, ignoreTransformation); + return mqMessageOut; + } } } } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserFinisherImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserFinisherImpl.java index 9894f9d2..ac93b315 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserFinisherImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/services/impl/UserFinisherImpl.java @@ -53,6 +53,16 @@ public void finishAsnyc(Message> incomingMessageList) { log.info(msgDone); } + @Override + public void finishOneUserAsnyc(Message incomingMessage) { + CountedEntities countedEntities = countedEntitiesService.countAll(); + long taskId = incomingMessage.getPayload().getTaskMessage().getTaskId(); + Task task = taskService.findById(taskId); + String msgDone = "Sucessfully finished task "+task.getTaskType()+" via MQ by FIRE_AND_FORGET_SENDER"; + taskService.done(msgDone,task,countedEntities); + log.info(msgDone); + } + @Autowired public UserFinisherImpl(TaskService taskService, CountedEntitiesService countedEntitiesService) { this.taskService = taskService; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/CreateTestDataUsersSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/CreateTestDataUsersSplitterImpl.java index c42f92a8..7c25667f 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/CreateTestDataUsersSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/CreateTestDataUsersSplitterImpl.java @@ -69,7 +69,6 @@ public List> splitUserMessage(Message incoming if(fetchFromTwitterApi){ TwitterProfile userProfile = twitterApiService.getUserProfileForScreenName(screenName); outgoingMessage = twitterwallMessageBuilder.buildUserMessage(incomingTaskMessage,userProfile,loopId,loopAll); - twitterwallMessageBuilder.waitForApi(); } else { outgoingMessage = twitterwallMessageBuilder.buildUserMessage(incomingTaskMessage,userPers,loopId,loopAll); } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/FetchFollowerSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/FetchFollowerSplitterImpl.java index 3bdb98c8..f1c8eede 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/FetchFollowerSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/FetchFollowerSplitterImpl.java @@ -52,7 +52,6 @@ public List> splitUserMessage(Message incoming Message mqMessageOut = twitterwallMessageBuilder.buildUserMessage(incomingTaskMessage,twitterProfileId,loopId,loopAll); userProfileList.add(mqMessageOut); } - twitterwallMessageBuilder.waitForApi(); return userProfileList; } } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/FetchUsersFromListSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/FetchUsersFromListSplitterImpl.java index 6e27ff40..637a1a4a 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/FetchUsersFromListSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/FetchUsersFromListSplitterImpl.java @@ -51,7 +51,7 @@ public List> splitUserMessage(Message incoming Task task = taskService.findById(id); task = taskService.start(task,countedEntities); String imprintScreenName = frontendProperties.getImprintScreenName(); - String fetchUsersList = schedulerProperties.getFetchUserListName(); + String fetchUsersList = schedulerProperties.getFetchUsersFromDefinedUserListName(); List foundTwitterProfiles = twitterApiService.findUsersFromDefinedList(imprintScreenName,fetchUsersList); int loopId = 0; int loopAll = foundTwitterProfiles.size(); diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/UpdateUsersFromMentionsSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/UpdateUsersFromMentionsSplitterImpl.java index 2c34bcc5..03bd691f 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/UpdateUsersFromMentionsSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/UpdateUsersFromMentionsSplitterImpl.java @@ -102,7 +102,6 @@ public List> splitUserMessage(Message incoming Message mqMessageOut = twitterwallMessageBuilder.buildUserMessage(incomingTaskMessage,userProfile,lfdNr,all); userProfileList.add(mqMessageOut); } - twitterwallMessageBuilder.waitForApi(); } return userProfileList; } diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/UpdateUsersSplitterImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/UpdateUsersSplitterImpl.java index 276ef531..cf5e27ff 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/UpdateUsersSplitterImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/endpoint/users/splitter/impl/UpdateUsersSplitterImpl.java @@ -103,7 +103,6 @@ public List> splitUserMessage(Message incoming Message mqMessageOut = twitterwallMessageBuilder.buildUserMessage(incomingTaskMessage,userProfile,loopId,loopAll); userProfileList.add(mqMessageOut); } - twitterwallMessageBuilder.waitForApi(); } log.debug(msg+ " DONE"); return userProfileList; diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserMessage.java b/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserMessage.java index 37e856c5..7b764669 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserMessage.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/mq/msg/UserMessage.java @@ -32,7 +32,6 @@ public UserMessage(TaskMessage taskMessage, long twitterProfileId, boolean ignor this.ignoreTransformation = ignoreTransformation; } - @Deprecated public UserMessage(TaskMessage taskMessage, TwitterProfile twitterProfile, boolean ignoreTransformation){ this.taskMessage = taskMessage; this.screenName = twitterProfile.getScreenName(); diff --git a/src/main/java/org/woehlke/twitterwall/scheduled/service/remote/impl/TwitterApiServiceImpl.java b/src/main/java/org/woehlke/twitterwall/scheduled/service/remote/impl/TwitterApiServiceImpl.java index b3783f28..f06b834b 100644 --- a/src/main/java/org/woehlke/twitterwall/scheduled/service/remote/impl/TwitterApiServiceImpl.java +++ b/src/main/java/org/woehlke/twitterwall/scheduled/service/remote/impl/TwitterApiServiceImpl.java @@ -40,7 +40,7 @@ public List findTweetsForSearchQuery() { } } catch (RateLimitExceededException e) { log.warn(msg + " Rate Limit Exceeded : "); - waitForApi(); + waitLongerForApi(); } catch (Exception e) { log.error(msg + e.getMessage()); return new ArrayList<>(); @@ -59,10 +59,11 @@ public Tweet findOneTweetById(long tweetTwitterId) { log.debug(msg + " Id: " + result.getId()); msg += " result: "; log.debug(msg + result); + waitForApi(); return result; } catch (RateLimitExceededException e) { log.warn(msg + " Rate Limit Exceeded "); - waitForApi(); + waitLongerForApi(); } catch (Exception e) { log.error(msg + e.getMessage()); e.printStackTrace(); @@ -89,7 +90,7 @@ public List getHomeTimeline() { } } catch (RateLimitExceededException e) { log.warn(msg + " Rate Limit Exceeded : "); - waitForApi(); + waitLongerForApi(); } catch (Exception e) { log.error(msg + e.getMessage()); return new ArrayList<>(); @@ -108,6 +109,7 @@ public List getUserTimeline() { msg += " result: "; if (fetchedTweets.size() == 0) { log.error(msg + " result.size: 0"); + //TODO: Why? return new ArrayList<>(); } else { log.debug(msg + " result.size: " + fetchedTweets.size()); @@ -115,7 +117,7 @@ public List getUserTimeline() { } } catch (RateLimitExceededException e) { log.warn(msg + " Rate Limit Exceeded : "); - waitForApi(); + waitLongerForApi(); } catch (Exception e) { log.error(msg + e.getMessage()); return new ArrayList<>(); @@ -141,7 +143,7 @@ public List getMentions() { } } catch (RateLimitExceededException e) { log.warn(msg + " Rate Limit Exceeded : "); - waitForApi(); + waitLongerForApi(); } catch (Exception e) { log.error(msg + e.getMessage()); return new ArrayList<>(); @@ -167,7 +169,7 @@ public List getFavorites() { } } catch (RateLimitExceededException e) { log.warn(msg + " Rate Limit Exceeded : "); - waitForApi(); + waitLongerForApi(); } catch (Exception e) { log.error(msg + e.getMessage()); return new ArrayList<>(); @@ -193,7 +195,7 @@ public List getRetweetsOfMe(){ } } catch (RateLimitExceededException e) { log.warn(msg + " Rate Limit Exceeded : "); - waitForApi(); + waitLongerForApi(); } catch (Exception e) { log.error(msg + e.getMessage()); return new ArrayList<>(); @@ -219,7 +221,7 @@ public List getLists(){ } } catch (RateLimitExceededException e) { log.warn(msg + " Rate Limit Exceeded : "); - waitForApi(); + waitLongerForApi(); } catch (Exception e) { log.error(msg + e.getMessage()); return new ArrayList<>(); @@ -239,10 +241,11 @@ public TwitterProfile getUserProfileForTwitterId(long userProfileTwitterId) { log.debug(msg + " Id: " + result.getId()); log.debug(msg + " ScreenName: " + result.getScreenName()); log.debug(msg + " Name: " + result.getName()); + waitForApi(); return result; } catch (RateLimitExceededException e) { log.warn(msg + " Rate Limit Exceeded : "); - waitForApi(); + waitLongerForApi(); } catch (ResourceNotFoundException e) { log.warn(msg + " User not found : " + userProfileTwitterId); return null; @@ -264,10 +267,11 @@ public TwitterProfile getUserProfileForScreenName(String screenName) { msg += " result: "; log.debug(msg + " ScreenName: " + result.getScreenName()); log.debug(msg + " Name: " + result.getName()); + waitForApi(); return result; } catch (RateLimitExceededException e) { log.warn(msg + " Rate Limit Exceeded : "); - waitForApi(); + waitLongerForApi(); } catch (ResourceNotFoundException e) { log.warn(msg + " User not found : " + screenName); return null; @@ -279,18 +283,18 @@ public TwitterProfile getUserProfileForScreenName(String screenName) { } @Override - public List findUsersFromDefinedList(String screenName,String fetchUserListName) { - String msg = MSG+"findUsersFromDefinedList: "+fetchUserListName+" "; + public List findUsersFromDefinedList(String screenNameOfTheListOwner,String listSlug) { + String msg = MSG+"findUsersFromDefinedList: listSlug = "+listSlug+" "; log.debug(msg); List result; while(true) { try { - result = getTwitterProxy().listOperations().getListMembers(screenName, fetchUserListName); + result = getTwitterProxy().listOperations().getListMembers(screenNameOfTheListOwner, listSlug); log.debug(msg + " result.size: " + result.size()); return result; } catch (RateLimitExceededException e) { log.warn(msg + " Rate Limit Exceeded : "); - waitForApi(); + waitLongerForApi(); } catch (Exception e) { log.error(msg + e.getMessage()); return new ArrayList<>(); @@ -310,7 +314,7 @@ public CursoredList getFollowerIds() { return result; } catch (RateLimitExceededException e) { log.warn(msg + " Rate Limit Exceeded : "); - waitForApi(); + waitLongerForApi(); } catch (Exception e) { log.error(msg + e.getMessage()); return new CursoredList<>(new ArrayList<>(), 0L, 0L); @@ -330,7 +334,7 @@ public CursoredList getFriendIds() { return result; } catch (RateLimitExceededException e) { log.warn(msg + " Rate Limit Exceeded : "); - waitForApi(); + waitLongerForApi(); } catch (Exception e) { log.error(msg + e.getMessage()); return new CursoredList<>(new ArrayList<>(), 0L, 0L); @@ -339,7 +343,17 @@ public CursoredList getFriendIds() { } private void waitForApi(){ - int millisToWaitBetweenTwoApiCalls = twitterProperties.getMillisToWaitBetweenTwoApiCalls() * 10; + int millisToWaitBetweenTwoApiCalls = twitterProperties.getMillisToWaitBetweenTwoApiCalls(); + log.debug("### waiting now for (ms): "+millisToWaitBetweenTwoApiCalls); + try { + Thread.sleep(millisToWaitBetweenTwoApiCalls); + } catch (InterruptedException e) { + } + } + + private void waitLongerForApi(){ + int millisToWaitBetweenTwoApiCalls = twitterProperties.getMillisToWaitBetweenTwoApiCalls(); + millisToWaitBetweenTwoApiCalls *= 10; log.debug("### waiting now for (ms): "+millisToWaitBetweenTwoApiCalls); try { Thread.sleep(millisToWaitBetweenTwoApiCalls); diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index c7eac69f..01038d4c 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -116,8 +116,8 @@ twitterwall: updateUserProfilesFromMentions: 3600000 # One Hour scheduler: allowFetchTweetsFromTwitterSearch: true - fetchUserListAllow: true - fetchUserListName: ${TWITTERWALL_SCHEDULER_USER_LIST_NAME} + fetchUsersFromDefinedUserListAllow: true + fetchUsersFromDefinedUserListName: ${TWITTERWALL_SCHEDULER_USER_LIST_NAME} allowUpdateUserProfilesFromMention: true fetchFollowerAllow: false fetchFriendsAllow: false diff --git a/src/main/resources/integration.xml b/src/main/resources/integration.xml index 0cedef29..aefc868f 100644 --- a/src/main/resources/integration.xml +++ b/src/main/resources/integration.xml @@ -565,6 +565,7 @@ + @@ -667,6 +668,31 @@ + + + + + + + + + + + + + Count Entities:
    +
    + +
    + countUserLists +
    +
    +

    diff --git a/src/main/resources/templates/application/management.html b/src/main/resources/templates/application/management.html index 4e26ca3a..c51c7aca 100644 --- a/src/main/resources/templates/application/management.html +++ b/src/main/resources/templates/application/management.html @@ -14,12 +14,12 @@

    Welcome to Application Management.

    Your Options:

  • +
  • + + + + + + + getHomeTimeline +
  • +
  • + + + + + + + getUserTimeline +
  • +
  • + + + + + + + getMentions +
  • +
  • + + + + + + + getFavorites +
  • +
  • + + + + + + + getRetweetsOfMe +
  • +
  • + + + + + + + getLists +
  • diff --git a/src/main/resources/templates/layoutMain.html b/src/main/resources/templates/layoutMain.html index 07a95a29..2aa198af 100644 --- a/src/main/resources/templates/layoutMain.html +++ b/src/main/resources/templates/layoutMain.html @@ -175,14 +175,14 @@
  • - + Delete All Entities
  • - + Count Entities diff --git a/src/main/resources/templates/userlist/all.html b/src/main/resources/templates/userlist/all.html index e69de29b..b6063dee 100644 --- a/src/main/resources/templates/userlist/all.html +++ b/src/main/resources/templates/userlist/all.html @@ -0,0 +1,139 @@ + + + + + +
    +
    +
    +
    +
    +
    + + + + + + + +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + +
    + + +
    +
    idTwitter:
    +
    + idTwitter +
    +
    +
    +
    name:
    +
    + name +
    +
    +
    +
    fullName:
    +
    + fullName +
    +
    +
    +
    uriPath:
    +
    + uriPath +
    +
    +
    +
    description:
    +
    + description +
    +
    +
    +
    slug:
    +
    + slug +
    +
    +
    +
    isPublic:
    +
    + + + + + + +
    +
    +
    +
    isFollowing:
    +
    + + + + + + +
    +
    +
    +
    memberCount:
    +
    + memberCount +
    +
    +
    +
    subscriberCount:
    +
    + subscriberCount +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + + + + + + + +
    +
    +
    +
    + +
    +
    + +
    + +
    + + diff --git a/src/test/java/org/woehlke/twitterwall/ScheduledTasksTest.java b/src/test/java/org/woehlke/twitterwall/ScheduledTasksTest.java index 1ae4df28..104606f8 100644 --- a/src/test/java/org/woehlke/twitterwall/ScheduledTasksTest.java +++ b/src/test/java/org/woehlke/twitterwall/ScheduledTasksTest.java @@ -13,6 +13,12 @@ public class ScheduledTasksTest { @Autowired private ScheduledTasks scheduledTasks; + @Test + public void createImprintUserAsync() throws Exception { + scheduledTasks.createImprintUserAsync(); + } + + @Test public void fetchTweetsFromTwitterSearch() throws Exception { scheduledTasks.fetchTweetsFromTwitterSearch(); } diff --git a/src/test/resources/application-test.yml b/src/test/resources/application-test.yml index 28b96af3..2f48e6b0 100644 --- a/src/test/resources/application-test.yml +++ b/src/test/resources/application-test.yml @@ -25,8 +25,8 @@ twitterwall: allowUpdateTweets: true allowUpdateUserProfiles: true allowUpdateUserProfilesFromMention: true - fetchUserListAllow: true - fetchUserListName: ${TWITTERWALL_SCHEDULER_USER_LIST_NAME} + fetchUsersFromDefinedUserListAllow: true + fetchUsersFromDefinedUserListName: ${TWITTERWALL_SCHEDULER_USER_LIST_NAME} herokuDbRowsLimit: false removeOldDataFromStorageAllow: true fetchFollowerAllow: true From 89f108747e2a1456537cd6cffd568bff01721287 Mon Sep 17 00:00:00 2001 From: phasenraum2010 Date: Thu, 17 Aug 2017 10:58:15 +0200 Subject: [PATCH 21/21] fixed #247, fixed #248, fixed #249, fixed #250, fixed #251, fixed #252, fixed #253, fixed #254, fixed #256, fixed #230 --- .../twitterwall/oodm/entities/UserList.java | 5 ++ .../resources/templates/userlist/all.html | 48 +++++++++++-------- 2 files changed, 33 insertions(+), 20 deletions(-) diff --git a/src/main/java/org/woehlke/twitterwall/oodm/entities/UserList.java b/src/main/java/org/woehlke/twitterwall/oodm/entities/UserList.java index d484f9e0..8e53064c 100644 --- a/src/main/java/org/woehlke/twitterwall/oodm/entities/UserList.java +++ b/src/main/java/org/woehlke/twitterwall/oodm/entities/UserList.java @@ -77,6 +77,11 @@ public class UserList extends AbstractDomainObject implements DomainOb @Column(name="subscriber_count", nullable = false) private Integer subscriberCount; + @Transient + public String getListOwnersScreenName(){ + String myuriPath = uriPath; + return myuriPath.split("/")[1]; + } 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) { super(createdBy, updatedBy); diff --git a/src/main/resources/templates/userlist/all.html b/src/main/resources/templates/userlist/all.html index b6063dee..9fd63221 100644 --- a/src/main/resources/templates/userlist/all.html +++ b/src/main/resources/templates/userlist/all.html @@ -33,44 +33,44 @@
    -
    idTwitter:
    -
    +
    idTwitter:
    +
    idTwitter
    -
    name:
    -
    +
    name:
    +
    name
    -
    fullName:
    -
    +
    fullName:
    +
    fullName
    -
    uriPath:
    -
    +
    uriPath:
    +
    uriPath
    -
    description:
    -
    +
    description:
    +
    description
    -
    slug:
    -
    +
    slug:
    +
    slug
    -
    isPublic:
    -
    +
    isPublic:
    +
    @@ -80,8 +80,8 @@
    -
    isFollowing:
    -
    +
    isFollowing:
    +
    @@ -91,17 +91,25 @@
    -
    memberCount:
    -
    +
    memberCount:
    +
    memberCount
    -
    subscriberCount:
    -
    +
    subscriberCount:
    +
    subscriberCount
    +
    +
    listOwnersScreenName:
    + +