/** * @param group * @return * @throws Exception */ @Override public String createGroup(Group group) throws Exception { Group specificGroup = new Group(group); try { // Set supergroup specific Id if (StringUtil.isDefined(group.getSuperGroupId())) { // Get the user information GroupRow gr = getOrganization().group.getGroup(idAsInt(group.getSuperGroupId())); if (gr == null) { throw new AdminException( "DomainDriverManager.createGroup", SilverpeasException.ERROR, "admin.EX_ERR_GROUP_NOT_FOUND", "group Id: '" + group.getSuperGroupId() + "'"); } specificGroup.setSuperGroupId(gr.specificId); } // Set subUsers specific Id specificGroup.setUserIds( translateUserIdsToSpecificIds(idAsInt(group.getDomainId()), group.getUserIds())); // Get a DomainDriver instance DomainDriver domainDriver = this.getDomainDriver(idAsInt(group.getDomainId())); // Update Group in specific domain return domainDriver.createGroup(specificGroup); } catch (AdminException e) { throw new AdminException( "DomainDriverManager.createGroup", SilverpeasException.ERROR, "admin.EX_ERR_UPDATE_GROUP", "group Id: '" + group.getId() + "'", e); } }
private void setDirectUsersOfGroup(final DomainDriverManager ddManager, final Group group) throws AdminPersistenceException { String[] asUsersId = ddManager.getOrganization().user.getDirectUserIdsOfGroup(idAsInt(group.getId())); if (asUsersId != null) { group.setUserIds(asUsersId); } }