Skip to content

Commit 895d48e

Browse files
new use cases
1 parent 4772003 commit 895d48e

26 files changed

+1255
-121
lines changed

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

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,126 @@ public String getTweetById(
6666
return "tweet/id";
6767
}
6868

69+
@RequestMapping("/timeline/home")
70+
public String getHomeTimeline(
71+
@RequestParam(name= "page", defaultValue=""+ ControllerHelper.FIRST_PAGE_NUMBER) int page,
72+
Model model
73+
){
74+
String title = "Tweets";
75+
model = controllerHelper.setupPage(
76+
model,
77+
title,
78+
"Home Timneline",
79+
Symbols.HOME_TIMELINE_TWEETS.toString()
80+
);
81+
String sortByColumn = "createdAt";
82+
Pageable pageRequest = new PageRequest(
83+
page,
84+
frontendProperties.getPageSize(),
85+
Sort.Direction.DESC,
86+
sortByColumn
87+
);
88+
Page<Tweet> latest = tweetService.getHomeTimeline(pageRequest);
89+
model.addAttribute("latestTweets", latest);
90+
return "tweet/all";
91+
}
92+
93+
@RequestMapping("/timeline/user")
94+
public String getUserTimeline(
95+
@RequestParam(name= "page", defaultValue=""+ ControllerHelper.FIRST_PAGE_NUMBER) int page,
96+
Model model
97+
){
98+
String title = "Tweets";
99+
model = controllerHelper.setupPage(
100+
model,
101+
title,
102+
"User Timeline",
103+
Symbols.USER_TIMELINE_TWEETS.toString()
104+
);
105+
String sortByColumn = "createdAt";
106+
Pageable pageRequest = new PageRequest(
107+
page,
108+
frontendProperties.getPageSize(),
109+
Sort.Direction.DESC,
110+
sortByColumn
111+
);
112+
Page<Tweet> latest = tweetService.getUserTimeline(pageRequest);
113+
model.addAttribute("latestTweets", latest);
114+
return "tweet/all";
115+
}
116+
117+
@RequestMapping("/mentions")
118+
public String getMentions(
119+
@RequestParam(name= "page", defaultValue=""+ ControllerHelper.FIRST_PAGE_NUMBER) int page,
120+
Model model
121+
){
122+
String title = "Tweets";
123+
model = controllerHelper.setupPage(
124+
model,
125+
title,
126+
"Mentions",
127+
Symbols.MENTIONS_TWEETS.toString()
128+
);
129+
String sortByColumn = "createdAt";
130+
Pageable pageRequest = new PageRequest(
131+
page,
132+
frontendProperties.getPageSize(),
133+
Sort.Direction.DESC,
134+
sortByColumn
135+
);
136+
Page<Tweet> latest = tweetService.getMentions(pageRequest);
137+
model.addAttribute("latestTweets", latest);
138+
return "tweet/all";
139+
}
140+
141+
@RequestMapping("/favorites")
142+
public String getFavorites(
143+
@RequestParam(name= "page", defaultValue=""+ ControllerHelper.FIRST_PAGE_NUMBER) int page,
144+
Model model
145+
){
146+
String title = "Tweets";
147+
model = controllerHelper.setupPage(
148+
model,
149+
title,
150+
"Favorites",
151+
Symbols.FAVORITES_TWEETS.toString()
152+
);
153+
String sortByColumn = "createdAt";
154+
Pageable pageRequest = new PageRequest(
155+
page,
156+
frontendProperties.getPageSize(),
157+
Sort.Direction.DESC,
158+
sortByColumn
159+
);
160+
Page<Tweet> latest = tweetService.getFavorites(pageRequest);
161+
model.addAttribute("latestTweets", latest);
162+
return "tweet/all";
163+
}
164+
165+
@RequestMapping("/retweets")
166+
public String getRetweetsOfMe(
167+
@RequestParam(name= "page", defaultValue=""+ ControllerHelper.FIRST_PAGE_NUMBER) int page,
168+
Model model
169+
){
170+
String title = "Tweets";
171+
model = controllerHelper.setupPage(
172+
model,
173+
title,
174+
"Retweets Of Me",
175+
Symbols.RETWEETS_OF_ME_FAVORITES_TWEETS.toString()
176+
);
177+
String sortByColumn = "createdAt";
178+
Pageable pageRequest = new PageRequest(
179+
page,
180+
frontendProperties.getPageSize(),
181+
Sort.Direction.DESC,
182+
sortByColumn
183+
);
184+
Page<Tweet> latest = tweetService.getRetweetsOfMe(pageRequest);
185+
model.addAttribute("latestTweets", latest);
186+
return "tweet/all";
187+
}
188+
69189
private static final Logger log = LoggerFactory.getLogger(TweetController.class);
70190

71191
private final TweetService tweetService;

src/main/java/org/woehlke/twitterwall/frontend/controller/common/Symbols.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,11 @@ public enum Symbols {
99
IMPRINT("<i class=\"fa fa-university\" aria-hidden=\"true\"></i>"),
1010
PROFILE("<i class=\"fa fa-users\" aria-hidden=\"true\"></i>"),
1111
HOME("<span class=\"glyphicon glyphicon-home\" aria-hidden=\"true\"></span>"),
12+
HOME_TIMELINE_TWEETS("<i class=\"fa fa-twitter\" aria-hidden=\"true\"></i>"),
13+
USER_TIMELINE_TWEETS("<i class=\"fa fa-twitter\" aria-hidden=\"true\"></i>"),
14+
MENTIONS_TWEETS("<i class=\"fa fa-twitter\" aria-hidden=\"true\"></i>"),
15+
FAVORITES_TWEETS("<i class=\"fa fa-twitter\" aria-hidden=\"true\"></i>"),
16+
RETWEETS_OF_ME_FAVORITES_TWEETS("<i class=\"fa fa-twitter\" aria-hidden=\"true\"></i>"),
1217
USER_ALL("<i class=\"fa fa-user\" aria-hidden=\"true\"></i>"),
1318
USER_TWEETS("<i class=\"fa fa-user\" aria-hidden=\"true\"></i>"),
1419
USER_NOT_YET_FRIENDS("<i class=\"fa fa-plus-square\" aria-hidden=\"true\"></i>"),

src/main/java/org/woehlke/twitterwall/frontend/rest/HashTagResource.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
import org.woehlke.twitterwall.conf.properties.FrontendProperties;
1010
import org.woehlke.twitterwall.frontend.controller.common.ControllerHelper;
1111
import org.woehlke.twitterwall.oodm.entities.HashTag;
12-
import org.woehlke.twitterwall.oodm.entities.Media;
1312
import org.woehlke.twitterwall.oodm.service.HashTagService;
1413

1514

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

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,26 @@
5353
@NamedQuery(
5454
name="Tweet.findByUniqueId",
5555
query="select t from Tweet t where t.idTwitter=:idTwitter"
56+
),
57+
@NamedQuery(
58+
name="Tweet.getHomeTimeline",
59+
query="select t from Tweet t where t.taskInfo.getHomeTimeline=true"
60+
),
61+
@NamedQuery(
62+
name="Tweet.getUserTimeline",
63+
query="select t from Tweet t where t.taskInfo.getUserTimeline=true"
64+
),
65+
@NamedQuery(
66+
name="Tweet.getMentions",
67+
query="select t from Tweet t where t.taskInfo.getMentions=true"
68+
),
69+
@NamedQuery(
70+
name="Tweet.getFavorites",
71+
query="select t from Tweet t where t.taskInfo.getFavorites=true"
72+
),
73+
@NamedQuery(
74+
name="Tweet.getRetweetsOfMe",
75+
query="select t from Tweet t where t.taskInfo.getRetweetsOfMe=true"
5676
)
5777
})
5878
@NamedNativeQueries({

0 commit comments

Comments
 (0)