00018 client_details list
parent
c760b5ab8b
commit
56b0027984
|
@ -4,6 +4,8 @@ import cc.wdcy.domain.oauth.OauthClientDetails;
|
|||
import cc.wdcy.infrastructure.DateUtils;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Shengzhao Li
|
||||
|
@ -163,4 +165,12 @@ public class OauthClientDetailsDto implements Serializable {
|
|||
public void setTrusted(boolean trusted) {
|
||||
this.trusted = trusted;
|
||||
}
|
||||
|
||||
public static List<OauthClientDetailsDto> toDtos(List<OauthClientDetails> clientDetailses) {
|
||||
List<OauthClientDetailsDto> dtos = new ArrayList<>(clientDetailses.size());
|
||||
for (OauthClientDetails clientDetailse : clientDetailses) {
|
||||
dtos.add(new OauthClientDetailsDto(clientDetailse));
|
||||
}
|
||||
return dtos;
|
||||
}
|
||||
}
|
|
@ -2,10 +2,14 @@ package cc.wdcy.domain.oauth;
|
|||
|
||||
import cc.wdcy.domain.shared.Repository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
public interface OauthRepository extends Repository {
|
||||
|
||||
OauthClientDetails findOauthClientDetails(String clientId);
|
||||
|
||||
List<OauthClientDetails> findAllOauthClientDetails();
|
||||
}
|
|
@ -1,7 +1,10 @@
|
|||
package cc.wdcy.service;
|
||||
|
||||
import cc.wdcy.domain.dto.OauthClientDetailsDto;
|
||||
import cc.wdcy.domain.oauth.OauthClientDetails;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
|
@ -9,4 +12,6 @@ import cc.wdcy.domain.oauth.OauthClientDetails;
|
|||
public interface OauthService {
|
||||
|
||||
OauthClientDetails loadOauthClientDetails(String clientId);
|
||||
|
||||
List<OauthClientDetailsDto> loadAllOauthClientDetailsDtos();
|
||||
}
|
|
@ -1,11 +1,14 @@
|
|||
package cc.wdcy.service.impl;
|
||||
|
||||
import cc.wdcy.domain.dto.OauthClientDetailsDto;
|
||||
import cc.wdcy.domain.oauth.OauthClientDetails;
|
||||
import cc.wdcy.domain.oauth.OauthRepository;
|
||||
import cc.wdcy.service.OauthService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Shengzhao Li
|
||||
*/
|
||||
|
@ -19,4 +22,10 @@ public class OauthServiceImpl implements OauthService {
|
|||
public OauthClientDetails loadOauthClientDetails(String clientId) {
|
||||
return oauthRepository.findOauthClientDetails(clientId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<OauthClientDetailsDto> loadAllOauthClientDetailsDtos() {
|
||||
List<OauthClientDetails> clientDetailses = oauthRepository.findAllOauthClientDetails();
|
||||
return OauthClientDetailsDto.toDtos(clientDetailses);
|
||||
}
|
||||
}
|
|
@ -1,11 +1,14 @@
|
|||
package cc.wdcy.web.controller;
|
||||
|
||||
import cc.wdcy.domain.dto.OauthClientDetailsDto;
|
||||
import cc.wdcy.service.OauthService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.Model;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Handle 'client_details' management
|
||||
*
|
||||
|
@ -21,8 +24,8 @@ public class ClientDetailsController {
|
|||
|
||||
@RequestMapping("client_details")
|
||||
public String clientDetails(Model model) {
|
||||
|
||||
|
||||
List<OauthClientDetailsDto> clientDetailsDtoList = oauthService.loadAllOauthClientDetailsDtos();
|
||||
model.addAttribute("clientDetailsDtoList", clientDetailsDtoList);
|
||||
return "clientdetails/client_details";
|
||||
}
|
||||
|
||||
|
|
|
@ -29,5 +29,9 @@
|
|||
where client_id = #{clientId}
|
||||
</select>
|
||||
|
||||
<select id="findAllOauthClientDetails" resultMap="oauthClientDetailsMap">
|
||||
select * from oauth_client_details
|
||||
</select>
|
||||
|
||||
|
||||
</mapper>
|
|
@ -4,6 +4,8 @@
|
|||
--%>
|
||||
|
||||
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="fun" uri="http://java.sun.com/jsp/jstl/functions" %>
|
||||
<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
|
@ -33,69 +35,42 @@
|
|||
|
||||
<div>
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">
|
||||
<div class="pull-right">
|
||||
<a href="#">test</a>
|
||||
<a href="#" class="text-danger">delete</a>
|
||||
</div>
|
||||
<h3 class="list-group-item-heading">
|
||||
mobile-client
|
||||
<small>password,refresh_token</small>
|
||||
</h3>
|
||||
<c:forEach items="${clientDetailsDtoList}" var="cli">
|
||||
<li class="list-group-item">
|
||||
<div class="pull-right">
|
||||
<a href="test_client/${cli.clientId}">test</a>
|
||||
<a href="archive_client/${cli.clientId}" class="text-danger">archive</a>
|
||||
</div>
|
||||
<h3 class="list-group-item-heading">
|
||||
${cli.clientId}
|
||||
<small>${cli.authorizedGrantTypes}</small>
|
||||
</h3>
|
||||
|
||||
<div class="list-group-item-text text-muted">
|
||||
client_id: <span class="text-danger">mobile-client</span>
|
||||
client_secret: <span class="text-primary">mobile</span>
|
||||
<br/>
|
||||
authorized_grant_types: <span class="text-primary">password,refresh_token</span>
|
||||
resource_ids: <span class="text-primary">mobile-resource</span>
|
||||
<br/>
|
||||
scope: <span class="text-primary">read,write</span>
|
||||
web_server_redirect_uri: <span class="text-primary">...</span>
|
||||
<br/>
|
||||
authorities: <span class="text-primary">ROLE_CLIENT</span>
|
||||
access_token_validity: <span class="text-primary">...</span>
|
||||
refresh_token_validity: <span class="text-primary">...</span>
|
||||
<br/>
|
||||
create_time: <span class="text-primary">2015-05-08 21:12:22</span>
|
||||
archived: <span class="text-primary">false</span>
|
||||
trusted: <span class="text-primary">false</span>
|
||||
additional_information: <span class="text-primary">...</span>
|
||||
</div>
|
||||
</li>
|
||||
<li class="list-group-item">
|
||||
<div class="pull-right">
|
||||
<a href="#">test</a>
|
||||
<a href="#" class="text-danger">delete</a>
|
||||
</div>
|
||||
<h3 class="list-group-item-heading">
|
||||
unity-client
|
||||
<small>authorization_code,refresh_token,implicit</small>
|
||||
</h3>
|
||||
<div class="list-group-item-text text-muted">
|
||||
client_id: <span class="text-danger">${cli.clientId}</span>
|
||||
client_secret: <span class="text-primary">${cli.clientSecret}</span>
|
||||
<br/>
|
||||
authorized_grant_types: <span class="text-primary">${cli.authorizedGrantTypes}</span>
|
||||
resource_ids: <span class="text-primary">${cli.resourceIds}</span>
|
||||
<br/>
|
||||
scope: <span class="text-primary">${cli.scope}</span>
|
||||
web_server_redirect_uri: <span class="text-primary">${cli.webServerRedirectUri}</span>
|
||||
<br/>
|
||||
authorities: <span class="text-primary">${cli.authorities}</span>
|
||||
access_token_validity: <span class="text-primary">${cli.accessTokenValidity}</span>
|
||||
refresh_token_validity: <span class="text-primary">${cli.refreshTokenValidity}</span>
|
||||
<br/>
|
||||
create_time: <span class="text-primary">${cli.createTime}</span>
|
||||
archived: <span class="${cli.archived?'text-warning':'text-primary'}">${cli.archived}</span>
|
||||
trusted: <span class="text-primary">${cli.trusted}</span>
|
||||
additional_information: <span class="text-primary">${cli.additionalInformation}</span>
|
||||
</div>
|
||||
</li>
|
||||
</c:forEach>
|
||||
|
||||
<div class="list-group-item-text text-muted">
|
||||
client_id: <span class="text-danger">unity-client</span>
|
||||
client_secret: <span class="text-primary">unity</span>
|
||||
<br/>
|
||||
authorized_grant_types: <span class="text-primary">authorization_code,refresh_token,implicit</span>
|
||||
resource_ids: <span class="text-primary">unity-resource</span>
|
||||
<br/>
|
||||
scope: <span class="text-primary">read,write</span>
|
||||
web_server_redirect_uri: <span class="text-primary">...</span>
|
||||
<br/>
|
||||
authorities: <span class="text-primary">ROLE_CLIENT</span>
|
||||
access_token_validity: <span class="text-primary">...</span>
|
||||
refresh_token_validity: <span class="text-primary">...</span>
|
||||
<br/>
|
||||
create_time: <span class="text-primary">2015-05-08 21:12:22</span>
|
||||
archived: <span class="text-primary">false</span>
|
||||
trusted: <span class="text-primary">false</span>
|
||||
additional_information: <span class="text-primary">...</span>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="help-block">
|
||||
每一个item对应<code>oauth_client_details</code>表中的一条数据.
|
||||
每一个item对应<code>oauth_client_details</code>表中的一条数据; 共<strong>${fun:length(clientDetailsDtoList)}</strong>条数据.
|
||||
</p>
|
||||
</div>
|
||||
</body>
|
||||
|
|
|
@ -6,7 +6,9 @@ import cc.wdcy.infrastructure.AbstractRepositoryTest;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
import static org.testng.Assert.assertNull;
|
||||
import java.util.List;
|
||||
|
||||
import static org.testng.Assert.*;
|
||||
|
||||
/**
|
||||
* @author Shengzhao Li
|
||||
|
@ -25,4 +27,11 @@ public class OauthRepositoryMyBatisTest extends AbstractRepositoryTest {
|
|||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void findAllOauthClientDetails() {
|
||||
final List<OauthClientDetails> allOauthClientDetails = oauthRepositoryMyBatis.findAllOauthClientDetails();
|
||||
assertNotNull(allOauthClientDetails);
|
||||
assertTrue(allOauthClientDetails.isEmpty());
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue