Skip to content

Commit 0113917

Browse files
authored
Merge pull request #1 from TAMULib/sprint1-b03251-add-java-entities
Sprint1 b03251 add java entities
2 parents b077152 + 9375141 commit 0113917

27 files changed

Lines changed: 916 additions & 94 deletions

src/main/java/edu/tamu/app/controller/AppAuthController.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232

3333
import com.fasterxml.jackson.core.JsonProcessingException;
3434

35-
import edu.tamu.app.model.User;
36-
import edu.tamu.app.model.repo.UserRepo;
35+
import edu.tamu.app.model.AppUser;
36+
import edu.tamu.app.model.repo.AppUserRepo;
3737
import edu.tamu.framework.aspect.annotation.ApiData;
3838
import edu.tamu.framework.aspect.annotation.ApiMapping;
3939
import edu.tamu.framework.aspect.annotation.ApiParameters;
@@ -52,7 +52,7 @@
5252
public class AppAuthController extends CoreAuthController {
5353

5454
@Autowired
55-
private UserRepo userRepo;
55+
private AppUserRepo userRepo;
5656

5757
@Value("${app.authority.admins}")
5858
private String[] admins;
@@ -142,7 +142,7 @@ public ApiResponse registration(@ApiData Map<String, String> dataMap, @ApiParame
142142
return new ApiResponse(ERROR, "Token has expired! Please begin registration again.");
143143
}
144144

145-
User user = userRepo.create(email, firstName, lastName, "ROLE_USER");
145+
AppUser user = userRepo.create(email, firstName, lastName, "ROLE_USER");
146146
user.setPassword(authUtility.encodePassword(password));
147147

148148
user.setRole(CoreRole.ROLE_USER);
@@ -170,7 +170,7 @@ public ApiResponse login(@ApiData Map<String, String> dataMap) {
170170
String email = dataMap.get("email");
171171
String password = dataMap.get("password");
172172

173-
User user = userRepo.findByEmail(email);
173+
AppUser user = userRepo.findByEmail(email);
174174

175175
if (user == null) {
176176
logger.debug("No user found with email " + email + "!");

src/main/java/edu/tamu/app/controller/UserController.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
import org.springframework.messaging.simp.SimpMessagingTemplate;
1616
import org.springframework.stereotype.Controller;
1717

18-
import edu.tamu.app.model.User;
19-
import edu.tamu.app.model.repo.UserRepo;
18+
import edu.tamu.app.model.AppUser;
19+
import edu.tamu.app.model.repo.AppUserRepo;
2020
import edu.tamu.framework.aspect.annotation.ApiCredentials;
2121
import edu.tamu.framework.aspect.annotation.ApiMapping;
2222
import edu.tamu.framework.aspect.annotation.ApiModel;
@@ -33,7 +33,7 @@
3333
public class UserController {
3434

3535
@Autowired
36-
private UserRepo userRepo;
36+
private AppUserRepo userRepo;
3737

3838
@Autowired
3939
private SimpMessagingTemplate simpMessagingTemplate;
@@ -75,9 +75,9 @@ public ApiResponse allUsers() throws Exception {
7575
*/
7676
@ApiMapping("/update")
7777
@Auth(role = "ROLE_MANAGER")
78-
public ApiResponse updateUser(@ApiModel User user) throws Exception {
78+
public ApiResponse updateUser(@ApiModel AppUser user) throws Exception {
7979
// get the persisted user for its encoded password
80-
User persistedUser = userRepo.findOne(user.getId());
80+
AppUser persistedUser = userRepo.findOne(user.getId());
8181
if(persistedUser != null) {
8282
user.setPassword(persistedUser.getPassword());
8383
}

src/main/java/edu/tamu/app/controller/interceptor/AppRestInterceptor.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
import org.springframework.messaging.simp.SimpMessagingTemplate;
2323
import org.springframework.stereotype.Component;
2424

25-
import edu.tamu.app.model.User;
26-
import edu.tamu.app.model.repo.UserRepo;
25+
import edu.tamu.app.model.AppUser;
26+
import edu.tamu.app.model.repo.AppUserRepo;
2727
import edu.tamu.framework.interceptor.CoreRestInterceptor;
2828
import edu.tamu.framework.model.ApiResponse;
2929
import edu.tamu.framework.model.Credentials;
@@ -34,10 +34,10 @@
3434
*
3535
*/
3636
@Component
37-
public class AppRestInterceptor extends CoreRestInterceptor<User> {
37+
public class AppRestInterceptor extends CoreRestInterceptor<AppUser> {
3838

3939
@Autowired
40-
private UserRepo userRepo;
40+
private AppUserRepo userRepo;
4141

4242
@Value("${app.authority.admins}")
4343
private String[] admins;
@@ -67,9 +67,9 @@ public Credentials getAnonymousCredentials() {
6767
* {@inheritDoc}
6868
*/
6969
@Override
70-
public User confirmCreateUser(Credentials credentials) {
70+
public AppUser confirmCreateUser(Credentials credentials) {
7171

72-
User user;
72+
AppUser user;
7373
String adminTarget;
7474

7575
if (credentials.getUin().equals("null")) {

src/main/java/edu/tamu/app/controller/interceptor/AppStompInterceptor.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
import org.springframework.messaging.simp.SimpMessagingTemplate;
2323
import org.springframework.stereotype.Component;
2424

25-
import edu.tamu.app.model.User;
26-
import edu.tamu.app.model.repo.UserRepo;
25+
import edu.tamu.app.model.AppUser;
26+
import edu.tamu.app.model.repo.AppUserRepo;
2727
import edu.tamu.framework.interceptor.CoreStompInterceptor;
2828
import edu.tamu.framework.model.ApiResponse;
2929
import edu.tamu.framework.model.Credentials;
@@ -34,10 +34,10 @@
3434
*
3535
*/
3636
@Component
37-
public class AppStompInterceptor extends CoreStompInterceptor<User> {
37+
public class AppStompInterceptor extends CoreStompInterceptor<AppUser> {
3838

3939
@Autowired
40-
private UserRepo userRepo;
40+
private AppUserRepo userRepo;
4141

4242
@Value("${app.authority.admins}")
4343
private String[] admins;
@@ -67,9 +67,9 @@ public Credentials getAnonymousCredentials() {
6767
* {@inheritDoc}
6868
*/
6969
@Override
70-
public User confirmCreateUser(Credentials credentials) {
70+
public AppUser confirmCreateUser(Credentials credentials) {
7171

72-
User user;
72+
AppUser user;
7373
String adminTarget;
7474

7575
if (credentials.getUin().equals("null")) {
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package edu.tamu.app.enums;
2+
3+
public enum NoteType {
4+
5+
ENHANCEMENT,
6+
ISSUE,
7+
RESOLUTION,
8+
REPORT,
9+
SCHEDULED_DOWNTIME,
10+
MAINTENANCE;
11+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package edu.tamu.app.enums;
2+
3+
public enum Status {
4+
5+
UP, DOWN, AUTO;
6+
}

src/main/java/edu/tamu/app/model/User.java renamed to src/main/java/edu/tamu/app/model/AppUser.java

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,11 @@
1111

1212
import java.util.ArrayList;
1313
import java.util.Collection;
14+
import java.util.List;
1415

1516
import javax.persistence.Column;
1617
import javax.persistence.Entity;
18+
import javax.persistence.OneToMany;
1719

1820
import org.springframework.security.core.GrantedAuthority;
1921
import org.springframework.security.core.authority.SimpleGrantedAuthority;
@@ -31,7 +33,7 @@
3133
*
3234
*/
3335
@Entity
34-
public class User extends AbstractCoreUser {
36+
public class AppUser extends AbstractCoreUser {
3537

3638
private static final long serialVersionUID = -4974106399870286015L;
3739

@@ -54,13 +56,17 @@ public class User extends AbstractCoreUser {
5456

5557
@Column(nullable = true)
5658
private String lastName;
59+
60+
@OneToMany
61+
private List<Note> notes;
5762

5863
/**
5964
* Constructor for the application user
6065
*
6166
*/
62-
public User() {
67+
public AppUser() {
6368
super();
69+
setNotes(new ArrayList<Note>());
6470
}
6571

6672
/**
@@ -70,8 +76,9 @@ public User() {
7076
* String
7177
*
7278
*/
73-
public User(String uin) {
74-
super(uin);
79+
public AppUser(String uin) {
80+
this();
81+
setUin(uin);
7582
}
7683

7784
/**
@@ -81,7 +88,7 @@ public User(String uin) {
8188
* Long
8289
*
8390
*/
84-
public User(String email, String firstName, String lastName, String role) {
91+
public AppUser(String email, String firstName, String lastName, String role) {
8592
super();
8693
setEmail(email);
8794
setFirstName(firstName);
@@ -185,6 +192,16 @@ public void setLastName(String lastName) {
185192
this.lastName = lastName;
186193
}
187194

195+
196+
197+
public List<Note> getNotes() {
198+
return notes;
199+
}
200+
201+
public void setNotes(List<Note> notes) {
202+
this.notes = notes;
203+
}
204+
188205
@Override
189206
@JsonIgnore
190207
public boolean isAccountNonExpired() {
Lines changed: 130 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
package edu.tamu.app.model;
2+
3+
import static javax.persistence.CascadeType.MERGE;
4+
import static javax.persistence.CascadeType.REFRESH;
5+
import static javax.persistence.FetchType.EAGER;
6+
7+
import java.util.ArrayList;
8+
import java.util.Calendar;
9+
import java.util.List;
10+
11+
import javax.persistence.Column;
12+
import javax.persistence.Entity;
13+
import javax.persistence.JoinColumn;
14+
import javax.persistence.ManyToMany;
15+
import javax.persistence.ManyToOne;
16+
import javax.persistence.Temporal;
17+
import javax.persistence.TemporalType;
18+
import javax.validation.constraints.Size;
19+
20+
import org.hibernate.annotations.CreationTimestamp;
21+
import org.hibernate.annotations.Fetch;
22+
import org.hibernate.annotations.FetchMode;
23+
import org.hibernate.annotations.UpdateTimestamp;
24+
25+
import edu.tamu.app.enums.NoteType;
26+
import edu.tamu.framework.model.BaseEntity;
27+
28+
@Entity
29+
public class Note extends BaseEntity {
30+
31+
@Size(min = 1)
32+
@Column(nullable = false)
33+
private String title;
34+
35+
@Fetch(FetchMode.SELECT)
36+
@ManyToMany(cascade = { REFRESH, MERGE}, fetch = EAGER)
37+
private List<Service> services;
38+
39+
private NoteType noteType;
40+
41+
private String body;
42+
43+
@Temporal(TemporalType.DATE)
44+
private Calendar scheduledPostingStart;
45+
46+
@Temporal(TemporalType.DATE)
47+
private Calendar scheduledPostingEnd;
48+
49+
@Temporal(TemporalType.TIMESTAMP)
50+
@UpdateTimestamp
51+
private Calendar lastModified;
52+
53+
@JoinColumn(nullable = false)
54+
@ManyToOne(cascade = REFRESH)
55+
private AppUser author;
56+
57+
public Note() {
58+
setServices(new ArrayList<Service>());
59+
}
60+
61+
public Note(String name, AppUser author) {
62+
this();
63+
setTitle(name);
64+
setAuthor(author);
65+
}
66+
67+
public String getTitle() {
68+
return title;
69+
}
70+
71+
public void setTitle(String title) {
72+
this.title = title;
73+
}
74+
75+
public List<Service> getServices() {
76+
return services;
77+
}
78+
79+
public void setServices(List<Service> services) {
80+
this.services = services;
81+
}
82+
83+
public NoteType getNoteType() {
84+
return noteType;
85+
}
86+
87+
public void setNoteType(NoteType noteType) {
88+
this.noteType = noteType;
89+
}
90+
91+
public String getBody() {
92+
return body;
93+
}
94+
95+
public void setBody(String body) {
96+
this.body = body;
97+
}
98+
99+
public Calendar getScheduledPostingStart() {
100+
return scheduledPostingStart;
101+
}
102+
103+
public void setScheduledPostingStart(Calendar scheduledPostingStart) {
104+
this.scheduledPostingStart = scheduledPostingStart;
105+
}
106+
107+
public Calendar getScheduledPostingEnd() {
108+
return scheduledPostingEnd;
109+
}
110+
111+
public void setScheduledPostingEnd(Calendar scheduledPostingEnd) {
112+
this.scheduledPostingEnd = scheduledPostingEnd;
113+
}
114+
115+
public Calendar getLastModified() {
116+
return lastModified;
117+
}
118+
119+
public void setLastModified(Calendar lastModified) {
120+
this.lastModified = lastModified;
121+
}
122+
123+
public AppUser getAuthor() {
124+
return author;
125+
}
126+
127+
public void setAuthor(AppUser author) {
128+
this.author = author;
129+
}
130+
}

0 commit comments

Comments
 (0)