Skip to content

Commit 6a30594

Browse files
authored
Merge pull request #52 from TAMULib/sprint4-staging
Sprint4 staging
2 parents 4bb7701 + ee31236 commit 6a30594

99 files changed

Lines changed: 3450 additions & 1492 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@ target/
55
.factorypath
66
.project
77
.settings
8+
.springBeans
89
bin/
910
logs/

pom.xml

Lines changed: 46 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,13 @@
99
<description>A System for monitoring and reporting the status of Library Services</description>
1010

1111
<parent>
12-
<groupId>edu.tamu.weaverframework</groupId>
13-
<artifactId>weaver-webservice-parent</artifactId>
14-
<version>1.2.1</version>
12+
<groupId>edu.tamu.weaver</groupId>
13+
<artifactId>webservice-parent</artifactId>
14+
<version>2.0.0-RC3-SNAPSHOT</version>
1515
</parent>
1616

1717
<properties>
18-
<start-class>edu.tamu.app.WebServerInit</start-class>
18+
1919
</properties>
2020

2121
<packaging>war</packaging>
@@ -32,38 +32,68 @@
3232
</repositories>
3333

3434
<dependencies>
35+
3536
<dependency>
36-
<groupId>edu.tamu.weaverframework</groupId>
37-
<artifactId>weaver-webservice-core</artifactId>
38-
<version>1.2.1</version>
37+
<groupId>edu.tamu.weaver</groupId>
38+
<artifactId>auth</artifactId>
39+
<version>2.0.0-RC3-SNAPSHOT</version>
40+
</dependency>
41+
42+
<dependency>
43+
<groupId>edu.tamu.weaver</groupId>
44+
<artifactId>token-provider</artifactId>
45+
<version>2.0.0-RC3-SNAPSHOT</version>
46+
</dependency>
47+
48+
<dependency>
49+
<groupId>edu.tamu.weaver</groupId>
50+
<artifactId>validation</artifactId>
51+
<version>2.0.0-RC3-SNAPSHOT</version>
52+
</dependency>
53+
54+
<dependency>
55+
<groupId>edu.tamu.weaver</groupId>
56+
<artifactId>reporting</artifactId>
57+
<version>2.0.0-RC3-SNAPSHOT</version>
3958
</dependency>
4059

4160
<dependency>
4261
<groupId>org.postgresql</groupId>
4362
<artifactId>postgresql</artifactId>
44-
<version>9.4.1211</version>
63+
</dependency>
64+
65+
<dependency>
66+
<groupId>org.springframework</groupId>
67+
<artifactId>spring-test</artifactId>
68+
<scope>test</scope>
69+
</dependency>
70+
71+
<dependency>
72+
<groupId>org.springframework.boot</groupId>
73+
<artifactId>spring-boot-starter-test</artifactId>
74+
<scope>test</scope>
75+
</dependency>
76+
77+
<dependency>
78+
<groupId>org.mockito</groupId>
79+
<artifactId>mockito-all</artifactId>
80+
<version>1.10.19</version>
81+
<scope>test</scope>
4582
</dependency>
4683

4784
</dependencies>
4885

4986
<build>
5087
<finalName>ROOT</finalName>
5188
<plugins>
52-
<plugin>
53-
<groupId>org.apache.maven.plugins</groupId>
54-
<artifactId>maven-compiler-plugin</artifactId>
55-
<configuration>
56-
<source>1.8</source>
57-
<target>1.8</target>
58-
</configuration>
59-
</plugin>
6089
<plugin>
6190
<groupId>org.springframework.boot</groupId>
6291
<artifactId>spring-boot-maven-plugin</artifactId>
6392
</plugin>
6493
<plugin>
6594
<groupId>org.apache.maven.plugins</groupId>
6695
<artifactId>maven-war-plugin</artifactId>
96+
<version>3.2.0</version>
6797
<configuration>
6898
<failOnMissingWebXml>false</failOnMissingWebXml>
6999
</configuration>

src/main/java/edu/tamu/app/WebServerInit.java renamed to src/main/java/edu/tamu/app/StatusApplication.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,16 @@
55
import org.springframework.boot.builder.SpringApplicationBuilder;
66
import org.springframework.boot.web.support.SpringBootServletInitializer;
77
import org.springframework.context.annotation.ComponentScan;
8+
import org.springframework.scheduling.annotation.EnableScheduling;
89

910
/**
1011
* Web server initialization.
1112
*
1213
*/
14+
@EnableScheduling
1315
@SpringBootApplication
14-
@ComponentScan(basePackages = { "edu.tamu.framework", "edu.tamu.app" })
15-
public class WebServerInit extends SpringBootServletInitializer {
16+
@ComponentScan(basePackages = { "edu.tamu.*" })
17+
public class StatusApplication extends SpringBootServletInitializer {
1618

1719
/**
1820
* Entry point to the application from within servlet.
@@ -22,7 +24,7 @@ public class WebServerInit extends SpringBootServletInitializer {
2224
*
2325
*/
2426
public static void main(String[] args) {
25-
SpringApplication.run(WebServerInit.class, args);
27+
SpringApplication.run(StatusApplication.class, args);
2628
}
2729

2830
/**
@@ -36,7 +38,7 @@ public static void main(String[] args) {
3638
*/
3739
@Override
3840
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
39-
return application.sources(WebServerInit.class);
41+
return application.sources(StatusApplication.class);
4042
}
4143

4244
}

src/main/java/edu/tamu/app/aspect/AppControllerAspect.java

Lines changed: 0 additions & 17 deletions
This file was deleted.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package edu.tamu.app.auth.model;
2+
3+
import edu.tamu.app.model.User;
4+
5+
public class AppUserDetails extends User {
6+
7+
private static final long serialVersionUID = -7785681787331883261L;
8+
9+
public AppUserDetails(User user) {
10+
super(user);
11+
}
12+
13+
}
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
package edu.tamu.app.auth.service;
2+
3+
import java.util.Optional;
4+
5+
import org.springframework.stereotype.Service;
6+
7+
import edu.tamu.app.enums.Role;
8+
import edu.tamu.app.model.User;
9+
import edu.tamu.app.model.repo.UserRepo;
10+
import edu.tamu.weaver.auth.model.Credentials;
11+
import edu.tamu.weaver.auth.service.UserCredentialsService;
12+
13+
@Service
14+
public class AppUserCredentialsService extends UserCredentialsService<User, UserRepo> {
15+
16+
@Override
17+
public synchronized User updateUserByCredentials(Credentials credentials) {
18+
19+
Optional<User> optionalUser = userRepo.findByUsername(credentials.getUin());
20+
21+
User user = null;
22+
23+
if (!optionalUser.isPresent()) {
24+
25+
Role role = Role.ROLE_USER;
26+
27+
if (credentials.getRole() == null) {
28+
credentials.setRole(role.toString());
29+
}
30+
31+
String shibUin = credentials.getUin();
32+
33+
for (String uin : admins) {
34+
if (uin.equals(shibUin)) {
35+
role = Role.ROLE_ADMIN;
36+
credentials.setRole(role.toString());
37+
}
38+
}
39+
40+
user = userRepo.create(credentials.getUin(), credentials.getEmail(), credentials.getFirstName(), credentials.getLastName(), role);
41+
42+
} else {
43+
user = optionalUser.get();
44+
45+
boolean changed = false;
46+
47+
if (credentials.getUin() != user.getUsername()) {
48+
user.setUsername(credentials.getUin());
49+
changed = true;
50+
}
51+
52+
if (credentials.getEmail() != user.getEmail()) {
53+
user.setEmail(credentials.getEmail());
54+
changed = true;
55+
}
56+
57+
if (credentials.getFirstName() != user.getFirstName()) {
58+
user.setFirstName(credentials.getFirstName());
59+
changed = true;
60+
}
61+
62+
if (credentials.getLastName() != user.getLastName()) {
63+
user.setLastName(credentials.getLastName());
64+
changed = true;
65+
}
66+
67+
if (credentials.getRole() != credentials.getRole().toString()) {
68+
user.setRole(Role.valueOf(credentials.getRole()));
69+
changed = true;
70+
}
71+
72+
if (changed) {
73+
user = userRepo.save(user);
74+
}
75+
76+
}
77+
78+
credentials.setRole(user.getRole().toString());
79+
credentials.setUin(user.getUsername());
80+
81+
return user;
82+
83+
}
84+
85+
@Override
86+
public String getAnonymousRole() {
87+
return Role.ROLE_ANONYMOUS.toString();
88+
}
89+
90+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package edu.tamu.app.auth.service;
2+
3+
import org.springframework.security.core.userdetails.UserDetails;
4+
import org.springframework.stereotype.Service;
5+
6+
import edu.tamu.app.auth.model.AppUserDetails;
7+
import edu.tamu.app.model.User;
8+
import edu.tamu.app.model.repo.UserRepo;
9+
import edu.tamu.weaver.auth.service.AbstractWeaverUserDetailsService;
10+
11+
@Service
12+
public class AppUserDetailsService extends AbstractWeaverUserDetailsService<User, UserRepo> {
13+
14+
@Override
15+
public UserDetails buildUserDetails(User user) {
16+
return new AppUserDetails(user);
17+
}
18+
19+
}

src/main/java/edu/tamu/app/config/AppSecurityConfig.java

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/main/java/edu/tamu/app/config/AppServletConfig.java

Lines changed: 0 additions & 40 deletions
This file was deleted.

src/main/java/edu/tamu/app/config/AppWebConfigSupport.java

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)