package com.monkeyk.os.service.dto;
import com.monkeyk.os.domain.oauth.ClientDetails;
import com.monkeyk.os.infrastructure.DateUtils;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 2016/6/8
*
* @author Shengzhao Li
*/
public class ClientDetailsDto implements Serializable {
private static final long serialVersionUID = 6642623244436765992L;
private String resourceIds;
private String scope;
private String grantTypes;
/*
* Shiro roles
* */
private String roles;
private Integer accessTokenValidity;
private Integer refreshTokenValidity;
private boolean trusted;
private boolean archived;
private String createTime;
private String clientId;
private String clientSecret;
private String clientName;
private String clientUri;
private String clientIconUri;
private String redirectUri;
private String description;
public ClientDetailsDto() {
}
public ClientDetailsDto(ClientDetails details) {
this.clientId = details.getClientId();
this.clientSecret = details.getClientSecret();
this.clientName = details.getName();
this.clientUri = details.getClientUri();
this.clientIconUri = details.getIconUri();
this.redirectUri = details.getRedirectUri();
this.description = details.getDescription();
this.createTime = DateUtils.toDateTime(details.createTime());
this.archived = details.archived();
this.trusted = details.trusted();
this.refreshTokenValidity = details.refreshTokenValidity();
this.accessTokenValidity = details.accessTokenValidity();
this.roles = details.roles();
this.grantTypes = details.grantTypes();
this.scope = details.scope();
this.resourceIds = details.resourceIds();
}
public String getResourceIds() {
return resourceIds;
}
public void setResourceIds(String resourceIds) {
this.resourceIds = resourceIds;
}
public String getScope() {
return scope;
}
public void setScope(String scope) {
this.scope = scope;
}
public String getGrantTypes() {
return grantTypes;
}
public void setGrantTypes(String grantTypes) {
this.grantTypes = grantTypes;
}
public String getRoles() {
return roles;
}
public void setRoles(String roles) {
this.roles = roles;
}
public Integer getAccessTokenValidity() {
return accessTokenValidity;
}
public void setAccessTokenValidity(Integer accessTokenValidity) {
this.accessTokenValidity = accessTokenValidity;
}
public Integer getRefreshTokenValidity() {
return refreshTokenValidity;
}
public void setRefreshTokenValidity(Integer refreshTokenValidity) {
this.refreshTokenValidity = refreshTokenValidity;
}
public boolean isTrusted() {
return trusted;
}
public void setTrusted(boolean trusted) {
this.trusted = trusted;
}
public boolean isArchived() {
return archived;
}
public void setArchived(boolean archived) {
this.archived = archived;
}
public String getCreateTime() {
return createTime;
}
public void setCreateTime(String createTime) {
this.createTime = createTime;
}
public String getClientId() {
return clientId;
}
public void setClientId(String clientId) {
this.clientId = clientId;
}
public String getClientSecret() {
return clientSecret;
}
public void setClientSecret(String clientSecret) {
this.clientSecret = clientSecret;
}
public String getClientName() {
return clientName;
}
public void setClientName(String clientName) {
this.clientName = clientName;
}
public String getClientUri() {
return clientUri;
}
public void setClientUri(String clientUri) {
this.clientUri = clientUri;
}
public String getClientIconUri() {
return clientIconUri;
}
public void setClientIconUri(String clientIconUri) {
this.clientIconUri = clientIconUri;
}
public String getRedirectUri() {
return redirectUri;
}
public void setRedirectUri(String redirectUri) {
this.redirectUri = redirectUri;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public static List<ClientDetailsDto> toDtos(List<ClientDetails> list) {
List<ClientDetailsDto> dtos = new ArrayList<>(list.size());
for (ClientDetails clientDetails : list) {
dtos.add(new ClientDetailsDto(clientDetails));
}
return dtos;
}
public boolean isContainsAuthorizationCode() {
return this.grantTypes.contains("authorization_code");
}
public boolean isContainsPassword() {
return this.grantTypes.contains("password");
}
public boolean isContainsImplicit() {
return this.grantTypes.contains("implicit");
}
public boolean isContainsClientCredentials() {
return this.grantTypes.contains("client_credentials");
}
public boolean isContainsRefreshToken() {
return this.grantTypes.contains("refresh_token");
}
}