/** * Given a GrouperGroup or GrouperStem return a list of ancestor GrouperStems * as Maps * * @param s GrouperSession for authenticated user * @param groupOrStem GrouperGroup or GrouperStem * @return List of ancestor GrouperStems wrapped as Maps */ public static List parentStemsAsMaps(GrouperSession s, GroupOrStem groupOrStem) throws StemNotFoundException{ List path = new ArrayList(); if(groupOrStem==null) return path; Map map = group2Map(s, groupOrStem); Stem curStem = null; while (!GrouperHelper.NS_ROOT.equals(map.get("stem"))) { curStem = StemFinder.findByName(s, (String) map.get("stem"), true); if (curStem != null) { map = stem2Map(s, curStem); path.add(0, map); } } return path; }
if (obj instanceof Membership) obj = ((Membership) obj).getGroup(); maps.add(group2Map(s, (Group) obj)); } catch (NullPointerException e) {
/** * @return 'masked' object as a Map */ public Map getAsMap() { if(isGroup()) return GrouperHelper.group2Map(s,getGroup()); return GrouperHelper.stem2Map(s,getStem()); }
put("groupOrStem",GrouperHelper.group2Map(null,groupOrStem)); put("privilege",privilege); }catch(Exception e) {
Map gMap = group2Map(s,(Group)listItem); gSubjMap.put("memberOfGroup",gMap); gSubjMap.put("asMemberOf",((Group)listItem).getUuid()); subjMap = group2Map(s, group); } else { subjMap = subject2Map(subject); subjMap.put("via", group2Map(s, firstInChain)); subjMap.put("memberOfGroup",group2Map(s,GroupFinder.findByUuid(s,asMemberOf))); subjMap.put("asMemberOf", asMemberOf); }catch(GroupNotFoundException e){} }else{ if(list !=null) { subjMap.put("memberOfGroup",group2Map(s,list.getGroup())); subjMap.put("asMemberOf", list.getGroup().getUuid());
public Object get(Object key) { //Map would override GrouperGroup values Object obj=super.get(key); if(obj==null) { //No value, so check the wrapped group try { if("subject".equals(key)) { obj = GrouperHelper.subject2Map(membership.getMember().getSubject()); put(key,obj); }else if("group".equals(key)) { obj=GrouperHelper.group2Map(null,membership.getGroup()); put(key,obj); }else if("viaGroup".equals(key)) { obj=GrouperHelper.group2Map(null,membership.getViaGroup()); put(key,obj); }else if("parentMembership".equals(key)) { obj=ObjectAsMap.getInstance("MembershipAsMap",membership.getParentMembership()); put(key,obj); } }catch(Exception e){} if(obj!=null) return obj; } if(obj==null) obj=""; return obj; }
/** * Given a subject id and subject type return a Map representation of it. * * @param s GrouperSession for authenticated user * @param subjectId Subject id * @param subjectType Subject type e.g. person, group * @return Subject wrapped as a Map */ public static Map subject2Map(GrouperSession s, String subjectId, String subjectType,String sourceId) throws SubjectNotFoundException{ if (!"group".equals(subjectType)) { Subject subject = null; try { subject = SubjectFinder.findById(subjectId, subjectType,sourceId, true); } catch (Exception e) { LOG.error(e); subject = new UnresolvableSubject(subjectId,subjectType,sourceId); } SubjectAsMap map =(SubjectAsMap)ObjectAsMap.getInstance("SubjectAsMap", subject); return (Map) map; } try { Group group = GroupFinder.findByUuid(s, subjectId, true); Map groupMap = group2Map(s, group); return groupMap; }catch(GroupNotFoundException e) { throw new SubjectNotFoundException(e.getMessage(), e); } }
privs.put("group",group2Map(s,GroupFinder.findByUuid(s,priv.getOwner().getId()))); privs.put(priv.getName(),Boolean.TRUE); if(effectiveMemberships.containsKey(priv.getOwner())) { effectiveMemberships.remove(nPriv.getOwner()); privs.put("group",group2Map(s,GroupFinder.findByUuid(s,nPriv.getOwner().getId()))); }catch(GroupNotFoundException e){} effectivePrivs.put(nPriv.getName(),Boolean.TRUE); if(privs==null) { privs=new HashMap(); privs.put("group",group2Map(s,effGroup)); privs.put("member",Boolean.TRUE); results.put(effGroup.getUuid(),privs);
groupMap=GrouperHelper.group2Map(s,via); }else{ groupMap=GrouperHelper.getCompositeMap(s,comp); if(!pm.getMember().getSubjectId().equals(via.getUuid())) { g = GroupFinder.findByUuid(s,pm.getMember().getSubjectId()); groupMap=GrouperHelper.group2Map(s,g); groupMap.put("listField",pm.getList().getName()); chain.add(groupMap);