public void validateResource(org.xdi.oxauth.model.uma.UmaResource resource) { validateScopeExpression(resource.getScopeExpression()); List<String> scopeDNs = umaScopeService.getScopeDNsByIdsAndAddToLdapIfNeeded(resource.getScopes()); if (scopeDNs.isEmpty() && StringUtils.isBlank(resource.getScopeExpression()) ) { log.error("Invalid resource. Both `scope` and `scope_expression` are blank."); throw new UmaWebException(BAD_REQUEST, errorResponseFactory, UmaErrorResponseType.INVALID_RESOURCE_SCOPE); } } }
private String addResource(String rsid, UmaResource resource, String userDn, String clientDn) { log.debug("Adding new resource: '{}'", rsid); final String resourceDn = resourceService.getDnForResource(rsid); final List<String> scopeDNs = umaScopeService.getScopeDNsByIdsAndAddToLdapIfNeeded(resource.getScopes()); final Calendar calendar = Calendar.getInstance(); final org.xdi.oxauth.model.uma.persistence.UmaResource ldapResource = new org.xdi.oxauth.model.uma.persistence.UmaResource(); ldapResource.setName(resource.getName()); ldapResource.setDescription(resource.getDescription()); ldapResource.setIconUri(resource.getIconUri()); ldapResource.setId(rsid); ldapResource.setRev("1"); ldapResource.setCreator(userDn); ldapResource.setDn(resourceDn); ldapResource.setScopes(scopeDNs); ldapResource.setScopeExpression(resource.getScopeExpression()); ldapResource.setClients(new ArrayList<String>(Collections.singletonList(clientDn))); ldapResource.setType(resource.getType()); ldapResource.setCreationDate(calendar.getTime()); ldapResource.setExpirationDate(getExpirationDate(calendar)); resourceService.addResource(ldapResource); return resourceDn; }
private String updateResource(String rsid, UmaResource resource) { log.debug("Updating resource description: '{}'.", rsid); org.xdi.oxauth.model.uma.persistence.UmaResource ldapResource = resourceService.getResourceById(rsid); if (ldapResource == null) { return throwNotFoundException(rsid); } ldapResource.setName(resource.getName()); ldapResource.setDescription(resource.getDescription()); ldapResource.setIconUri(resource.getIconUri()); ldapResource.setScopes(umaScopeService.getScopeDNsByIdsAndAddToLdapIfNeeded(resource.getScopes())); ldapResource.setScopeExpression(resource.getScopeExpression()); ldapResource.setRev(String.valueOf(incrementRev(ldapResource.getRev()))); ldapResource.setType(resource.getType()); if (resource.getExp() != null && resource.getExp() > 0) { ldapResource.setExpirationDate(new Date(resource.getExp() * 1000)); } resourceService.updateResource(ldapResource); return ldapResource.getDn(); }