@Override
public void onSubmit(final AjaxRequestTarget target) {
try {
if (resourceTO.getOrgUnit() != null) {
checkConnObjectKeyCount(SyncopeConstants.REALM_ANYTYPE, resourceTO.getOrgUnit().getItems());
}
new ArrayList<>(resourceTO.getProvisions()).stream().
filter(provision -> provision != null).
forEachOrdered(provision -> {
if (provision.getMapping() == null || provision.getMapping().getItems().isEmpty()) {
resourceTO.getProvisions().remove(provision);
} else {
checkConnObjectKeyCount(provision.getAnyType(), provision.getMapping().getItems());
}
});
resourceRestClient.update(resourceTO);
SyncopeConsoleSession.get().info(getString(Constants.OPERATION_SUCCEEDED));
modal.close(target);
} catch (Exception e) {
LOG.error("While creating or updating {}", resourceTO, e);
SyncopeConsoleSession.get().error(StringUtils.isBlank(e.getMessage())
? e.getClass().getName() : e.getMessage());
}
((BasePage) pageRef.getPage()).getNotificationPanel().refresh(target);
}