use of edu.hawaii.its.api.type.Person in project uhgroupings by uhawaii-system-its-ti-iam.
the class GrouperFactoryServiceImplLocal method makeWsAssignGrouperPrivilegesLiteResult.
@Override
public WsAssignGrouperPrivilegesLiteResult makeWsAssignGrouperPrivilegesLiteResult(String groupName, String privilegeName, WsSubjectLookup lookup, boolean allowed) {
WsAssignGrouperPrivilegesLiteResult wsAssignGrouperPrivilegsLiteResult = new WsAssignGrouperPrivilegesLiteResult();
WsResultMeta wsResultMeta = new WsResultMeta();
wsResultMeta.setResultCode(SUCCESS);
Person person = personRepository.findByUsername(lookup.getSubjectIdentifier());
Group group = groupRepository.findByPath(groupName);
Membership membership = membershipRepository.findByPersonAndGroup(person, group);
if (privilegeName.equals(PRIVILEGE_OPT_IN)) {
membership.setOptInEnabled(allowed);
} else if (privilegeName.equals(PRIVILEGE_OPT_OUT)) {
membership.setOptOutEnabled(allowed);
} else {
throw new IllegalArgumentException("Privilege Name not acceptable");
}
wsAssignGrouperPrivilegsLiteResult.setResultMetadata(wsResultMeta);
return wsAssignGrouperPrivilegsLiteResult;
}
use of edu.hawaii.its.api.type.Person in project uhgroupings by uhawaii-system-its-ti-iam.
the class GrouperFactoryServiceImplLocal method makeWsGetMembershipsResults.
@Override
public WsGetMembershipsResults makeWsGetMembershipsResults(String groupName, WsSubjectLookup lookup) {
Person person = personRepository.findByUsername(lookup.getSubjectIdentifier());
Group group = groupRepository.findByPath(groupName);
Membership membership = membershipRepository.findByPersonAndGroup(person, group);
WsGetMembershipsResults wsGetMembershipsResults = new WsGetMembershipsResults();
WsResultMeta wsResultMeta = new WsResultMeta();
wsResultMeta.setResultCode(FAILURE);
WsMembership[] wsMemberships = new WsMembership[1];
WsMembership wsMembership = new WsMembership();
if (membership != null) {
wsMembership.setMembershipId(membership.getId());
wsResultMeta.setResultCode(SUCCESS);
}
wsMemberships[0] = wsMembership;
wsGetMembershipsResults.setWsMemberships(wsMemberships);
return wsGetMembershipsResults;
}
use of edu.hawaii.its.api.type.Person in project uhgroupings by uhawaii-system-its-ti-iam.
the class GrouperFactoryServiceImplLocal method makeWsGetGrouperPrivilegesLiteResult.
@Override
public WsGetGrouperPrivilegesLiteResult makeWsGetGrouperPrivilegesLiteResult(String groupName, String privilegeName, WsSubjectLookup lookup) {
WsGetGrouperPrivilegesLiteResult wsGetGrouperPrivilegesLiteResult = new WsGetGrouperPrivilegesLiteResult();
WsResultMeta wsResultMeta = new WsResultMeta();
wsResultMeta.setResultCode(FAILURE);
Person person = personRepository.findByUsername(EVERY_ENTITY);
Group group = groupRepository.findByPath(groupName);
Membership membership = membershipRepository.findByPersonAndGroup(person, group);
boolean enabled = false;
if (privilegeName.equals(PRIVILEGE_OPT_IN)) {
if (membership.isOptInEnabled()) {
enabled = true;
}
} else if (privilegeName.equals(PRIVILEGE_OPT_OUT)) {
if (membership.isOptOutEnabled()) {
enabled = true;
}
} else {
throw new IllegalArgumentException("Privilege Name not acceptable");
}
if (enabled) {
wsResultMeta.setResultCode(SUCCESS_ALLOWED);
}
wsGetGrouperPrivilegesLiteResult.setResultMetadata(wsResultMeta);
return wsGetGrouperPrivilegesLiteResult;
}
use of edu.hawaii.its.api.type.Person in project uhgroupings by uhawaii-system-its-ti-iam.
the class GrouperFactoryServiceImplLocal method makeWsGetMembersResults.
@Override
public WsGetMembersResults makeWsGetMembersResults(String subjectAttributeName, WsSubjectLookup lookup, String groupName) {
WsGetMembersResults wsGetMembersResults = new WsGetMembersResults();
String[] attributeNames = new String[] { UID_KEY, UUID_KEY, LAST_NAME_KEY, COMPOSITE_NAME_KEY, FIRST_NAME_KEY };
wsGetMembersResults.setSubjectAttributeNames(attributeNames);
WsGetMembersResult wsGetMembersResult = new WsGetMembersResult();
WsSubject[] subjects;
Group group = groupRepository.findByPath(groupName);
List<Person> members = group.getMembers();
List<WsSubject> subjectList = new ArrayList<>();
for (Person person : members) {
WsSubject subject = new WsSubject();
subject.setId(person.getUuid());
subject.setName(person.getName());
// has to be the same order as attributeNames array
subject.setAttributeValues(new String[] { person.getUsername(), person.getUuid(), person.getLastName(), person.getName(), person.getFirstName() });
subjectList.add(subject);
}
subjects = subjectList.toArray(new WsSubject[subjectList.size()]);
wsGetMembersResult.setWsSubjects(subjects);
wsGetMembersResults.setResults(new WsGetMembersResult[] { wsGetMembersResult });
return wsGetMembersResults;
}
use of edu.hawaii.its.api.type.Person in project uhgroupings by uhawaii-system-its-ti-iam.
the class MembershipServiceImpl method addGroupMemberByUuid.
// finds a user by a uuid and adds them to the group
@Override
public List<GroupingsServiceResult> addGroupMemberByUuid(String ownerUsername, String groupPath, String userToAddUuid) {
logger.info("addGroupMemberByUuid; user: " + ownerUsername + "; groupPath: " + groupPath + "; userToAdd: " + userToAddUuid + ";");
Person personToAdd = new Person(null, userToAddUuid, null);
return addMemberHelper(ownerUsername, groupPath, personToAdd);
}
Aggregations