/** * Returns true if the given {@link Stem} has the configured name. * * {@inheritDoc} */ public boolean matches(Object stem) { if (!(stem instanceof Stem)) { return false; } return ((Stem) stem).getName().equals(name); } }
/** * Given a GrouperStem return a Map representing it * @param s GrouperSession for authenticated user * @param stem GrouperStem to wrap * @return GrouperStem wrapped as a Map */ public static Map stem2Map(GrouperSession s, Stem stem) { Map stemMap = ObjectAsMap.getInstance("StemAsMap", stem, s); if("".equals(stem.getName())) { stemMap.put("isRootStem",Boolean.TRUE); } return stemMap; }
/** * @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"); }
/** {@inheritDoc} */ public Set<String> getResults(GrouperSession s) throws QueryException { Stem stem = StemFinder.findByName(getGrouperSession(), name, false); if (stem == null) { return Collections.EMPTY_SET; } Set<String> set = new HashSet<String>(); set.add(stem.getName()); return set; }
/** * * @param stem * @param attr * @return string */ private String getStemAttribute(Stem stem, String attr) { if("extension".equals(attr)) { return stem.getExtension(); }else if("displayExtension".equals(attr)) { return stem.getDisplayExtension(); }else if("name".equals(attr)) { return stem.getName(); }else if("displayName".equals(attr)) { return stem.getDisplayName(); }else if("deascription".equals(attr)) { return stem.getDescription(); } return ""; } }
/** {@inheritDoc} */ public Set<String> getResults(GrouperSession s) throws QueryException { Stem stem = StemFinder.findByName(getGrouperSession(), name, false); if (stem == null) { return Collections.EMPTY_SET; } Set<String> set = new LinkedHashSet<String>(); for (Stem child : stem.getChildStems(scope)) { set.add(child.getName()); } for (Group group : stem.getChildGroups(scope)) { set.add(group.getName()); } return set; }
if (GrouperUtil.parentStemNameFromName(((Stem) stem).getName()) == null) { if (parentStem.isRootStem()) { return true; return GrouperUtil.parentStemNameFromName(((Stem) stem).getName(), false).startsWith(parentStem.getName()); } else if (scope.equals(Scope.ONE)) { return GrouperUtil.parentStemNameFromName(((Stem) stem).getName(), false).equals(parentStem.getName()); } else { throw new GrouperException("Unknown scope " + scope);
public Object get(Object key) { if (key.equals("alternateName")) { Iterator<String> alternateNamesIterator = stem.getAlternateNames().iterator(); if (alternateNamesIterator.hasNext()) { return alternateNamesIterator.next(); } else { return null; } } //Map would override GrouperGroup values Object obj = super.get(key); if (obj == null) { if("stem".equals(key)) { try{ put("stem",stem.getParentStem().getName()); }catch(StemNotFoundException e){ int a=0; } obj = super.get(key); }else{ //No value, so check the wrapped stem obj = getByIntrospection(key); } } if (obj == null) obj = ""; return obj; }
identifiers.add(stem.getName());
/** * Returns true if the group is a child of the configured stem with the configured scope. * * {@inheritDoc} */ public boolean matches(Object group) { if (!(group instanceof Group)) { return false; } Stem stem = StemFinder.findByName(getGrouperSession(), name, false); if (stem == null) { return false; } if (scope.equals(Scope.SUB)) { return GrouperUtil.parentStemNameFromName(((Group) group).getName()).startsWith(stem.getName()); } else if (scope.equals(Scope.ONE)) { return GrouperUtil.parentStemNameFromName(((Group) group).getName()).equals(stem.getName()); } else { throw new GrouperException("Unknown scope " + scope); } } }
/** * construct with membership and other objects to set internal fields * * @param membership * @param stem * @param member */ public WsMembership(Membership membership, Stem stem, Member member) { this(membership, member); if (!GrouperWsVersionUtils.retrieveCurrentClientVersion() .greaterOrEqualToArg(GrouperVersion.valueOfIgnoreCase("v2_1_005"))) { throw new RuntimeException("Clients 2.1.4 or less cannot query for stem privileges: " + GrouperWsVersionUtils.retrieveCurrentClientVersion()); } stem = stem == null ? membership.getOwnerStem() : stem; this.setOwnerStemName(stem.getName()); }
@Override public Object callback(GrouperSession grouperSession) throws GrouperSessionException { int failures = 0; for (String memberId : GrouperUtil.nonNull(memberIds)) { try { Member member = MemberFinder.findByUuid(grouperSession, memberId, true); Subject subject = member.getSubject(); GrouperDeprovisioningLogic.removeAccess(STEM, subject); } catch (Exception e) { LOG.error("Error with removing priv: " + memberId + ", " + STEM.getName(), e); failures++; } } if (failures == 0) { deprovisioningOnGroupReport(request, response); guiResponseJs.addAction(GuiScreenAction.newMessage(GuiMessageType.success, TextContainer.retrieveFromRequest().getText().get("deprovisioningDeprovisionFromReportSuccess"))); } else { guiResponseJs.addAction(GuiScreenAction.newMessage(GuiMessageType.error, TextContainer.retrieveFromRequest().getText().get("deprovisioningDeprovisionFromReportError"))); } return null; } });
@Override public Object callback(GrouperSession grouperSession) throws GrouperSessionException { int failures = 0; for (String memberId : GrouperUtil.nonNull(memberIds)) { try { Member member = MemberFinder.findByUuid(grouperSession, memberId, true); Subject subject = member.getSubject(); GrouperDeprovisioningLogic.removeAccess(STEM, subject); } catch (Exception e) { LOG.error("Error with removing priv: " + memberId + ", " + STEM.getName(), e); failures++; } } if (failures == 0) { guiResponseJs.addAction(GuiScreenAction.newScript("guiV2link('operation=UiV2Deprovisioning.deprovisioningReportOnFolder&stemId=" + STEM.getId() + "')")); guiResponseJs.addAction(GuiScreenAction.newMessage(GuiMessageType.success, TextContainer.retrieveFromRequest().getText().get(""))); } else { guiResponseJs.addAction(GuiScreenAction.newMessage(GuiMessageType.error, TextContainer.retrieveFromRequest().getText().get("deprovisioningDeprovisionFromReportError"))); } return null; } });
/** * */ @Override public Collection<Subject> search(HttpServletRequest localRequest, GrouperSession grouperSession, String query) { Group group = UiV2Group.retrieveGroupHelper(localRequest, AccessPrivilege.UPDATE, false).getGroup(); String stemName = null; if (group == null) { Stem stem = UiV2Stem.retrieveStemHelper(localRequest, true, false, false).getStem(); stemName = stem == null ? null : stem.getName(); } else { stemName = group.getParentStemName(); } try { GrouperSourceAdapter.searchForGroupsWithReadPrivilege(true); Collection<Subject> results = StringUtils.isBlank(stemName) ? SubjectFinder.findPage(query).getResults() : SubjectFinder.findPageInStem(stemName, query).getResults(); return results; } finally { GrouperSourceAdapter.clearSearchForGroupsWithReadPrivilege(); } }
/** * move this group * * @param grouperSession * to save * @param toStem * @param moveAssignAlternateName * @return the group that was moved */ public Group move(GrouperSession grouperSession, Stem toStem, Boolean moveAssignAlternateName) { Group group = null; this.getWsGroupLookup().retrieveGroupIfNeeded(grouperSession); Group groupLookedup = this.getWsGroupLookup().retrieveGroup(); GroupMove groupMove = new GroupMove(groupLookedup, toStem); if (moveAssignAlternateName != null) { groupMove.assignAlternateName(moveAssignAlternateName); } groupMove.save(); group = GroupFinder.findByName(grouperSession, toStem.getName() + Stem.DELIM + groupLookedup.getExtension(), true); this.saveResultType = SaveResultType.INSERT; return group; }
/** * move this stem * * @param grouperSession * to save * @param toStem * @param moveAssignAlternateName * @return the stem that was moved */ public Stem move(GrouperSession grouperSession, Stem toStem, Boolean moveAssignAlternateName) { Stem stem = null; this.getWsStemLookup().retrieveStemIfNeeded(grouperSession, true); Stem stemLookedup = this.getWsStemLookup().retrieveStem(); StemMove stemMove = new StemMove(stemLookedup, toStem); if (moveAssignAlternateName != null) { stemMove.assignAlternateName(moveAssignAlternateName); } stemMove.save(); stem = StemFinder.findByName(grouperSession, toStem.getName() + Stem.DELIM + stemLookedup.getExtension(), true); this.saveResultType = SaveResultType.INSERT; return stem; }
/** * construct based on stem, assign all fields * * @param stem is what to construct from */ public WsStem(Stem stem) { this.setDescription(stem.getDescription()); this.setDisplayName(stem.getDisplayName()); this.setName(stem.getName()); this.setUuid(stem.getUuid()); this.setExtension(stem.getExtension()); this.setDisplayExtension(stem.getDisplayExtension()); //if greater then 2.2 then set id index if (GrouperWsVersionUtils.retrieveCurrentClientVersion() .greaterOrEqualToArg(GrouperVersion.valueOfIgnoreCase("v2_2_000"))) { this.setIdIndex(stem.getIdIndex() == null ? null : stem.getIdIndex().toString()); } }
String stemNameLookup = stemLookedup == null ? null : stemLookedup.getName();