private Author convertAuthorToAuthorWithAttributes(Author author) { try { if (session == null) { session = perun.getPerunSession(new PerunPrincipal("perunCabinet", ExtSourcesManager.EXTSOURCE_NAME_INTERNAL, ExtSourcesManager.EXTSOURCE_INTERNAL), new PerunClient()); } User user = perun.getUsersManagerBl().getUserById(session, author.getId()); Attribute a = perun.getAttributesManagerBl().getAttribute(session, user, AttributesManager.NS_USER_ATTR_DEF + ":preferredMail"); Attribute b = perun.getAttributesManagerBl().getAttribute(session, user, AttributesManager.NS_USER_ATTR_DEF + ":organization"); author.setAttributes(Arrays.asList(a,b)); } catch (Exception ex) { log.error("Unable to get attributes for {}: {}", author, ex); } return author; }
@Override public Application approveApplication(PerunSession session, Application app) throws PerunException { PerunBl perun = (PerunBl) session.getPerun(); Member member = perun.getMembersManagerBl().getMemberByUser(session, app.getVo(), app.getUser()); if (app.getGroup() == null && Objects.equals(app.getType(), Application.AppType.INITIAL)) { // IF VO INITIAL override VO rules to set unlimited (only to those with LoA = 2). Attribute loaAttr = perun.getAttributesManagerBl().getAttribute(session, member, AttributesManager.NS_MEMBER_ATTR_VIRT + ":loa"); int loa = Integer.valueOf((String) loaAttr.getValue()); if (loa == 2) { Attribute attr = perun.getAttributesManagerBl().getAttribute(session, member, AttributesManager.NS_MEMBER_ATTR_DEF + ":membershipExpiration"); attr.setValue("9999-01-01"); // set distant future as never expires perun.getAttributesManagerBl().setAttribute(session, member, attr); } } if ((app.getGroup() != null && Objects.equals(app.getType(), Application.AppType.INITIAL)) || (app.getGroup() == null && Objects.equals(app.getType(), Application.AppType.EXTENSION))) { // GROUP INITIAL OR VO EXTENSION -> set back standard expiration date based on VO rules Attribute attr = perun.getAttributesManagerBl().getAttribute(session, member, AttributesManager.NS_MEMBER_ATTR_DEF + ":membershipExpiration"); perun.getAttributesManagerBl().removeAttribute(session, member, attr); perun.getMembersManagerBl().extendMembership(session, member); } return app; }
Attribute attrPreferredMail = null; try { attrPreferredMail = perun.getAttributesManagerBl().getAttribute(perunSession, user, AttributesManager.NS_USER_ATTR_DEF + ":preferredMail"); } catch (AttributeNotExistsException | WrongAttributeAssignmentException ex) { log.error("Preferred mail attribute is missing or it's assignment is wrong. Attribute was skipped.", ex); Attribute attrOrganization = null; try { attrOrganization = perun.getAttributesManagerBl().getAttribute(perunSession, user, AttributesManager.NS_USER_ATTR_DEF + ":organization"); } catch (AttributeNotExistsException | WrongAttributeAssignmentException ex) { log.error("Organization attribute is missing or it's assignment is wrong. Attribute was skipped.", ex); Attribute attrPhone = null; try { attrPhone = perun.getAttributesManagerBl().getAttribute(perunSession, user, AttributesManager.NS_USER_ATTR_DEF + ":phone"); } catch (AttributeNotExistsException | WrongAttributeAssignmentException ex) { log.error("Phone attribute is missing or it's assignment is wrong. Attribute was skipped.", ex); Attribute attrBonaFideStatus = null; try { attrBonaFideStatus = perun.getAttributesManagerBl().getAttribute(perunSession, user, AttributesManager.NS_USER_ATTR_VIRT + ":elixirBonaFideStatus"); } catch (AttributeNotExistsException | WrongAttributeAssignmentException ex) { log.error("Bona fide status attribute is missing or it's assignment is wrong. Attribute was skipped.", ex); attrVirtCertDNs = perun.getAttributesManagerBl().getAttribute(perunSession, user, AttributesManager.NS_USER_ATTR_VIRT + ":userCertDNs"); } catch (AttributeNotExistsException | WrongAttributeAssignmentException ex) { log.error("Certificate DNs attribute is missing or it's assignment is wrong. Attribute was skipped.", ex); attrSchacHomeOrganizations = perun.getAttributesManagerBl().getAttribute(perunSession, user, AttributesManager.NS_USER_ATTR_VIRT + ":schacHomeOrganizations");
List<Attribute> loginAttrs = perun.getAttributesManagerBl().getLogins(registrarSession, user);
perun.getAttributesManagerBl().setAttribute(session, user, eduroamIdentities); perun.getAttributesManagerBl().setAttribute(session, user, eduroamIdentities);
String userLocale = (String) perun.getAttributesManagerBl().getAttribute(session, perun.getUsersManagerBl() .getUserById(session, id), "urn:perun:user:attribute-def:def:preferredLanguage").getValue(); if (userLocale == null) {
try { perun.getGroupsManagerBl().expireMemberInGroup(sess, member, group); log.info("Switching {} in {} to EXPIRED state, due to expiration {}.", member, group, perun.getAttributesManagerBl().getAttribute(sess, member, group, "urn:perun:member_group:attribute-def:def:membershipExpiration").getValue()); } catch (InternalErrorException e) { log.error("Consistency error while trying to expire member {} in {}, exception {}", member, group, e);
try { perun.getGroupsManagerBl().validateMemberInGroup(sess, member, group); log.info("Switching {} in {} to VALID state, due to changed expiration {}.", member, group, perun.getAttributesManagerBl().getAttribute(sess, member, group, "urn:perun:member_group:attribute-def:def:membershipExpiration").getValue()); } catch (InternalErrorException e) { log.error("Error during validating member {} in {}, exception {}", member, group, e);
Date manualExpiration = null; Attribute membershipExpirationAttr = perun.getAttributesManagerBl().getAttribute(session, member, AttributesManager.NS_MEMBER_ATTR_DEF + ":membershipExpiration"); if (membershipExpirationAttr.getValue() != null) { Attribute manualExpirationAttr = perun.getAttributesManagerBl().getAttribute(session, user, AttributesManager.NS_USER_ATTR_DEF + ":expirationManual"); if (manualExpirationAttr.getValue() != null) {
/** * Expires members whose expiration is set to given date or before it. * * @throws InternalErrorException internal error * @throws WrongAttributeAssignmentException error * @throws AttributeNotExistsException error */ private void expireMembers(Calendar date) throws InternalErrorException, WrongAttributeAssignmentException, AttributeNotExistsException { List<Member> shouldBeExpired = perun.getSearcherBl().getMembersByExpiration(sess, "<=", date); for (Member member : shouldBeExpired) { if (member.getStatus().equals(Status.VALID)) { try { perun.getMembersManagerBl().expireMember(sess, member); log.info("Switching {} to EXPIRE state, due to expiration {}.", member, perun.getAttributesManagerBl().getAttribute(sess, member, "urn:perun:member:attribute-def:def:membershipExpiration").getValue()); } catch (MemberNotValidYetException e) { log.error("Consistency error while trying to expire member {}, exception {}", member, e); } } } }
private EmailSCIM getEmail(User perunUser) { Attribute preferredEmailAttribute = new Attribute(); EmailSCIM email = new EmailSCIM(); try { preferredEmailAttribute = perunBl.getAttributesManagerBl().getAttribute(session, perunUser, AttributesManager.NS_USER_ATTR_DEF + ":preferredMail"); if (preferredEmailAttribute.getValue() != null) { email.setValue(preferredEmailAttribute.getValue().toString()); email.setPrimary(true); email.setType("preferred email"); return email; } } catch (InternalErrorException | WrongAttributeAssignmentException ex) { log.error("Internal exception occured while getting preferred email of user " + perunUser.getId(), ex); } catch (AttributeNotExistsException ex) { log.error("Attribute preferredMail doesn't exist for user " + perunUser.getId(), ex); } return null; } }
/** * Validates member whose expiration is set after the given date * * @param date date * @throws InternalErrorException internal error * @throws WrongAttributeAssignmentException error * @throws AttributeNotExistsException error */ private void validateMembers(Calendar date) throws InternalErrorException, WrongAttributeAssignmentException, AttributeNotExistsException { List<Member> shouldntBeExpired = perun.getSearcherBl().getMembersByExpiration(sess, ">", date); for (Member member : shouldntBeExpired) { if (member.getStatus().equals(Status.EXPIRED)) { try { perun.getMembersManagerBl().validateMember(sess, member); log.info("Switching {} to VALID state, due to changed expiration {}.", member, perun.getAttributesManagerBl().getAttribute(sess, member, "urn:perun:member:attribute-def:def:membershipExpiration").getValue()); } catch (WrongAttributeValueException | WrongReferenceAttributeValueException e) { log.error("Error during validating member {}, exception {}", member, e); } } } }
try { User user = perun.getUsersManagerBl().getUserById(session, id); Attribute emailAttribute = perun.getAttributesManagerBl().getAttribute(session, user, "urn:perun:user:attribute-def:def:preferredMail"); if (emailAttribute != null && StringUtils.hasText(emailAttribute.toString())) { emailDto.setReceiver((String) emailAttribute.getValue());
try { User user = perun.getUsersManagerBl().getUserById(session, id); Attribute emailAttribute = perun.getAttributesManagerBl().getAttribute(session, user, "urn:perun:user:attribute-def:def:jabber"); if (emailAttribute != null && StringUtils.hasText(emailAttribute.toString())) { message.setTo((String) emailAttribute.getValue());
String elixirLogin = (String) perun.getAttributesManagerBl().getAttribute(session, user, LOGINATTRIBUTE).getValue();
Attribute entityIDAttr = null; try { entityIDAttr = perun.getAttributesManagerBl().getAttribute(perunSession, facility, AttributesManager.NS_FACILITY_ATTR_DEF + ":entityID"); } catch (AttributeNotExistsException | WrongAttributeAssignmentException ex) { Attribute clientIDAttr = null; try { clientIDAttr = perun.getAttributesManagerBl().getAttribute(perunSession, facility, AttributesManager.NS_FACILITY_ATTR_DEF + ":OIDCClientID"); } catch (AttributeNotExistsException | WrongAttributeAssignmentException ex) {
Attribute uesAttr = perun.getAttributesManagerBl().getAttribute(registrarSession, ues, AttributesManager.NS_UES_ATTR_DEF + ":authenticating-authority"); if (uesAttr.getValue() != null && !((String) uesAttr.getValue()).isEmpty()) {
/** * Return email addresses of specific user. Now is only preferred mail required. If user has not email, then is returned empty array. * * @param user specific user * @return emails of user, if user has not emails is returned empty array * @throws VOOTException if cannot read emails of user */ private Email[] getEmails(User user) throws VOOTException{ //preferred mail Email[] emails = new Email[1]; try{ Attribute preferredEmailAttribute = perun.getAttributesManagerBl().getAttribute(session, user, AttributesManager.NS_USER_ATTR_DEF + ":preferredMail"); if(preferredEmailAttribute.getValue() != null){ Email email = new Email(); email.setType("mail"); email.setValue((String) preferredEmailAttribute.getValue()); emails[0] = email; }else{ emails = null; } }catch(Exception ex){ emails = null; } return emails; }
memberEmailDto.setMessage(messageDto.getMessageToSend()); memberEmailDto.setSubject(messageDto.getSubject()); memberEmailDto.setReceiver((String) perun.getAttributesManagerBl().getAttribute(session, perun.getUsersManager().getUserByMember(session, member), "urn:perun:user:attribute-def:def:preferredMail").getValue()); memberEmailDto.setSender(groupSender);
Attribute attribute = perun.getAttributesManagerBl().getAttribute(sess, user, "urn:perun:user:attribute-def:virt:eduPersonORCID"); ArrayList<String> attrValue = (ArrayList<String>)attribute.getValue(); if (attrValue != null && !attrValue.isEmpty()) {