MolgenisUserViewData(MolgenisUser mu, List<MolgenisGroup> molgenisGroups) { this(mu.getId(), mu.getUsername()); firstName = (null == mu.getFirstName() ? "" : mu.getFirstName()); middleName = (null == mu.getMiddleNames() ? "" : mu.getMiddleNames()); lastName = (null == mu.getLastName() ? "" : mu.getLastName()); fullName = firstName + ' ' + middleName + ' ' + lastName; this.active = mu.isActive(); this.superuser = mu.isSuperuser(); for (MolgenisGroup mg : molgenisGroups) { this.groupList.add(mg.getId()); } }
/** * Imports MolgenisGroup from tab/comma delimited File. * * @param MolgenisGroupFile a tab delimited file with MolgenisGroup data. */ private static void importMolgenisGroup(Database db, File MolgenisGroupFile) throws DatabaseException, IOException, Exception { logger.debug("trying to import " + MolgenisGroupFile); if (!MolgenisGroupFile.exists()) { logger.warn("MolgenisGroup.txt file is missing, skipped import"); } else { // read MolgenisGroup from file CsvReader reader = new CsvFileReader(MolgenisGroupFile); List<MolgenisGroup> molgenisGroupList = db.toList(MolgenisGroup.class, reader, Integer.MAX_VALUE); // should have no limit logger.debug("loaded " + molgenisGroupList.size() + " MolgenisGroup objects"); // redirect incoming and outgoing fkeys List<Integer> molgenisGroupIds = new ArrayList<Integer>(); // also doesn't scale for (int i = 0; i < molgenisGroupList.size(); i++) // sorry, not a real list so need to put back!! { MolgenisGroup object = molgenisGroupList.get(i); // remember index of this id for incoming fkeys molgenisGroupIds.add(object.getId()); // redirect outgoing fkeys // add assay back to list molgenisGroupList.set(i, object); } // add to database db.add(molgenisGroupList); for (int i = 0; i < molgenisGroupList.size(); i++) { molgenisGroupIdMap.put(molgenisGroupIds.get(i), molgenisGroupList.get(i).getId()); molgenisRoleIdMap.put(molgenisGroupIds.get(i), molgenisGroupList.get(i).getId()); } } }