public void execute() throws IOException { List<ClientDetailsEntity> clientDetailsList = clientDetailsDao.getAll(); for (ClientDetailsEntity clientDetailsEntity : clientDetailsList) { LOG.info("Checking client: {}", clientDetailsEntity.getId()); if (PojoUtil.isEmpty(clientDetailsEntity.getGroupProfileId())) { LOG.info("Found orphan client: {}", clientDetailsEntity.getId()); if (!dryRun) { // Remove the client LOG.info("Removing orphan client: {}", clientDetailsEntity.getId()); clientDetailsDao.remove(clientDetailsEntity.getId()); } } } }
@Override public Response redirectClientToGroup(String clientId) { ClientDetailsEntity clientDetails = clientDetailsManager.findByClientId(clientId); if (clientDetails == null) { return Response.status(Status.NOT_FOUND).build(); } String groupOrcid = clientDetails.getGroupProfileId(); URI groupUri; try { groupUri = new URI(jpa2JaxbAdapter.getOrcidIdBase(groupOrcid).getUri()); return Response.seeOther(groupUri).build(); } catch (URISyntaxException e) { LOGGER.error("Problem redirecting to group: {}", groupOrcid, e); return Response.serverError().build(); } }
public static Client valueOf(ClientDetailsEntity clientDetails) { Client client = new Client(); if (clientDetails != null) { client.setClientId(Text.valueOf(clientDetails.getClientId())); client.setDisplayName(Text.valueOf(clientDetails.getClientName())); client.setShortDescription(Text.valueOf(clientDetails.getClientDescription())); client.setWebsite(Text.valueOf(clientDetails.getClientWebsite())); client.redirectUris = new ArrayList<RedirectUri>(); if (clientDetails.getClientRegisteredRedirectUris() != null) { for (ClientRedirectUriEntity rUri : clientDetails.getClientRegisteredRedirectUris()) { client.redirectUris.add(RedirectUri.valueOf(rUri)); } } client.persistentTokenEnabled = new Checkbox(); client.persistentTokenEnabled.setValue(clientDetails.isPersistentTokensEnabled()); client.setType(Text.valueOf(clientDetails.getClientType().value())); if (clientDetails.isScoped()) client.setScopes(clientDetails.getScope()); client.setMemberId(Text.valueOf(clientDetails.getGroupProfileId())); } return client; }