Source:
public void sendPasswordResetLinkEmail(PerunSession sess, Member member, String namespace, String url, String mailAddress, String language) throws InternalErrorException { User user = perunBl.getUsersManagerBl().getUserByMember(sess, member); List<Attribute> logins = perunBl.getAttributesManagerBl().getLogins(sess, user); boolean found = false; for (Attribute a : logins) { if (a.getFriendlyNameParameter().equals(namespace)) found = true; } if (!found) throw new InternalErrorException(user.toString() + " doesn't have login in namespace: " + namespace); String subject; try { Attribute subjectTemplateAttribute = perunBl.getAttributesManagerBl().getAttribute(sess, language, AttributesManager.NS_ENTITYLESS_ATTR_DEF + ":nonAuthzPwdResetMailSubject" + namespace); subject = (String) subjectTemplateAttribute.getValue(); if (subject == null) { subjectTemplateAttribute = perunBl.getAttributesManagerBl().getAttribute(sess, "en", AttributesManager.NS_ENTITYLESS_ATTR_DEF + ":nonAuthzPwdResetMailSubject" + namespace); subject = (String) subjectTemplateAttribute.getValue(); } } catch (AttributeNotExistsException | WrongAttributeAssignmentException ex) { throw new InternalErrorException(ex); } String message; try { Attribute messageTemplateAttribute = perunBl.getAttributesManagerBl().getAttribute(sess, language, AttributesManager.NS_ENTITYLESS_ATTR_DEF + ":nonAuthzPwdResetMailTemplate:" + namespace); message = (String) messageTemplateAttribute.getValue(); if (message == null) { messageTemplateAttribute = perunBl.getAttributesManagerBl().getAttribute(sess, "en", AttributesManager.NS_ENTITYLESS_ATTR_DEF + ":nonAuthzPwdResetMailTemplate:" + namespace); message = (String) messageTemplateAttribute.getValue(); } } catch (AttributeNotExistsException | WrongAttributeAssignmentException ex) { throw new InternalErrorException(ex); } int id = getMembersManagerImpl().storePasswordResetRequest(sess, user, namespace); Utils.sendPasswordResetEmail(user, mailAddress, namespace, url, id, message, subject); }

Target:
public void sendPasswordResetLinkEmail(PerunSession sess, Member member, String namespace, String url, String mailAddress, String language) throws InternalErrorException { User user = perunBl.getUsersManagerBl().getUserByMember(sess, member); List<Attribute> logins = perunBl.getAttributesManagerBl().getLogins(sess, user); boolean found = false; for (Attribute a : logins) { if (a.getFriendlyNameParameter().equals(namespace)) found = true; } if (!found) throw new InternalErrorException(user.toString() + " doesn't have login in namespace: " + namespace); String subject; try { Attribute subjectTemplateAttribute = perunBl.getAttributesManagerBl().getAttribute(sess, language, AttributesManager.NS_ENTITYLESS_ATTR_DEF + ":nonAuthzPwdResetMailSubject:" + namespace); subject = (String) subjectTemplateAttribute.getValue(); if (subject == null) { subjectTemplateAttribute = perunBl.getAttributesManagerBl().getAttribute(sess, "en", AttributesManager.NS_ENTITYLESS_ATTR_DEF + ":nonAuthzPwdResetMailSubject:" + namespace); subject = (String) subjectTemplateAttribute.getValue(); } } catch (AttributeNotExistsException | WrongAttributeAssignmentException ex) { throw new InternalErrorException(ex); } String message; try { Attribute messageTemplateAttribute = perunBl.getAttributesManagerBl().getAttribute(sess, language, AttributesManager.NS_ENTITYLESS_ATTR_DEF + ":nonAuthzPwdResetMailTemplate:" + namespace); message = (String) messageTemplateAttribute.getValue(); if (message == null) { messageTemplateAttribute = perunBl.getAttributesManagerBl().getAttribute(sess, "en", AttributesManager.NS_ENTITYLESS_ATTR_DEF + ":nonAuthzPwdResetMailTemplate:" + namespace); message = (String) messageTemplateAttribute.getValue(); } } catch (AttributeNotExistsException | WrongAttributeAssignmentException ex) { throw new InternalErrorException(ex); } int id = getMembersManagerImpl().storePasswordResetRequest(sess, user, namespace); Utils.sendPasswordResetEmail(user, mailAddress, namespace, url, id, message, subject); }