@PreAuthorize("hasRole('" + StandardEntitlement.DYNREALM_READ + "')") @Transactional(readOnly = true) public DynRealmTO read(final String key) { DynRealm dynRealm = dynRealmDAO.find(key); if (dynRealm == null) { LOG.error("Could not find dynamic realm '" + key + "'"); throw new NotFoundException(key); } return binder.getDynRealmTO(dynRealm); }
@Transactional(readOnly = true) @Override @SuppressWarnings("unchecked") public List<String> findDynRealms(final String key) { Query query = entityManager().createNativeQuery( "SELECT dynRealm_id FROM " + JPADynRealmDAO.DYNMEMB_TABLE + " WHERE any_id=?"); query.setParameter(1, key); List<String> result = new ArrayList<>(); query.getResultList().stream().map(resultKey -> resultKey instanceof Object[] ? (String) ((Object[]) resultKey)[0] : ((String) resultKey)). forEachOrdered((actualKey) -> { DynRealm dynRealm = dynRealmDAO.find(actualKey.toString()); if (dynRealm == null) { LOG.error("Could not find dynRealm with id {}, even though returned by the native query", actualKey); } else if (!result.contains(actualKey.toString())) { result.add(actualKey.toString()); } }); return result; } }
@PreAuthorize("hasRole('" + StandardEntitlement.DYNREALM_DELETE + "')") public DynRealmTO delete(final String key) { DynRealm dynRealm = dynRealmDAO.find(key); if (dynRealm == null) { LOG.error("Could not find dynamic realm '" + key + "'"); throw new NotFoundException(key); } DynRealmTO deleted = binder.getDynRealmTO(dynRealm); dynRealmDAO.delete(key); return deleted; }
DynRealm dynRealm = dynRealmDAO.find(realmPath); if (dynRealm == null) { LOG.warn("Ignoring invalid dynamic realm {}", realmPath);
@PreAuthorize("hasRole('" + StandardEntitlement.DYNREALM_UPDATE + "')") public DynRealmTO update(final DynRealmTO dynRealmTO) { DynRealm dynRealm = dynRealmDAO.find(dynRealmTO.getKey()); if (dynRealm == null) { LOG.error("Could not find dynamic realm '" + dynRealmTO.getKey() + "'"); throw new NotFoundException(dynRealmTO.getKey()); } return binder.getDynRealmTO(binder.update(dynRealm, dynRealmTO)); }
@Override protected DynRealmTO resolveReference(final Method method, final Object... args) throws UnresolvedReferenceException { String key = null; if (ArrayUtils.isNotEmpty(args)) { for (int i = 0; key == null && i < args.length; i++) { if (args[i] instanceof String) { key = (String) args[i]; } else if (args[i] instanceof DynRealmTO) { key = ((DynRealmTO) args[i]).getKey(); } } } if (key != null) { try { return binder.getDynRealmTO(dynRealmDAO.find(key)); } catch (Throwable ignore) { LOG.debug("Unresolved reference", ignore); throw new UnresolvedReferenceException(ignore); } } throw new UnresolvedReferenceException(); }
DynRealm dynRealm = dynRealmDAO.find(key); if (dynRealm == null) { LOG.debug("Invalid dynamic ream {}, ignoring", key);