private Set<String> getAuthorizedGroups(String assessmentId) { List authorizations = PersistenceService.getInstance().getAuthzQueriesFacade() .getAuthorizationByFunctionAndQualifier("TAKE_PUBLISHED_ASSESSMENT", assessmentId); Set<String> authorizedGroups = new HashSet<String>(); if (authorizations != null && authorizations.size()>0) { Iterator authsIter = authorizations.iterator(); while (authsIter.hasNext()) { AuthorizationData ad = (AuthorizationData) authsIter.next(); authorizedGroups.add(ad.getAgentIdString()); } } return authorizedGroups; }
private Set<String> getAuthorizedGroups(String assessmentId) { List authorizations = PersistenceService.getInstance().getAuthzQueriesFacade() .getAuthorizationByFunctionAndQualifier("TAKE_PUBLISHED_ASSESSMENT", assessmentId); Set<String> authorizedGroups = new HashSet<String>(); if (authorizations != null && authorizations.size()>0) { Iterator authsIter = authorizations.iterator(); while (authsIter.hasNext()) { AuthorizationData ad = (AuthorizationData) authsIter.next(); authorizedGroups.add(ad.getAgentIdString()); } } return authorizedGroups; }
private Map<String, String> getReleaseToGroups(Map groupsForSite, Long assessmentId) { Map<String, String> releaseToGroups = new HashMap(); AuthzQueriesFacadeAPI authz = PersistenceService.getInstance().getAuthzQueriesFacade(); List authorizations = authz.getAuthorizationByFunctionAndQualifier("TAKE_ASSESSMENT", assessmentId.toString()); if (authorizations != null && authorizations.size()>0) { Iterator authsIter = authorizations.iterator(); while (authsIter.hasNext()) { AuthorizationData ad = (AuthorizationData) authsIter.next(); if (groupsForSite.containsKey(ad.getAgentIdString())) { String group = groupsForSite.get(ad.getAgentIdString()).toString(); if (group != null) { releaseToGroups.put(ad.getAgentIdString(), group); } } } releaseToGroups.entrySet().stream() .sorted(Map.Entry.comparingByValue()) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue, LinkedHashMap::new)); } return releaseToGroups; }
/** * * @param assessmentId * @return */ private Map<String, String> getReleaseToGroups(Map groupsForSite, Long assessmentId) { Map<String, String> releaseToGroups = new HashMap(); AuthzQueriesFacadeAPI authz = PersistenceService.getInstance().getAuthzQueriesFacade(); List authorizations = authz.getAuthorizationByFunctionAndQualifier("TAKE_PUBLISHED_ASSESSMENT", assessmentId.toString()); if (authorizations != null && authorizations.size()>0) { Iterator authsIter = authorizations.iterator(); while (authsIter.hasNext()) { AuthorizationData ad = (AuthorizationData) authsIter.next(); if (groupsForSite.containsKey(ad.getAgentIdString())) { String group = groupsForSite.get(ad.getAgentIdString()).toString(); if (group != null) { releaseToGroups.put(ad.getAgentIdString(), group); } } } releaseToGroups.entrySet().stream() .sorted(Map.Entry.comparingByValue()) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldValue, newValue) -> oldValue, LinkedHashMap::new)); } return releaseToGroups; }
String releaseToGroupsAsString = null; AuthzQueriesFacadeAPI authz = PersistenceService.getInstance().getAuthzQueriesFacade(); List authorizations = authz.getAuthorizationByFunctionAndQualifier("TAKE_PUBLISHED_ASSESSMENT", assessmentId.toString()); if (authorizations != null && authorizations.size()>0) { Iterator authsIter = authorizations.iterator();
private boolean checkMembership(PublishedAssessmentIfc pub, String userId){ boolean isMember=false; // get list of site that this published assessment has been released to List l = PersistenceService.getInstance().getAuthzQueriesFacade(). getAuthorizationByFunctionAndQualifier("VIEW_PUBLISHED_ASSESSMENT", pub.getPublishedAssessmentId().toString()); for (int i=0;i<l.size();i++){ String siteId = ((AuthorizationData)l.get(i)).getAgentIdString(); try { isMember = (siteService.getSite(siteId).getUserRole(userId) != null); } catch (IdUnusedException e) { log.info("Site with ID: " + siteId + " does not exists but is " + "authorized for assessment id: " + pub.getPublishedAssessmentId()); } if (isMember) { break; } } return isMember; }
/** * Creates Authorizations for Selected Groups * @param p */ public void createAuthorizationForSelectedGroups(PublishedAssessmentData publishedAssessment) { AuthzQueriesFacadeAPI authz = PersistenceService.getInstance().getAuthzQueriesFacade(); String qualifierIdString = publishedAssessment.getPublishedAssessmentId().toString(); authz.createAuthorization(AgentFacade.getCurrentSiteId(), "OWN_PUBLISHED_ASSESSMENT", qualifierIdString); authz.createAuthorization(AgentFacade.getCurrentSiteId(), "VIEW_PUBLISHED_ASSESSMENT", qualifierIdString); List authorizationsToCopy = authz.getAuthorizationByFunctionAndQualifier("TAKE_ASSESSMENT", publishedAssessment.getAssessmentId().toString()); if (authorizationsToCopy != null && authorizationsToCopy.size()>0) { Iterator authsIter = authorizationsToCopy.iterator(); while (authsIter.hasNext()) { AuthorizationData adToCopy = (AuthorizationData) authsIter.next(); authz.createAuthorization(adToCopy.getAgentIdString(), "TAKE_PUBLISHED_ASSESSMENT", publishedAssessment.getPublishedAssessmentId().toString()); } } }
private boolean checkMembership(PublishedAssessmentIfc pub, String userId){ boolean isMember=false; // get list of site that this published assessment has been released to List l = PersistenceService.getInstance().getAuthzQueriesFacade(). getAuthorizationByFunctionAndQualifier("VIEW_PUBLISHED_ASSESSMENT", pub.getPublishedAssessmentId().toString()); for (int i=0;i<l.size();i++){ String siteId = ((AuthorizationData)l.get(i)).getAgentIdString(); try { isMember = (siteService.getSite(siteId).getUserRole(userId) != null); } catch (IdUnusedException e) { log.info("Site with ID: " + siteId + " does not exists but is " + "authorized for assessment id: " + pub.getPublishedAssessmentId()); } if (isMember) { break; } } return isMember; }
private boolean checkMembershipForGroupRelease(PublishedAssessmentIfc pub, String userId){ boolean isMember=false; // get the site that owns the published assessment List l =PersistenceService.getInstance().getAuthzQueriesFacade(). getAuthorizationByFunctionAndQualifier("OWN_PUBLISHED_ASSESSMENT", pub.getPublishedAssessmentId().toString()); if (l == null || l.isEmpty()) { return false; } String siteId = ((AuthorizationData)l.get(0)).getAgentIdString(); Collection siteGroupsContainingUser = null; try { siteGroupsContainingUser = siteService.getSite(siteId).getGroupsWithMember(userId); } catch (IdUnusedException ex) { // no site found } // get list of groups that this published assessment has been released to l =PersistenceService.getInstance().getAuthzQueriesFacade(). getAuthorizationByFunctionAndQualifier("TAKE_PUBLISHED_ASSESSMENT", pub.getPublishedAssessmentId().toString()); for (int i=0;i<l.size();i++){ String groupId = ((AuthorizationData)l.get(i)).getAgentIdString(); isMember = isUserInAuthorizedGroup(groupId, siteGroupsContainingUser); if (isMember) { break; } } return isMember; }
/** * Creates Authorizations for Selected Groups * @param p */ public void createAuthorizationForSelectedGroups(PublishedAssessmentData publishedAssessment) { AuthzQueriesFacadeAPI authz = PersistenceService.getInstance().getAuthzQueriesFacade(); String qualifierIdString = publishedAssessment.getPublishedAssessmentId().toString(); authz.createAuthorization(AgentFacade.getCurrentSiteId(), "OWN_PUBLISHED_ASSESSMENT", qualifierIdString); authz.createAuthorization(AgentFacade.getCurrentSiteId(), "VIEW_PUBLISHED_ASSESSMENT", qualifierIdString); List authorizationsToCopy = authz.getAuthorizationByFunctionAndQualifier("TAKE_ASSESSMENT", publishedAssessment.getAssessmentId().toString()); if (authorizationsToCopy != null && authorizationsToCopy.size()>0) { Iterator authsIter = authorizationsToCopy.iterator(); while (authsIter.hasNext()) { AuthorizationData adToCopy = (AuthorizationData) authsIter.next(); authz.createAuthorization(adToCopy.getAgentIdString(), "TAKE_PUBLISHED_ASSESSMENT", publishedAssessment.getPublishedAssessmentId().toString()); } } }
private boolean checkMembershipForGroupRelease(PublishedAssessmentIfc pub, String userId){ boolean isMember=false; // get the site that owns the published assessment List l =PersistenceService.getInstance().getAuthzQueriesFacade(). getAuthorizationByFunctionAndQualifier("OWN_PUBLISHED_ASSESSMENT", pub.getPublishedAssessmentId().toString()); if (l == null || l.isEmpty()) { return false; } String siteId = ((AuthorizationData)l.get(0)).getAgentIdString(); Collection siteGroupsContainingUser = null; try { siteGroupsContainingUser = siteService.getSite(siteId).getGroupsWithMember(userId); } catch (IdUnusedException ex) { // no site found } // get list of groups that this published assessment has been released to l =PersistenceService.getInstance().getAuthzQueriesFacade(). getAuthorizationByFunctionAndQualifier("TAKE_PUBLISHED_ASSESSMENT", pub.getPublishedAssessmentId().toString()); for (int i=0;i<l.size();i++){ String groupId = ((AuthorizationData)l.get(i)).getAgentIdString(); isMember = isUserInAuthorizedGroup(groupId, siteGroupsContainingUser); if (isMember) { break; } } return isMember; }