getDirectoryUsersByGroup


	@SuppressWarnings("unchecked")
	public static HashSet<String> getDirectoryUsersByGroup(String groupName) {
		HashSet<String> persons = new HashSet<String>();
		try {

			Directory dir = NotesContext.getCurrent().getCurrentSession().getDirectory();
			Vector<String> items = new Vector<String>();
			items.add("Members");
			Vector<String> lookupvalues = new Vector<String>();
			lookupvalues.add(groupName);
			DirectoryNavigator dirnav = dir.lookupNames("Groups", lookupvalues,items, false);
			if (dirnav.isMatchLocated()) {
				Vector members = dirnav.getFirstItemValue();
				for (Object item : members) {
					if (!Utils.isGroup(item.toString())) {
						persons.add(item.toString());
					} else {
						persons.addAll(Utils.getDirectoryUsersByGroup(item.toString()));
					}
				}
			}
		} catch (Exception e) {
			Utils._logger.log(Level.SEVERE, "Error getting Users:" + e);
		}
		return persons;
	}

	public static boolean isGroup(String name) {
		boolean retval = false;
		try {
			Directory dir = NotesContext.getCurrent().getCurrentSession().getDirectory();
			Vector<String> items = new Vector<String>();
			items.add("Form");
			Vector<String> lookupvalues = new Vector<String>();
			lookupvalues.add(name);
			DirectoryNavigator dirnav = dir.lookupNames("Groups",lookupvalues,items,false);
			if (dirnav.isMatchLocated()) {
				if ("[Group]".equals(dirnav.getFirstItemValue().toString())) {
					retval = true;
				}
			}
		} catch (Exception e) {
			Utils._logger.log(Level.SEVERE, "Error getting group:" + e);
		}
		return retval;
	}
}
All code submitted to OpenNTF XSnippets, whether submitted as a "Snippet" or in the body of a Comment, is provided under the Apache License Version 2.0. See Terms of Use for full details.
No comments yetLogin first to comment...