Skip to content

Commit df0b788

Browse files
new use cases
1 parent 895d48e commit df0b788

File tree

5 files changed

+88
-0
lines changed

5 files changed

+88
-0
lines changed
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
package org.woehlke.twitterwall.frontend.controller;
2+
3+
4+
import org.slf4j.Logger;
5+
import org.slf4j.LoggerFactory;
6+
import org.springframework.beans.factory.annotation.Autowired;
7+
import org.springframework.data.domain.PageRequest;
8+
import org.springframework.data.domain.Pageable;
9+
import org.springframework.data.domain.Sort;
10+
import org.springframework.stereotype.Controller;
11+
import org.springframework.ui.Model;
12+
import org.springframework.web.bind.annotation.PathVariable;
13+
import org.springframework.web.bind.annotation.RequestMapping;
14+
import org.springframework.web.bind.annotation.RequestParam;
15+
import org.woehlke.twitterwall.conf.properties.FrontendProperties;
16+
import org.woehlke.twitterwall.frontend.controller.common.ControllerHelper;
17+
import org.woehlke.twitterwall.frontend.controller.common.Symbols;
18+
import org.woehlke.twitterwall.oodm.entities.UserList;
19+
import org.woehlke.twitterwall.oodm.service.UserListService;
20+
21+
@Controller
22+
@RequestMapping("/userlist")
23+
public class UserListController {
24+
25+
private final static String PATH="userlist";
26+
27+
@RequestMapping("/all")
28+
public String getAll(
29+
@RequestParam(name= "page", defaultValue=""+ControllerHelper.FIRST_PAGE_NUMBER) int page,
30+
Model model
31+
) {
32+
Pageable pageRequest = new PageRequest(
33+
page,
34+
frontendProperties.getPageSize(),
35+
Sort.Direction.ASC,
36+
"screenName"
37+
);
38+
model.addAttribute("users", userListService.getAll(pageRequest));
39+
String symbol = Symbols.USER_ALL.toString();
40+
String subtitle = "All Users";
41+
model = controllerHelper.setupPage(model, title, subtitle, symbol);
42+
return "userlist/all";
43+
}
44+
45+
@RequestMapping("/{id}")
46+
public String getUserForId(
47+
@RequestParam(name= "page", defaultValue=""+ControllerHelper.FIRST_PAGE_NUMBER) int page,
48+
@PathVariable("id") UserList userList, Model model
49+
) {
50+
Pageable pageRequest = new PageRequest(
51+
page,
52+
frontendProperties.getPageSize(),
53+
Sort.Direction.DESC,
54+
"createdAt"
55+
);
56+
String symbol = Symbols.PROFILE.toString();
57+
String title = userList.getFullName();
58+
String subtitle = userList.getDescription();
59+
model = controllerHelper.setupPage(model, title, subtitle, symbol);
60+
model.addAttribute("userList", userList);
61+
return "userlist/id";
62+
}
63+
64+
private static final Logger log = LoggerFactory.getLogger(UserController.class);
65+
66+
private final UserListService userListService;
67+
68+
private final FrontendProperties frontendProperties;
69+
70+
private final ControllerHelper controllerHelper;
71+
72+
private static String title = "User List";
73+
74+
@Autowired
75+
public UserListController(UserListService userListService, FrontendProperties frontendProperties, ControllerHelper controllerHelper) {
76+
this.userListService = userListService;
77+
this.frontendProperties = frontendProperties;
78+
this.controllerHelper = controllerHelper;
79+
}
80+
}

src/main/java/org/woehlke/twitterwall/oodm/repositories/UserListRepository.java

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

33

4+
import org.springframework.data.domain.Page;
5+
import org.springframework.data.domain.Pageable;
46
import org.woehlke.twitterwall.oodm.entities.UserList;
57
import org.woehlke.twitterwall.oodm.repositories.common.DomainRepository;
68
import org.woehlke.twitterwall.oodm.repositories.custom.UserListRepositoryCustom;

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package org.woehlke.twitterwall.oodm.repositories.custom.impl;
22

33
import org.springframework.beans.factory.annotation.Autowired;
4+
import org.springframework.data.domain.Page;
5+
import org.springframework.data.domain.Pageable;
46
import org.springframework.jdbc.core.JdbcTemplate;
57
import org.springframework.stereotype.Repository;
68
import org.woehlke.twitterwall.oodm.entities.UserList;

src/main/java/org/woehlke/twitterwall/oodm/service/UserListService.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44
import org.woehlke.twitterwall.oodm.service.common.DomainServiceWithIdTwitter;
55

66
public interface UserListService extends DomainServiceWithIdTwitter<UserList> {
7+
78
}

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
import org.slf4j.Logger;
44
import org.slf4j.LoggerFactory;
55
import org.springframework.beans.factory.annotation.Autowired;
6+
import org.springframework.data.domain.Page;
7+
import org.springframework.data.domain.Pageable;
68
import org.springframework.stereotype.Service;
79
import org.springframework.transaction.annotation.Propagation;
810
import org.springframework.transaction.annotation.Transactional;
@@ -32,4 +34,5 @@ public UserListServiceImpl(UserListRepository domainRepository, TaskRepository t
3234
public UserList findByIdTwitter(long idTwitter) {
3335
return domainRepository.findByIdTwitter(idTwitter);
3436
}
37+
3538
}

0 commit comments

Comments
 (0)