/** * Imports MolgenisRole from tab/comma delimited File. * * @param MolgenisRoleFile a tab delimited file with MolgenisRole data. */ private static void importMolgenisRole(Database db, File MolgenisRoleFile) throws DatabaseException, IOException, Exception { logger.debug("trying to import " + MolgenisRoleFile); if (!MolgenisRoleFile.exists()) { logger.warn("MolgenisRole.txt file is missing, skipped import"); } else { // read MolgenisRole from file CsvReader reader = new CsvFileReader(MolgenisRoleFile); List<MolgenisRole> molgenisRoleList = db.toList(MolgenisRole.class, reader, Integer.MAX_VALUE); // should have no limit logger.debug("loaded " + molgenisRoleList.size() + " MolgenisRole objects"); // redirect incoming and outgoing fkeys List<Integer> molgenisRoleIds = new ArrayList<Integer>(); // also doesn't scale for (int i = 0; i < molgenisRoleList.size(); i++) // sorry, not a real list so need to put back!! { MolgenisRole object = molgenisRoleList.get(i); // remember index of this id for incoming fkeys molgenisRoleIds.add(object.getId()); // redirect outgoing fkeys // add assay back to list molgenisRoleList.set(i, object); } // add to database db.add(molgenisRoleList); for (int i = 0; i < molgenisRoleList.size(); i++) { molgenisRoleIdMap.put(molgenisRoleIds.get(i), molgenisRoleList.get(i).getId()); } } }
public ImportWizardExcelPrognosis(File excelFile) throws Exception { Workbook workbook = Workbook.getWorkbook(excelFile); ArrayList<String> lowercasedSheetNames = new ArrayList<String>(); Map<String, String> lowerToOriginalName = new HashMap<String, String>(); try { for (String sheetName : workbook.getSheetNames()) { lowercasedSheetNames.add(sheetName.toLowerCase()); lowerToOriginalName.put(sheetName.toLowerCase(), sheetName); } if (lowercasedSheetNames.contains("molgenisrole")) { String originalSheetname = lowerToOriginalName.get("molgenisrole"); Sheet sheet = workbook.getSheet(originalSheetname); MolgenisRoleExcelReader excelReader = new MolgenisRoleExcelReader(); List<String> allHeaders = excelReader.getNonEmptyHeaders(sheet); MolgenisRole entity = new MolgenisRole(); headersToMaps(originalSheetname, allHeaders, entity.getFields()); } if (lowercasedSheetNames.contains("molgenisgroup")) { String originalSheetname = lowerToOriginalName.get("molgenisgroup"); Sheet sheet = workbook.getSheet(originalSheetname); MolgenisGroupExcelReader excelReader = new MolgenisGroupExcelReader(); List<String> allHeaders = excelReader.getNonEmptyHeaders(sheet); MolgenisGroup entity = new MolgenisGroup(); headersToMaps(originalSheetname, allHeaders, entity.getFields()); } if (lowercasedSheetNames.contains("institute")) { String originalSheetname = lowerToOriginalName.get("institute"); Sheet sheet = workbook.getSheet(originalSheetname); InstituteExcelReader excelReader = new InstituteExcelReader(); List<String> allHeaders = excelReader.getNonEmptyHeaders(sheet); Institute entity = new Institute(); headersToMaps(originalSheetname, allHeaders, entity.getFields()); } if (lowercasedSheetNames.contains("ontology")) { String originalSheetname = lowerToOriginalName.get("ontology"); Sheet sheet = workbook.getSheet(originalSheetname); OntologyExcelReader excelReader = new OntologyExcelReader(); List<String> allHeaders = excelReader.getNonEmptyHeaders(sheet); Ontology entity = new Ontology(); headersToMaps(originalSheetname, allHeaders, entity.getFields()); } if (lowercasedSheetNames.contains("ontologyterm")) { String originalSheetname = lowerToOriginalName.get("ontologyterm"); Sheet sheet = workbook.getSheet(originalSheetname); OntologyTermExcelReader excelReader = new OntologyTermExcelReader(); List<String> allHeaders = excelReader.getNonEmptyHeaders(sheet); OntologyTerm entity = new OntologyTerm(); headersToMaps(originalSheetname, allHeaders, entity.getFields()); } if (lowercasedSheetNames.contains("person")) { String originalSheetname = lowerToOriginalName.get("person"); Sheet sheet = workbook.getSheet(originalSheetname); PersonExcelReader excelReader = new PersonExcelReader(); List<String> allHeaders = excelReader.getNonEmptyHeaders(sheet); Person entity = new Person(); headersToMaps(originalSheetname, allHeaders, entity.getFields()); } if (lowercasedSheetNames.contains("molgenisuser")) { String originalSheetname = lowerToOriginalName.get("molgenisuser"); Sheet sheet = workbook.getSheet(originalSheetname); MolgenisUserExcelReader excelReader = new MolgenisUserExcelReader(); List<String> allHeaders = excelReader.getNonEmptyHeaders(sheet); MolgenisUser entity = new MolgenisUser(); headersToMaps(originalSheetname, allHeaders, entity.getFields()); } if (lowercasedSheetNames.contains("molgenisrolegrouplink")) { String originalSheetname = lowerToOriginalName.get("molgenisrolegrouplink"); Sheet sheet = workbook.getSheet(originalSheetname); MolgenisRoleGroupLinkExcelReader excelReader = new MolgenisRoleGroupLinkExcelReader(); List<String> allHeaders = excelReader.getNonEmptyHeaders(sheet); MolgenisRoleGroupLink entity = new MolgenisRoleGroupLink(); headersToMaps(originalSheetname, allHeaders, entity.getFields()); } if (lowercasedSheetNames.contains("molgenisfile")) { String originalSheetname = lowerToOriginalName.get("molgenisfile"); Sheet sheet = workbook.getSheet(originalSheetname); MolgenisFileExcelReader excelReader = new MolgenisFileExcelReader(); List<String> allHeaders = excelReader.getNonEmptyHeaders(sheet); MolgenisFile entity = new MolgenisFile(); headersToMaps(originalSheetname, allHeaders, entity.getFields()); } if (lowercasedSheetNames.contains("runtimeproperty")) { String originalSheetname = lowerToOriginalName.get("runtimeproperty"); Sheet sheet = workbook.getSheet(originalSheetname); RuntimePropertyExcelReader excelReader = new RuntimePropertyExcelReader(); List<String> allHeaders = excelReader.getNonEmptyHeaders(sheet); RuntimeProperty entity = new RuntimeProperty(); headersToMaps(originalSheetname, allHeaders, entity.getFields()); } if (lowercasedSheetNames.contains("publication")) { String originalSheetname = lowerToOriginalName.get("publication"); Sheet sheet = workbook.getSheet(originalSheetname); PublicationExcelReader excelReader = new PublicationExcelReader(); List<String> allHeaders = excelReader.getNonEmptyHeaders(sheet); Publication entity = new Publication(); headersToMaps(originalSheetname, allHeaders, entity.getFields()); } if (lowercasedSheetNames.contains("usecase")) { String originalSheetname = lowerToOriginalName.get("usecase"); Sheet sheet = workbook.getSheet(originalSheetname); UseCaseExcelReader excelReader = new UseCaseExcelReader(); List<String> allHeaders = excelReader.getNonEmptyHeaders(sheet); UseCase entity = new UseCase(); headersToMaps(originalSheetname, allHeaders, entity.getFields()); } if (lowercasedSheetNames.contains("molgenisentity")) { String originalSheetname = lowerToOriginalName.get("molgenisentity"); Sheet sheet = workbook.getSheet(originalSheetname); MolgenisEntityExcelReader excelReader = new MolgenisEntityExcelReader(); List<String> allHeaders = excelReader.getNonEmptyHeaders(sheet); MolgenisEntity entity = new MolgenisEntity(); headersToMaps(originalSheetname, allHeaders, entity.getFields()); } if (lowercasedSheetNames.contains("molgenispermission")) { String originalSheetname = lowerToOriginalName.get("molgenispermission"); Sheet sheet = workbook.getSheet(originalSheetname); MolgenisPermissionExcelReader excelReader = new MolgenisPermissionExcelReader(); List<String> allHeaders = excelReader.getNonEmptyHeaders(sheet); MolgenisPermission entity = new MolgenisPermission(); headersToMaps(originalSheetname, allHeaders, entity.getFields()); } for (String sheetName : lowerToOriginalName.values()) { if (importOrder.contains(sheetName)) { sheetsImportable.put(sheetName, true); } else { sheetsImportable.put(sheetName, false); } } } catch (Exception e) { throw e; } finally { workbook.close(); } }