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(); } }