service layer cleanups

pull/263/head
Justin Richer 2012-11-19 13:46:09 -05:00
parent 4e18fb4525
commit e9d1ed270d
3 changed files with 31 additions and 13 deletions

View File

@ -21,6 +21,7 @@ import java.util.Set;
import org.mitre.openid.connect.model.ApprovedSite;
import org.mitre.openid.connect.model.WhitelistedSite;
import org.springframework.security.oauth2.provider.ClientDetails;
/**
* Interface for ApprovedSite service
@ -88,4 +89,10 @@ public interface ApprovedSiteService {
* @return
*/
public Collection<ApprovedSite> getByClientId(String clientId);
/**
* Clear out any approved sites for a given client.
* @param client
*/
public void clearApprovedSitesForClient(ClientDetails client);
}

View File

@ -27,8 +27,9 @@ import org.mitre.oauth2.repository.OAuth2TokenRepository;
import org.mitre.oauth2.service.ClientDetailsEntityService;
import org.mitre.openid.connect.model.ApprovedSite;
import org.mitre.openid.connect.model.WhitelistedSite;
import org.mitre.openid.connect.repository.ApprovedSiteRepository;
import org.mitre.openid.connect.repository.WhitelistedSiteRepository;
import org.mitre.openid.connect.service.ApprovedSiteService;
import org.mitre.openid.connect.service.BlacklistedSiteService;
import org.mitre.openid.connect.service.WhitelistedSiteService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.oauth2.common.exceptions.InvalidClientException;
import org.springframework.security.oauth2.common.exceptions.OAuth2Exception;
@ -46,10 +47,13 @@ public class DefaultOAuth2ClientDetailsEntityService implements ClientDetailsEnt
private OAuth2TokenRepository tokenRepository;
@Autowired
private ApprovedSiteRepository approvedSiteRepository;
private ApprovedSiteService approvedSiteService;
@Autowired
private WhitelistedSiteRepository whitelistedSiteRepository;
private WhitelistedSiteService whitelistedSiteService;
@Autowired
private BlacklistedSiteService blacklistedSiteService;
public DefaultOAuth2ClientDetailsEntityService() {
@ -117,17 +121,12 @@ public class DefaultOAuth2ClientDetailsEntityService implements ClientDetailsEnt
tokenRepository.clearTokensForClient(client);
// clean out any approved sites for this client
Collection<ApprovedSite> approvedSites = approvedSiteRepository.getByClientId(client.getClientId());
if (approvedSites != null) {
for (ApprovedSite approvedSite : approvedSites) {
approvedSiteRepository.remove(approvedSite);
}
}
approvedSiteService.clearApprovedSitesForClient(client);
// clear out any whitelisted sites for this client
WhitelistedSite whitelistedSite = whitelistedSiteRepository.getByClientId(client.getClientId());
WhitelistedSite whitelistedSite = whitelistedSiteService.getByClientId(client.getClientId());
if (whitelistedSite != null) {
whitelistedSiteRepository.remove(whitelistedSite);
whitelistedSiteService.remove(whitelistedSite);
}
// take care of the client itself

View File

@ -19,11 +19,13 @@ import java.util.Collection;
import java.util.Date;
import java.util.Set;
import org.mitre.oauth2.model.ClientDetailsEntity;
import org.mitre.openid.connect.model.ApprovedSite;
import org.mitre.openid.connect.model.WhitelistedSite;
import org.mitre.openid.connect.repository.ApprovedSiteRepository;
import org.mitre.openid.connect.service.ApprovedSiteService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.oauth2.provider.ClientDetails;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -125,5 +127,15 @@ public class DefaultApprovedSiteService implements ApprovedSiteService {
return approvedSiteRepository.getByClientId(clientId);
}
@Override
public void clearApprovedSitesForClient(ClientDetails client) {
Collection<ApprovedSite> approvedSites = approvedSiteRepository.getByClientId(client.getClientId());
if (approvedSites != null) {
for (ApprovedSite approvedSite : approvedSites) {
approvedSiteRepository.remove(approvedSite);
}
}
}
}