@Transactional(readOnly = true) @Override public <T> T find(final String key, final T defaultValue) { Optional<? extends CPlainAttr> result = find(key); if (!result.isPresent()) { return defaultValue; } return result.get().getUniqueValue() == null ? result.get().getValues().isEmpty() ? null : result.get().getValues().get(0).<T>getValue() : result.get().getUniqueValue().<T>getValue(); }
@Override public Conf save(final CPlainAttr attr) { Conf instance = get(); Optional<? extends CPlainAttr> old = instance.getPlainAttr(attr.getSchema().getKey()); if (old.isPresent() && (!attr.getSchema().isUniqueConstraint() || (!attr.getUniqueValue().getStringValue().equals(old.get().getUniqueValue().getStringValue())))) { old.get().setOwner(null); instance.remove(old.get()); } instance.add(attr); attr.setOwner(instance); return entityManager().merge(instance); }
@Override public Conf delete(final String key) { Conf instance = get(); Optional<? extends CPlainAttr> attr = instance.getPlainAttr(key); if (attr.isPresent()) { attr.get().setOwner(null); instance.remove(attr.get()); instance = entityManager().merge(instance); } return instance; } }
protected Map<String, String> findAllSyncopeConfs() { return confDAO.get().getPlainAttrs().stream().collect( Collectors.toMap(attr -> attr.getSchema().getKey(), attr -> attr.getValuesAsStrings().get(0))); } }
@Transactional(readOnly = true) @Override public List<String> getValuesAsStrings(final String key) { Optional<? extends CPlainAttr> attr = find(key); return attr.isPresent() ? attr.get().getValuesAsStrings() : Collections.<String>emptyList(); }
@Override public AttrTO getAttrTO(final CPlainAttr attr) { return new AttrTO.Builder(). schema(attr.getSchema().getKey()). values(attr.getValuesAsStrings()). build(); }
JexlUtils.addPlainAttrsToContext(confDAO.get().getPlainAttrs(), jexlContext); attr.add(value, attrValue); } catch (InvalidPlainAttrValueException e) { LOG.warn("Invalid value for attribute " + schema.getKey() + ": " + value, e);
@Transactional(readOnly = true) @Override public Optional<? extends CPlainAttr> find(final String key) { return get().getPlainAttr(key); }
@Override public List<AttrTO> getConfTO() { return confDAO.get().getPlainAttrs().stream().map(attr -> getAttrTO(attr)).collect(Collectors.toList()); }
@Override public Conf get() { Conf instance = entityManager().find(entityFactory.confClass(), KEY); if (instance == null) { instance = entityFactory.newEntity(Conf.class); instance.setKey(KEY); instance = entityManager().merge(instance); } return instance; }
@Override public CPlainAttr getAttr(final AttrTO attrTO) { PlainSchema schema = getPlainSchema(attrTO.getSchema()); if (schema == null) { throw new NotFoundException("Conf schema " + attrTO.getSchema()); } else { SyncopeClientException invalidValues = SyncopeClientException.build(ClientExceptionType.InvalidValues); CPlainAttr attr = entityFactory.newEntity(CPlainAttr.class); attr.setSchema(schema); fillAttr(attrTO.getValues(), schema, attr, invalidValues); if (!invalidValues.isEmpty()) { throw invalidValues; } return attr; } } }
if (!notificationJobCronExp.isPresent()) { notificationJobCronExpression = NotificationJob.DEFAULT_CRON_EXP; } else if (!notificationJobCronExp.get().getValuesAsStrings().isEmpty()) { notificationJobCronExpression = notificationJobCronExp.get().getValuesAsStrings().get(0);
? authAttrs.get().getValuesAsStrings() : Collections.singletonList("username"); for (int i = 0; user == null && i < authAttrValues.size(); i++) {
? authAttrs.get().getValuesAsStrings() : Collections.singletonList("username"); for (int i = 0; user == null && i < authAttrValues.size(); i++) {