Skip to content
Snippets Groups Projects
Commit 032148ba authored by Sonia Zorba's avatar Sonia Zorba
Browse files

Minor changes

parent ac7b3dc1
Branches
No related tags found
No related merge requests found
...@@ -3,7 +3,6 @@ package it.inaf.ia2.gms.authn; ...@@ -3,7 +3,6 @@ package it.inaf.ia2.gms.authn;
import java.util.List; import java.util.List;
import org.springframework.beans.factory.ObjectProvider; import org.springframework.beans.factory.ObjectProvider;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.security.oauth2.client.EnableOAuth2Sso;
import org.springframework.boot.autoconfigure.security.oauth2.resource.DefaultUserInfoRestTemplateFactory; import org.springframework.boot.autoconfigure.security.oauth2.resource.DefaultUserInfoRestTemplateFactory;
import org.springframework.boot.autoconfigure.security.oauth2.resource.UserInfoRestTemplateCustomizer; import org.springframework.boot.autoconfigure.security.oauth2.resource.UserInfoRestTemplateCustomizer;
import org.springframework.boot.autoconfigure.security.oauth2.resource.UserInfoRestTemplateFactory; import org.springframework.boot.autoconfigure.security.oauth2.resource.UserInfoRestTemplateFactory;
...@@ -22,7 +21,6 @@ import org.springframework.security.oauth2.provider.token.RemoteTokenServices; ...@@ -22,7 +21,6 @@ import org.springframework.security.oauth2.provider.token.RemoteTokenServices;
* Boot ResourceServerTokenServicesConfiguration. * Boot ResourceServerTokenServicesConfiguration.
*/ */
@Configuration @Configuration
@EnableOAuth2Sso
public class OAuth2Config extends AuthorizationServerEndpointsConfiguration { public class OAuth2Config extends AuthorizationServerEndpointsConfiguration {
@Value("${security.oauth2.resource.jwk.key-set-uri}") @Value("${security.oauth2.resource.jwk.key-set-uri}")
......
package it.inaf.ia2.gms.authn; package it.inaf.ia2.gms.authn;
import org.springframework.boot.autoconfigure.security.oauth2.client.EnableOAuth2Sso;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@Configuration @Configuration
@Order(1000) @EnableOAuth2Sso
public class SecurityConfig extends WebSecurityConfigurerAdapter { public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override @Override
protected void configure(HttpSecurity http) throws Exception { public void configure(HttpSecurity http) throws Exception {
super.configure(http);
http.csrf().disable(); http.csrf().disable();
} }
} }
...@@ -25,6 +25,7 @@ public class GroupsController { ...@@ -25,6 +25,7 @@ public class GroupsController {
@Autowired @Autowired
private SessionData session; private SessionData session;
@Autowired
private UsersService usersService; private UsersService usersService;
@Autowired @Autowired
......
...@@ -30,7 +30,7 @@ public class PaginatedData<T> { ...@@ -30,7 +30,7 @@ public class PaginatedData<T> {
} else { } else {
int firstElementIndex = (currentPage - 1) * pageSize; int firstElementIndex = (currentPage - 1) * pageSize;
int lastElementIndex = Math.min(currentPage * pageSize - 1, totalItems - 1); int lastElementIndex = Math.min(currentPage * pageSize - 1, totalItems - 1);
items = new ArrayList<>(allItems.subList(firstElementIndex, lastElementIndex)); items = new ArrayList<>(allItems.subList(firstElementIndex, lastElementIndex + 1));
} }
links = new ArrayList<>(); links = new ArrayList<>();
......
...@@ -18,6 +18,7 @@ import java.util.ArrayList; ...@@ -18,6 +18,7 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.UUID; import java.util.UUID;
import org.springframework.transaction.annotation.Transactional;
@Service @Service
public class GroupsService { public class GroupsService {
...@@ -47,6 +48,7 @@ public class GroupsService { ...@@ -47,6 +48,7 @@ public class GroupsService {
} }
} }
@Transactional
public Group addGroup(String parentId, String groupName, User user) { public Group addGroup(String parentId, String groupName, User user) {
Group parent = getGroupById(parentId); Group parent = getGroupById(parentId);
...@@ -70,6 +72,7 @@ public class GroupsService { ...@@ -70,6 +72,7 @@ public class GroupsService {
return group; return group;
} }
@Transactional
public List<GroupNode> getSubgroups(Group parent, User user) { public List<GroupNode> getSubgroups(Group parent, User user) {
List<UserGroupPermission> permissions = getAllPermissions(user); List<UserGroupPermission> permissions = getAllPermissions(user);
...@@ -97,7 +100,7 @@ public class GroupsService { ...@@ -97,7 +100,7 @@ public class GroupsService {
GroupNode groupNode = nodesMap.get(group.getId()); GroupNode groupNode = nodesMap.get(group.getId());
if (groupNode == null) { if (groupNode == null) {
return null; return new ArrayList<>();
} }
return groupNode.getPermissions(); return groupNode.getPermissions();
} }
......
...@@ -15,3 +15,4 @@ spring.jpa.database-platform=org.hibernate.dialect.MariaDBDialect ...@@ -15,3 +15,4 @@ spring.jpa.database-platform=org.hibernate.dialect.MariaDBDialect
spring.datasource.url=jdbc:mysql://localhost:3306/gms?useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC spring.datasource.url=jdbc:mysql://localhost:3306/gms?useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC
spring.datasource.username=gms spring.datasource.username=gms
spring.datasource.password=gms spring.datasource.password=gms
#spring.jpa.open-in-view=false
package it.inaf.ia2.gms.model;
import java.util.ArrayList;
import java.util.List;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
public class PaginatedDataTest {
@Test
public void testPagination() {
List<Integer> allItems = new ArrayList<>();
for (int i = 1; i <= 30; i++) {
allItems.add(i);
}
PaginatedData<Integer> paginatedData = new PaginatedData<>(allItems, 2, 10);
assertEquals(10, paginatedData.getItems().size());
assertEquals(11, (int) paginatedData.getItems().get(0));
assertEquals(20, (int) paginatedData.getItems().get(9));
assertEquals(30, paginatedData.getTotalItems());
assertEquals(3, paginatedData.getTotalPages());
assertFalse(paginatedData.isHasPreviousPages());
assertFalse(paginatedData.isHasFollowingPages());
assertEquals(10, paginatedData.getPageSize());
assertEquals(3, paginatedData.getLinks().size());
assertEquals(1, (int) paginatedData.getLinks().get(0));
assertEquals(2, (int) paginatedData.getLinks().get(1));
assertEquals(3, (int) paginatedData.getLinks().get(2));
}
@Test
public void testLotOfPages() {
List<Integer> allItems = new ArrayList<>();
for (int i = 1; i <= 200; i++) {
allItems.add(i);
}
PaginatedData<Integer> paginatedData = new PaginatedData<>(allItems, 8, 10);
assertEquals(10, paginatedData.getItems().size());
assertEquals(71, (int) paginatedData.getItems().get(0));
assertEquals(80, (int) paginatedData.getItems().get(9));
assertEquals(200, paginatedData.getTotalItems());
assertEquals(20, paginatedData.getTotalPages());
assertTrue(paginatedData.isHasPreviousPages());
assertTrue(paginatedData.isHasFollowingPages());
assertEquals(10, paginatedData.getPageSize());
assertEquals(5, paginatedData.getLinks().size());
assertEquals(6, (int) paginatedData.getLinks().get(0));
assertEquals(10, (int) paginatedData.getLinks().get(4));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment