/** * @return name for wrapped group or stem */ public String getName() { if(group!=null) return group.getName(); if(stem!=null) return stem.getName(); throw new IllegalStateException("GroupOrStem is not initialised"); }
/** * get the composite members from the group * * @param group * @param field for membership or null to not check field * @param queryOptions * @return the set of members (non null) */ @Override @SuppressWarnings("unchecked") protected Set<Member> getMembersHelper(Group group, Field field, Set<Source> sources, QueryOptions queryOptions) throws SchemaException { //set default field if null field = field == null ? Group.getDefaultList() : field; return group.getImmediateMembers(field, sources, queryOptions); }
/** * get the members from the group * * @param group * @param field for membership or null to not check field * @param queryOptions * @return the set of members (non null) * @throws SchemaException if problem */ @Override @SuppressWarnings("unchecked") protected Set<Member> getMembersHelper(Group group, Field field, Set<Source> sources, QueryOptions queryOptions) throws SchemaException { //set default field if null field = field == null ? Group.getDefaultList() : field; return group.getMembers(field, sources, queryOptions); }
for (int i=0;i<groups.size();i++) { group = (Group)groups.get(i); if(group.hasAdmin(s.getSubject())) { if(group.hasMember(subject)|| group.hasView(subject)|| group.hasAdmin(subject)|| group.hasUpdate(subject)|| group.hasRead(subject)|| group.hasOptin(subject)|| group.hasOptout(subject) || group.hasGroupAttrRead(subject) || group.hasGroupAttrUpdate(subject) ) { ok.add(group);
String groupNameLookup = groupLookedup == null ? null : groupLookedup.getName(); int typeNamesLength = GrouperUtil.length(typeNames); Set<GroupType> typesPassedIn = new TreeSet<GroupType>(); Set<GroupType> typesAlreadyInGroup = new TreeSet<GroupType>(group.getTypes()); StringBuilder typesPassedInBuilder = new StringBuilder(); for (int i=0;i<typeNamesLength;i++) { if (!group.hasType(groupType)) { LOG.debug("Group:" + group.getName() + ": adding type: " + groupType); group.addType(groupType); this.saveResultType = isInsert ? this.saveResultType : SaveResultType.UPDATE; LOG.debug("Group:" + group.getName() + ": passed in with types: " + typesPassedInBuilder); LOG.debug("Group:" + group.getName() + ": already had types: " + typesPassedInBuilder); if (!StringUtils.equals(group.getAttributeValue(attributeName, false, false), attributeValue)) { if (LOG.isDebugEnabled()) { LOG.debug("Group: " + group.getName() + ": updating attribute: " + attributeName + ": " + attributeValue); group.setAttribute(attributeName, attributeValue); this.saveResultType = isInsert ? this.saveResultType : SaveResultType.UPDATE; groupDirty = true; Map<String, Attribute> attributes = group.getAttributesMap(true); for (String key : new HashSet<String>(attributes.keySet())) {
Subject createSubject = group.getCreateSubject(); createSubjectIdString = createSubject == null ? null : createSubject.getId(); } catch (SubjectNotFoundException e) { this.setCreateTime(GrouperServiceUtils.dateToString(group.getCreateTime())); this.setIsCompositeFactor(GrouperServiceUtils.booleanToStringOneChar(group .isComposite())); boolean groupHasComposite = group.hasComposite(); this.setHasComposite(GrouperServiceUtils.booleanToStringOneChar(groupHasComposite)); Composite composite = null; composite = group.getComposite(true); Subject modifySubject = group.getModifySubject(); modifySubjectIdString = modifySubject == null ? null : modifySubject.getId(); } catch (SubjectNotFoundException e) { this.setModifyTime(GrouperServiceUtils.dateToString(group.getModifyTime())); Set<GroupType> groupTypes = new TreeSet<GroupType>(group.getTypes()); Map<String, Attribute> attributeMap = new TreeMap<String, Attribute>(group.getAttributesMap(true)); for (String attributeName : attributeMap.keySet()) { theAttributeNames[i] = attributeName; theAttributeValues[i] = group.getAttributeValue(attributeName, false, true); i++;
this.setDescription(StringUtils.trimToNull(group.getDescription())); this.setDisplayName(group.getDisplayName()); this.setName(group.getName()); this.setUuid(group.getUuid()); this.setExtension(group.getExtension()); this.setDisplayExtension(group.getDisplayExtension()); this.setAlternateName(group.getAlternateName()); this.setIdIndex(group.getIdIndex() == null ? null : group.getIdIndex().toString()); this.setTypeOfGroup(group.getTypeOfGroupDb());
Set<Member> members = immediateOnly ? group.getImmediateMembers() : group.getMembers(); auditExport(group.getUuid(), group.getName(), memberData.size(), groupExtensionFileName); throw new ControllerDone(); } catch (NoSessionException se) { throw cd; } catch (Exception se) { throw new RuntimeException("Error exporting all members from group: " + group.getName() + ", " + se.getMessage(), se);
@Override public Object callback(GrouperSession theGrouperSession) throws GrouperSessionException { AttributeAssign attributeAssign = GROUP.getAttributeDelegate().retrieveAssignment(null, GrouperAttestationJob.retrieveAttributeDefNameValueDef(), false, false); if (attributeAssign == null) { guiResponseJs.addAction(GuiScreenAction.newMessage(GuiMessageType.error, TextContainer.retrieveFromRequest().getText().get("noDirectAttestationAttributeOnGroupError"))); return null; } updateAttestationLastCertifiedDate(GROUP); AuditEntry auditEntry = new AuditEntry(AuditTypeBuiltin.GROUP_ATTESTATION_UPDATE_LAST_CERTIFIED_DATE, "groupId", GROUP.getId(), "groupName", GROUP.getName()); auditEntry.setDescription("Update last certified date attribute of group: " + GROUP.getName()); attestationSaveAudit(auditEntry); setupAttestation(GROUP); if (drawAttestationScreen) { guiResponseJs.addAction(GuiScreenAction.newInnerHtmlFromJsp("#groupAttestation", "/WEB-INF/grouperUi2/group/groupAttestationView.jsp")); } guiResponseJs.addAction(GuiScreenAction.newMessage(GuiMessageType.success, TextContainer.retrieveFromRequest().getText().get("attestationLastCertifiedUpdateSuccess"))); return null; } });
List<Member> existingMembers = new ArrayList<Member>(GrouperUtil.nonNull(group.getImmediateMembers())); List<Subject> subjectList = new ArrayList<Subject>(GrouperUtil.nonNull(subjectSet)); int existingCount = GrouperUtil.length(existingMembers); group.addMember(subject, false); group.deleteMember(existingMember, false); deletedCount++; } catch (Exception e) { int newSize = group.getImmediateMembers().size(); reportByGroupName.put(group.getName(), report.toString()); auditImport(group.getUuid(), group.getName(), fileName, addedCount, deletedCount);
public Object get(Object key) { if (key.equals("alternateName")) { Iterator<String> alternateNamesIterator = group.getAlternateNames().iterator(); if (alternateNamesIterator.hasNext()) { return alternateNamesIterator.next(); obj = new Boolean(group.hasComposite()); put(key,obj); }else if("stem".equals(key)) { obj=group.getParentStem().getName(); put(key,obj); }else if("source".equals(key)) { if(source==null) { try { source=group.toSubject().getSource(); }catch(Exception e) { try{ AttributeDefName legacyAttribute = AttributeDefNameFinder.findByName((String)key, true); obj = group.getAttributeValue(legacyAttribute.getLegacyAttributeName(true), true, false); }catch(Exception e){} obj = group.getTypes(); Set set = (Set)obj; try {
for (Group group : groups) { Map<String, String> attributes = attributeAssignValueFinderResult.retrieveAttributeDefNamesAndValueStrings(group.getId()); AttributeAssign attributeAssign = attributeAssignValueFinderResult.getMapOwnerIdToAttributeAssign().get(group.getId()); daysLeft = GrouperUtil.intValue(daysLeftBeforeAttestation); } catch (Exception e) { LOG.error("Invalid days left: '" + daysLeftBeforeAttestation + "' for group: " + group.getName());
/** * see if a group has a subject as member * * @param group * @param field * to check with membership * @return true|false * @throws SchemaException */ @Override @SuppressWarnings("unchecked") protected boolean hasMemberHelper(Group group, Subject subject, Field field) throws SchemaException { return field == null ? group.hasMember(subject) : group.hasMember(subject, field); }
List<String> values = group.getAttributeValueDelegate().retrieveValuesString(attributeDefName); if (values != null && !values.isEmpty()) { BasicAttribute<String> basicAttribute = new BasicAttribute<String>(attributeDefName); Map<String, Attribute> customAttributes = group.getAttributesMap(false); for (String attributeName : customAttributes.keySet()) { String value = customAttributes.get(attributeName).getValue(); BaseAttribute<Group> attr = groupsField.getAttribute(group.toMember()); if (attr != null) { attributes.put(groupsField.getId(), attr); groupTypes.setValues(group.getTypes()); attributes.put(groupTypes.getId(), groupTypes); Set<String> alternateNames = group.getAlternateNames(); if (alternateNames != null && !alternateNames.isEmpty()) { BasicAttribute<String> basicAttribute = new BasicAttribute<String>(ALTERNATE_NAME_ATTR);
if (!group.isHasComposite()) { group.deleteCompositeMember(); guiResponseJs.addAction(GuiScreenAction.newScript("guiV2link('operation=UiV2Group.viewGroup&groupId=" + group.getId() + "');")); if (group.isHasMembers()) { guiResponseJs.addAction(GuiScreenAction.newScript("guiV2link('operation=UiV2Group.viewGroup&groupId=" + group.getId() + "');")); Composite composite = group.getComposite(false); if (composite != null && StringUtils.equals(composite.getLeftFactorUuid(), leftFactorGroup.getId()) && composite.getType() == compositeType && StringUtils.equals(composite.getRightFactorUuid(), rightFactorGroup.getId())) { guiResponseJs.addAction(GuiScreenAction.newMessage(GuiMessageType.info, TextContainer.retrieveFromRequest().getText().get("groupCompositeNoteNoChangesMade"))); group.deleteCompositeMember(); group.addCompositeMember(compositeType, leftFactorGroup, rightFactorGroup); guiResponseJs.addAction(GuiScreenAction.newScript("guiV2link('operation=UiV2Group.viewGroup&groupId=" + group.getId() + "');"));
if (parentGroup == null || !parentGroup.canHavePrivilege(loggedInSubject, AccessPrivilege.ADMIN.getName(), false)) { guiResponseJs.addAction(GuiScreenAction.newMessage(GuiMessageType.success, TextContainer.retrieveFromRequest().getText().get("groupNotAllowedToAdminAnotherGroup"))); parentGroup.grantPriv(group.toSubject(), privilege, false); parentGroup.revokePriv(group.toSubject(), privilege, false);
if ((hasUuid && !StringUtils.equals(this.uuid, theGroup.getUuid())) || (hasName && !StringUtils.equals(this.groupName, theGroup.getName()) && !StringUtils.equals(this.groupName, theGroup.getAlternateName())) || (hasIdIndex && !GrouperUtil.equals(GrouperUtil.longValue(this.idIndex), theGroup.getIdIndex()))){ this.groupFindResult = GroupFindResult.GROUP_UUID_DOESNT_MATCH_NAME; String error = "Group name '" + this.groupName + "', uuid '" + this.uuid
} else { if (!group.hasAdmin(s.getSubject())) { return false; Set memberships = group.getMemberships();//Eff? Member member; Iterator it = memberships.iterator(); member = (Member) it.next(); try { group.deleteMember(member.getSubject()); groupAsMember = MemberFinder.findBySubject(s, SubjectFinder.findById(group.getUuid(), "group")); } catch (Exception e) { throw new RuntimeException(e);
if(group.hasComposite()) { Set<Member> members = group.getImmediateMembers(); for (Member member : members) { group.deleteMember(member); guiResponseJs.addAction(GuiScreenAction.newScript("guiV2link('operation=UiV2Group.viewGroup&groupId=" + group.getId() + "')"));
boolean canRead = group.canHavePrivilege(SESSION.getSubject(), AccessPrivilege.READ.getName(), false); group.deleteMember(member, false); } else { group.deleteMember(member, fieldName, false); LOG.debug("deleteMember: " + group.getName() + ", " + member.getSubjectSourceId() + ", " + member.getSubjectId() + ", eff? " + hasEffective + ", imm? " + hasImmediate);