TSK-987: Fix Spotbugs - inner class could be made static

This commit is contained in:
Benjamin Eckstein 2020-01-23 14:49:02 +01:00
parent 2112dcd79e
commit 3e9ea4d1d9
8 changed files with 124 additions and 94 deletions

View File

@ -83,7 +83,7 @@ public class TaskHistoryEventControllerIntTest {
server + port + "/api/v1/task-history-event",
HttpMethod.GET,
request,
new ParameterizedTypeReference<TaskHistoryEventListResource>() {});
ParameterizedTypeReference.forType(TaskHistoryEventListResource.class));
assertNotNull(response.getBody().getLink(Link.REL_SELF));
assertEquals(50, response.getBody().getContent().size());
}
@ -97,7 +97,7 @@ public class TaskHistoryEventControllerIntTest {
server + port + parameters,
HttpMethod.GET,
request,
new ParameterizedTypeReference<TaskHistoryEventListResource>() {});
ParameterizedTypeReference.forType(TaskHistoryEventListResource.class));
assertNotNull(response.getBody().getLink(Link.REL_SELF));
assertEquals(3, response.getBody().getContent().size());
assertTrue(response.getBody().getLink(Link.REL_SELF).getHref().endsWith(parameters));
@ -113,7 +113,7 @@ public class TaskHistoryEventControllerIntTest {
+ "&sort-by=business-process-id&order=asc&page-size=6&page=1",
HttpMethod.GET,
request,
new ParameterizedTypeReference<TaskHistoryEventListResource>() {});
ParameterizedTypeReference.forType(TaskHistoryEventListResource.class));
assertNotNull(response.getBody().getLink(Link.REL_SELF));
assertNotNull(response.getBody().getLinks());
@ -128,7 +128,7 @@ public class TaskHistoryEventControllerIntTest {
server + port + "/api/v1/task-history-event?invalid=BPI:01",
HttpMethod.GET,
request,
new ParameterizedTypeReference<TaskHistoryEventListResource>() {});
ParameterizedTypeReference.forType(TaskHistoryEventListResource.class));
fail();
} catch (HttpClientErrorException e) {
assertEquals(HttpStatus.BAD_REQUEST, e.getStatusCode());
@ -145,7 +145,7 @@ public class TaskHistoryEventControllerIntTest {
server + port + "/api/v1/task-history-event?created=" + currentTime,
HttpMethod.GET,
request,
new ParameterizedTypeReference<TaskHistoryEventListResource>() {});
ParameterizedTypeReference.forType(TaskHistoryEventListResource.class));
fail();
} catch (HttpClientErrorException e) {
assertEquals(HttpStatus.BAD_REQUEST, e.getStatusCode());
@ -159,7 +159,7 @@ public class TaskHistoryEventControllerIntTest {
server + port + "/api/v1/task-history-event?created=" + currentTime,
HttpMethod.GET,
request,
new ParameterizedTypeReference<TaskHistoryEventListResource>() {});
ParameterizedTypeReference.forType(TaskHistoryEventListResource.class));
assertNotNull(response.getBody().getLink(Link.REL_SELF));
assertEquals(25, response.getBody().getContent().size());
}
@ -173,7 +173,7 @@ public class TaskHistoryEventControllerIntTest {
server + port + parameters,
HttpMethod.GET,
request,
new ParameterizedTypeReference<TaskHistoryEventListResource>() {});
ParameterizedTypeReference.forType(TaskHistoryEventListResource.class));
assertEquals(2, response.getBody().getContent().size());
assertEquals(

View File

@ -11,7 +11,7 @@ import pro.taskana.exceptions.NotAuthorizedException;
import pro.taskana.impl.report.row.SingleRow;
/**
* A Report represents a an abstract table that consists of {@link Row}s and a list of
* A Report represents an abstract table that consists of {@link Row}s and a list of
* &lt;ColumnHeader&gt;s. Since a report does not specify &lt;Item&gt; and &lt;ColumnHeader&gt; it
* does not contain functional logic. Due to readability implicit definition of functional logic is
* prevented and thus prevent initialization of an abstract Report. In order to create a specific

View File

@ -26,8 +26,7 @@ class ReportTest {
@BeforeEach
void before() {
this.report =
new Report<MonitorQueryItem, TimeIntervalColumnHeader>(
HEADERS, new String[] {"rowDesc"}) {};
new MonitorQueryItemTimeIntervalColumnHeaderReport(HEADERS, new String[] {"rowDesc"});
item = new MonitorQueryItem();
item.setKey("key");
@ -109,9 +108,9 @@ class ReportTest {
@Test
void testInsertItemWithNoColumnHeaders() {
// given
List<TimeIntervalColumnHeader> headerList = Collections.emptyList();
report =
new Report<MonitorQueryItem, TimeIntervalColumnHeader>(
Collections.emptyList(), new String[] {"rowDesc"}) {};
new MonitorQueryItemTimeIntervalColumnHeaderReport(headerList, new String[] {"rowDesc"});
// when
report.addItem(item);
@ -141,9 +140,7 @@ class ReportTest {
// given
List<TimeIntervalColumnHeader> headers = new ArrayList<>(HEADERS);
headers.add(new TimeIntervalColumnHeader(0, 3));
report =
new Report<MonitorQueryItem, TimeIntervalColumnHeader>(
headers, new String[] {"rowDesc"}) {};
report = new MonitorQueryItemTimeIntervalColumnHeaderReport(headers, new String[] {"rowDesc"});
item.setAgeInDays(2);
@ -187,4 +184,13 @@ class ReportTest {
assertArrayEquals(new int[] {0, overrideValue, 0, 0}, sumRow.getCells());
assertEquals(overrideValue, sumRow.getTotalValue());
}
private static class MonitorQueryItemTimeIntervalColumnHeaderReport
extends Report<MonitorQueryItem, TimeIntervalColumnHeader> {
public MonitorQueryItemTimeIntervalColumnHeaderReport(
List<TimeIntervalColumnHeader> headerList, String[] rowDesc) {
super(headerList, rowDesc);
}
}
}

View File

@ -45,13 +45,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("*");
}
};
return new CorsWebMvcConfigurer();
}
@Bean
@ -119,4 +113,12 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
.deleteCookies("JSESSIONID")
.permitAll();
}
private static class CorsWebMvcConfigurer implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("*");
}
}
}

View File

@ -51,11 +51,11 @@ class AccessIdValidationControllerIntTest {
restHelper.toUrl(Mapping.URL_ACCESSID) + "?search-for=ali",
HttpMethod.GET,
request,
new ParameterizedTypeReference<List<AccessIdResource>>() {});
ParameterizedTypeReference.forType(AccessIdListResource.class));
List<AccessIdResource> body = response.getBody();
assertNotNull(body);
assertTrue(3 == body.size());
assertEquals(3, body.size());
List<String> expectedIds =
new ArrayList<>(Arrays.asList("Tralisch, Thea", "Bert, Ali", "Mente, Ali"));
for (AccessIdResource accessId : body) {
@ -78,4 +78,9 @@ class AccessIdValidationControllerIntTest {
assertTrue(e.getResponseBodyAsString().contains("Minimum searchFor length ="));
}
}
static class AccessIdListResource extends ArrayList<AccessIdResource> {
private static final long serialVersionUID = 1L;
}
}

View File

@ -71,66 +71,7 @@ public class WildflyWebSecurityConfig extends WebSecurityConfig {
@Bean
public AuthenticationUserDetailsService<PreAuthenticatedAuthenticationToken>
authenticationUserDetailsService() {
return new AuthenticationUserDetailsService<PreAuthenticatedAuthenticationToken>() {
@Override
public UserDetails loadUserDetails(PreAuthenticatedAuthenticationToken token)
throws UsernameNotFoundException {
return new UserDetails() {
private static final long serialVersionUID = 1L;
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
List<GrantedAuthority> authorities = new ArrayList<>();
SecurityIdentity securityIdentity = getSecurityIdentity();
if (securityIdentity != null) {
Roles roles = securityIdentity.getRoles();
roles.forEach(role -> authorities.add(new SimpleGrantedAuthority(role)));
}
return authorities;
}
@Override
public String getPassword() {
return (String) token.getCredentials();
}
@Override
public String getUsername() {
return token.getName();
}
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return true;
}
private SecurityIdentity getSecurityIdentity() {
SecurityDomain current = SecurityDomain.getCurrent();
if (current != null) {
return current.getCurrentSecurityIdentity();
}
return null;
}
};
}
};
return new PreAuthenticatedAuthenticationTokenAuthenticationUserDetailsService();
}
@Override
@ -190,4 +131,73 @@ public class WildflyWebSecurityConfig extends WebSecurityConfig {
.deleteCookies("JSESSIONID")
.permitAll();
}
private static class PreAuthenticatedAuthenticationTokenAuthenticationUserDetailsService
implements AuthenticationUserDetailsService<PreAuthenticatedAuthenticationToken> {
@Override
public UserDetails loadUserDetails(PreAuthenticatedAuthenticationToken token)
throws UsernameNotFoundException {
return new MyUserDetails(token);
}
private static class MyUserDetails implements UserDetails {
private static final long serialVersionUID = 1L;
private final PreAuthenticatedAuthenticationToken token;
public MyUserDetails(PreAuthenticatedAuthenticationToken token) {
this.token = token;
}
@Override
public Collection<? extends GrantedAuthority> getAuthorities() {
List<GrantedAuthority> authorities = new ArrayList<>();
SecurityIdentity securityIdentity = getSecurityIdentity();
if (securityIdentity != null) {
Roles roles = securityIdentity.getRoles();
roles.forEach(role -> authorities.add(new SimpleGrantedAuthority(role)));
}
return authorities;
}
@Override
public String getPassword() {
return (String) token.getCredentials();
}
@Override
public String getUsername() {
return token.getName();
}
@Override
public boolean isAccountNonExpired() {
return true;
}
@Override
public boolean isAccountNonLocked() {
return true;
}
@Override
public boolean isCredentialsNonExpired() {
return true;
}
@Override
public boolean isEnabled() {
return true;
}
private SecurityIdentity getSecurityIdentity() {
SecurityDomain current = SecurityDomain.getCurrent();
if (current != null) {
return current.getCurrentSecurityIdentity();
}
return null;
}
}
}
}

View File

@ -72,7 +72,7 @@ class WorkbasketDefinitionControllerIntTest {
restHelper.toUrl(Mapping.URL_WORKBASKETDEFIITIONS) + "?domain=DOMAIN_A",
HttpMethod.GET,
restHelper.defaultRequest(),
new ParameterizedTypeReference<List<WorkbasketDefinitionResource>>() {});
ParameterizedTypeReference.forType(WorkbasketDefinitionListResource.class));
assertNotNull(response.getBody());
assertEquals(HttpStatus.OK, response.getStatusCode());
@ -130,7 +130,7 @@ class WorkbasketDefinitionControllerIntTest {
restHelper.toUrl(Mapping.URL_WORKBASKETDEFIITIONS) + "?domain=DOMAIN_A",
HttpMethod.GET,
restHelper.defaultRequest(),
new ParameterizedTypeReference<List<WorkbasketDefinitionResource>>() {});
ParameterizedTypeReference.forType(WorkbasketDefinitionListResource.class));
List<String> list = new ArrayList<>();
ObjectMapper objMapper = new ObjectMapper();
@ -151,7 +151,7 @@ class WorkbasketDefinitionControllerIntTest {
restHelper.toUrl(Mapping.URL_WORKBASKETDEFIITIONS) + "?domain=DOMAIN_A",
HttpMethod.GET,
restHelper.defaultRequest(),
new ParameterizedTypeReference<List<WorkbasketDefinitionResource>>() {});
ParameterizedTypeReference.forType(WorkbasketDefinitionListResource.class));
List<String> list = new ArrayList<>();
ObjectMapper objMapper = new ObjectMapper();
@ -201,4 +201,9 @@ class WorkbasketDefinitionControllerIntTest {
return template.postForEntity(serverUrl, requestEntity, Void.class);
}
static class WorkbasketDefinitionListResource extends ArrayList<WorkbasketDefinitionResource> {
private static final long serialVersionUID = 1L;
}
}

View File

@ -41,13 +41,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("*");
}
};
return new CorsWebMvcConfigurer();
}
@Bean
@ -82,4 +76,12 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
.anyRequest()
.fullyAuthenticated();
}
private static class CorsWebMvcConfigurer implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("*");
}
}
}