Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Use the AuthzGroupService to get the set of ids related to a permission (tool.permission), then iterate through the Set
    Code Block
    java
    java
    java.util.Set authzGroupIds = authzGroupService.getAuthzGroupsIsAllowed(userId, "tool.permission", null);
    java.util.Iterator it = authzGroupIds.iterator();
    while (it.hasNext()) {
    	String authzGroupId = (String) it.next();
    
  2. Use the EntityManager to convert the authzGroupIds to Reference objects and then test if the type of object is a site
    Code Block
    java
    java
    	Reference r = entityManager.newReference(authzGroupId);
    	if(r.isKnownType()) {
    		if(r.getType().equals(SiteService.SITE_SUBTYPE)) {
    			// do something since this is a site
    
  3. Get the siteId or context from the Reference or use the SiteService to convert the siteId into a Site object
    Code Block
    java
    java
    			String siteId = r.getId();
    			String context = r.getId();
    			try {
    				Site site = siteService.getSite(siteId);
    			} catch (IdUnusedException e) {
    				// invalid site Id returned
    				throw new RuntimeException("Could not get site from siteId:" + siteId);
    			}
    
  4. Get the groupId from the Reference or use the SiteService to get the Group object
    Code Block
    java
    java
    		} else if (r.getType().equals(SiteService.GROUP_SUBTYPE)) {
    			// do something since this is a site group
    			String groupId = r.getId();
    			String context = r.getId();
    			Group group = siteService.findGroup(groupId);
    			if (group != null) {
    				// found a valid group so do something
    			}
    		}
    	}
    }
    

...