boolean useMasterFolder = false;
if (ConfigMain.getBooleanParameter("useOrigFolder", true)) {
useMasterFolder = true;
masterPrefix = ConfigMain.getParameter("DIRECTORY_PREFIX", "orig");
}
Prozess currentProcess = metadataBean.getMyProzess();
List<String> importedFilenames = new ArrayList<String>();
for (String importName : selectedFiles) {
File importfolder = new File(tempDirectory + "fileupload" + File.separator + importName);
File[] subfolderList = importfolder.listFiles();
for (File subfolder : subfolderList) {
if (useMasterFolder) {
// check if current import folder is master folder
if (subfolder.getName().startsWith(masterPrefix)) {
try {
String masterFolderName = currentProcess.getImagesOrigDirectory(false);
File masterDirectory = new File(masterFolderName);
if (!masterDirectory.exists()) {
masterDirectory.mkdir();
}
File[] objectInFolder = subfolder.listFiles();
List<File> sortedList = Arrays.asList(objectInFolder);
Collections.sort(sortedList);
for (File object : sortedList) {
FileUtils.copyFileToDirectory(object, masterDirectory);
}
} catch (SwapException e) {
logger.error(e);
Helper.setFehlerMeldung("", e);
} catch (DAOException e) {
logger.error(e);
} catch (IOException e) {
logger.error(e);
} catch (InterruptedException e) {
logger.error(e);
}
} else {
if (subfolder.getName().contains("_")) {
String folderSuffix = subfolder.getName().substring(subfolder.getName().lastIndexOf("_") + 1);
String folderName = currentProcess.getMethodFromName(folderSuffix);
if (folderName != null) {
try {
File directory = new File(folderName);
File[] objectInFolder = subfolder.listFiles();
List<File> sortedList = Arrays.asList(objectInFolder);
Collections.sort(sortedList);
for (File object : sortedList) {
if (currentProcess.getImagesTifDirectory(false).equals(folderName + File.separator)) {
importedFilenames.add(object.getName());
}
FileUtils.copyFileToDirectory(object, directory);
}
}
catch (IOException e) {
logger.error(e);
} catch (SwapException e) {
logger.error(e);
} catch (DAOException e) {
logger.error(e);
} catch (InterruptedException e) {
logger.error(e);
}
}
}
}
} else {
if (subfolder.getName().contains("_")) {
String folderSuffix = subfolder.getName().substring(subfolder.getName().lastIndexOf("_") + 1);
String folderName = currentProcess.getMethodFromName(folderSuffix);
if (folderName != null) {
File directory = new File(folderName);
File[] objectInFolder = subfolder.listFiles();
List<File> sortedList = Arrays.asList(objectInFolder);
Collections.sort(sortedList);
for (File object : sortedList) {
try {
if (currentProcess.getImagesTifDirectory(false).equals(folderName + File.separator)) {
importedFilenames.add(object.getName());
}
FileUtils.copyFileToDirectory(object, directory);
} catch (IOException e) {
logger.error(e);