Moved static fields and methods to Util class

This commit is contained in:
vzikratyi 2020-06-25 17:06:55 +03:00
parent 0149c4b652
commit 0c7cd1297c
2 changed files with 42 additions and 30 deletions

View File

@ -49,18 +49,14 @@ import java.util.function.Consumer;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import static org.thingsboard.server.dao.oauth2.OAuth2Utils.*;
@Slf4j
@Service
public class OAuth2ServiceImpl implements OAuth2Service {
private static final ObjectMapper mapper = new ObjectMapper();
private static final String OAUTH2_CLIENT_REGISTRATIONS_PARAMS = "oauth2ClientRegistrationsParams";
private static final String OAUTH2_CLIENT_REGISTRATIONS_DOMAIN_NAME_PREFIX = "oauth2ClientRegistrationsDomainNamePrefix";
private static final String ALLOW_OAUTH2_CONFIGURATION = "allowOAuth2Configuration";
private static final String SYSTEM_SETTINGS_OAUTH2_VALUE = "value";
private static final String OAUTH2_AUTHORIZATION_PATH_TEMPLATE = "/oauth2/authorization/%s";
private final ReentrantLock cacheWriteLock = new ReentrantLock();
private final Map<TenantId, OAuth2ClientsParams> clientsParams = new ConcurrentHashMap<>();
@ -118,7 +114,7 @@ public class OAuth2ServiceImpl implements OAuth2Service {
OAuth2ClientsDomainParams oAuth2ClientsDomainParams = getMergedOAuth2ClientsParams(domainName);
return oAuth2ClientsDomainParams != null && oAuth2ClientsDomainParams.getClientRegistrations() != null ?
oAuth2ClientsDomainParams.getClientRegistrations().stream()
.map(this::toClientInfo)
.map(OAuth2Utils::toClientInfo)
.collect(Collectors.toList())
: Collections.emptyList()
;
@ -419,16 +415,6 @@ public class OAuth2ServiceImpl implements OAuth2Service {
return result;
}
private String constructAdminSettingsDomainKey(String domainName) {
String clientRegistrationsKey;
if (StringUtils.isEmpty(domainName)) {
clientRegistrationsKey = OAUTH2_CLIENT_REGISTRATIONS_PARAMS;
} else {
clientRegistrationsKey = OAUTH2_CLIENT_REGISTRATIONS_DOMAIN_NAME_PREFIX + "_" + domainName;
}
return clientRegistrationsKey;
}
private OAuth2ClientsParams constructOAuth2ClientsParams(String json) {
OAuth2ClientsParams result = null;
if (!StringUtils.isEmpty(json)) {
@ -456,19 +442,6 @@ public class OAuth2ServiceImpl implements OAuth2Service {
return json;
}
private OAuth2ClientInfo toClientInfo(OAuth2ClientRegistration clientRegistration) {
OAuth2ClientInfo client = new OAuth2ClientInfo();
client.setName(clientRegistration.getLoginButtonLabel());
client.setUrl(String.format(OAUTH2_AUTHORIZATION_PATH_TEMPLATE, clientRegistration.getRegistrationId()));
client.setIcon(clientRegistration.getLoginButtonIcon());
return client;
}
private Stream<OAuth2ClientRegistration> toClientRegistrationStream(OAuth2ClientsParams oAuth2ClientsParams) {
return oAuth2ClientsParams.getClientsDomainsParams().stream()
.flatMap(oAuth2ClientsDomainParams -> oAuth2ClientsDomainParams.getClientRegistrations().stream());
}
private final Consumer<OAuth2ClientRegistration> validator = clientRegistration -> {
if (StringUtils.isEmpty(clientRegistration.getRegistrationId())) {
throw new DataValidationException("Registration ID should be specified!");

View File

@ -0,0 +1,39 @@
package org.thingsboard.server.dao.oauth2;
import org.springframework.util.StringUtils;
import org.thingsboard.server.common.data.oauth2.OAuth2ClientInfo;
import org.thingsboard.server.common.data.oauth2.OAuth2ClientRegistration;
import org.thingsboard.server.common.data.oauth2.OAuth2ClientsParams;
import java.util.stream.Stream;
public class OAuth2Utils {
public static final String OAUTH2_CLIENT_REGISTRATIONS_PARAMS = "oauth2ClientRegistrationsParams";
public static final String OAUTH2_CLIENT_REGISTRATIONS_DOMAIN_NAME_PREFIX = "oauth2ClientRegistrationsDomainNamePrefix";
public static final String ALLOW_OAUTH2_CONFIGURATION = "allowOAuth2Configuration";
public static final String SYSTEM_SETTINGS_OAUTH2_VALUE = "value";
public static final String OAUTH2_AUTHORIZATION_PATH_TEMPLATE = "/oauth2/authorization/%s";
public static String constructAdminSettingsDomainKey(String domainName) {
String clientRegistrationsKey;
if (StringUtils.isEmpty(domainName)) {
clientRegistrationsKey = OAUTH2_CLIENT_REGISTRATIONS_PARAMS;
} else {
clientRegistrationsKey = OAUTH2_CLIENT_REGISTRATIONS_DOMAIN_NAME_PREFIX + "_" + domainName;
}
return clientRegistrationsKey;
}
public static OAuth2ClientInfo toClientInfo(OAuth2ClientRegistration clientRegistration) {
OAuth2ClientInfo client = new OAuth2ClientInfo();
client.setName(clientRegistration.getLoginButtonLabel());
client.setUrl(String.format(OAUTH2_AUTHORIZATION_PATH_TEMPLATE, clientRegistration.getRegistrationId()));
client.setIcon(clientRegistration.getLoginButtonIcon());
return client;
}
public static Stream<OAuth2ClientRegistration> toClientRegistrationStream(OAuth2ClientsParams oAuth2ClientsParams) {
return oAuth2ClientsParams.getClientsDomainsParams().stream()
.flatMap(oAuth2ClientsDomainParams -> oAuth2ClientsDomainParams.getClientRegistrations().stream());
}
}