diff --git a/Kitodo-API/src/main/java/org/kitodo/serviceloader/KitodoServiceLoader.java b/Kitodo-API/src/main/java/org/kitodo/serviceloader/KitodoServiceLoader.java
index 993c9a0ec63..9e99e64bc9e 100644
--- a/Kitodo-API/src/main/java/org/kitodo/serviceloader/KitodoServiceLoader.java
+++ b/Kitodo-API/src/main/java/org/kitodo/serviceloader/KitodoServiceLoader.java
@@ -20,7 +20,6 @@
import java.net.URL;
import java.net.URLClassLoader;
import java.nio.file.DirectoryStream;
-import java.nio.file.FileSystems;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@@ -80,8 +79,7 @@ public class KitodoServiceLoader {
private static final String JAR = "*.jar";
private static final String ERROR = "Classpath could not be accessed";
- private static final Path SYSTEM_TEMP_FOLDER = FileSystems.getDefault()
- .getPath(System.getProperty("java.io.tmpdir"));
+ private static final Path SYSTEM_TEMP_FOLDER = Paths.get(System.getProperty("java.io.tmpdir"));
private static final Logger logger = LogManager.getLogger(KitodoServiceLoader.class);
@@ -142,7 +140,7 @@ public List loadModules() {
* they can be used in all frontend files
*/
private void loadBeans() {
- Path moduleFolder = FileSystems.getDefault().getPath(modulePath);
+ Path moduleFolder = Paths.get(modulePath);
try (DirectoryStream stream = Files.newDirectoryStream(moduleFolder, JAR)) {
for (Path f : stream) {
try (JarFile jarFile = new JarFile(f.toString())) {
@@ -197,7 +195,7 @@ private void loadBeans() {
*/
private void loadFrontendFilesIntoCore() {
- Path moduleFolder = FileSystems.getDefault().getPath(modulePath);
+ Path moduleFolder = Paths.get(modulePath);
try (DirectoryStream stream = Files.newDirectoryStream(moduleFolder, JAR)) {
@@ -382,7 +380,7 @@ private File findFile(String name, File folder) throws FileNotFoundException {
* earlier class loader created at an earlier time.
*/
private void loadModulesIntoClasspath() {
- Path moduleFolder = FileSystems.getDefault().getPath(modulePath);
+ Path moduleFolder = Paths.get(modulePath);
try (DirectoryStream stream = Files.newDirectoryStream(moduleFolder, JAR)) {
diff --git a/Kitodo-API/src/test/java/org/kitodo/config/KitodoConfigTest.java b/Kitodo-API/src/test/java/org/kitodo/config/KitodoConfigTest.java
index 6ef8f926401..947f49b2493 100644
--- a/Kitodo-API/src/test/java/org/kitodo/config/KitodoConfigTest.java
+++ b/Kitodo-API/src/test/java/org/kitodo/config/KitodoConfigTest.java
@@ -22,13 +22,16 @@
import java.util.NoSuchElementException;
+import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.kitodo.config.enums.ParameterAPI;
+import org.mockito.MockedStatic;
public class KitodoConfigTest {
private static ParameterAPI NONE;
+ private static MockedStatic mockedParameterAPI;
/**
* Init once before tests.
@@ -40,12 +43,17 @@ public static void init() {
NONE = mock(ParameterAPI.class);
doReturn(3).when(NONE).ordinal();
- mockStatic(ParameterAPI.class);
+ mockedParameterAPI = mockStatic(ParameterAPI.class);
when(ParameterAPI.values())
.thenReturn(new ParameterAPI[] {ParameterAPI.DIR_MODULES, ParameterAPI.DIR_PROCESSES,
ParameterAPI.DIR_XML_CONFIG, NONE });
}
+ @AfterAll
+ public static void tearDown() {
+ mockedParameterAPI.close();
+ }
+
@Test
public void shouldGetStringParameterWithoutDefault() {
String param = KitodoConfig.getParameter(ParameterAPI.DIR_XML_CONFIG);
diff --git a/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/DataEditorTest.java b/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/DataEditorTest.java
index 56937bfb6ad..777a1736127 100644
--- a/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/DataEditorTest.java
+++ b/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/DataEditorTest.java
@@ -16,6 +16,7 @@
import java.io.File;
import java.io.IOException;
+import java.io.OutputStream;
import java.net.URI;
import java.nio.file.Files;
import java.nio.file.Paths;
@@ -43,8 +44,12 @@ public void saveFile() throws IOException {
@AfterEach
public void revertFile() throws IOException {
- IOUtils.write( testMetaOldFormat, Files.newOutputStream(Paths.get(pathOfOldMetaFormat)));
- IOUtils.write( testmetaUnsupportedFormat, Files.newOutputStream(Paths.get("src/test/resources/testmetaUnsupportedFormat.xml")));
+ try (OutputStream out1 = Files.newOutputStream(Paths.get(pathOfOldMetaFormat))) {
+ IOUtils.write(testMetaOldFormat, out1);
+ }
+ try (OutputStream out2 = Files.newOutputStream(Paths.get("src/test/resources/testmetaUnsupportedFormat.xml"))) {
+ IOUtils.write(testmetaUnsupportedFormat, out2);
+ }
}
@Test
diff --git a/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/MetsKitodoConverterTest.java b/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/MetsKitodoConverterTest.java
index d2353047787..88d9ff0aa34 100644
--- a/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/MetsKitodoConverterTest.java
+++ b/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/MetsKitodoConverterTest.java
@@ -15,6 +15,7 @@
import java.io.File;
import java.io.IOException;
+import java.io.OutputStream;
import java.net.URI;
import java.nio.file.Files;
import java.nio.file.Paths;
@@ -46,7 +47,9 @@ public void saveFile() throws IOException {
@AfterEach
public void revertFile() throws IOException {
- IOUtils.write( testMetaOldFormat, Files.newOutputStream(Paths.get(pathOfOldMetaFormat)));
+ try (OutputStream out = Files.newOutputStream(Paths.get(pathOfOldMetaFormat))) {
+ IOUtils.write(testMetaOldFormat, out);
+ }
}
@Test
diff --git a/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/MetsKitodoValidatorTest.java b/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/MetsKitodoValidatorTest.java
index 2e27f84806e..537cf775263 100644
--- a/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/MetsKitodoValidatorTest.java
+++ b/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/MetsKitodoValidatorTest.java
@@ -16,6 +16,7 @@
import java.io.File;
import java.io.IOException;
+import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
@@ -39,7 +40,9 @@ public void saveFile() throws IOException {
@AfterEach
public void revertFile() throws IOException {
- IOUtils.write( testMetaOldFormat, Files.newOutputStream(Paths.get(pathOfOldMetaFormat)));
+ try (OutputStream out = Files.newOutputStream(Paths.get(pathOfOldMetaFormat))) {
+ IOUtils.write(testMetaOldFormat, out);
+ }
}
@Test
diff --git a/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/MetsKitodoWrapperTest.java b/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/MetsKitodoWrapperTest.java
index ef74623d6e0..bcc93021e41 100644
--- a/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/MetsKitodoWrapperTest.java
+++ b/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/MetsKitodoWrapperTest.java
@@ -17,6 +17,7 @@
import java.io.File;
import java.io.IOException;
+import java.io.OutputStream;
import java.math.BigInteger;
import java.net.URI;
import java.nio.file.Files;
@@ -65,7 +66,9 @@ public void saveFile() throws IOException {
@AfterEach
public void revertFile() throws IOException {
- IOUtils.write( testMetaOldFormat, Files.newOutputStream(Paths.get(pathOfOldMetaFormat)));
+ try (OutputStream out = Files.newOutputStream(Paths.get(pathOfOldMetaFormat))) {
+ IOUtils.write(testMetaOldFormat, out);
+ }
}
@BeforeAll
diff --git a/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/MetsKitodoWriterTest.java b/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/MetsKitodoWriterTest.java
index 0afe470acfa..c0517c16823 100644
--- a/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/MetsKitodoWriterTest.java
+++ b/Kitodo-DataEditor/src/test/java/org/kitodo/dataeditor/MetsKitodoWriterTest.java
@@ -16,6 +16,7 @@
import java.io.File;
import java.io.IOException;
+import java.io.OutputStream;
import java.net.URI;
import java.nio.file.Files;
import java.nio.file.Paths;
@@ -49,7 +50,9 @@ public void saveFile() throws IOException {
@AfterEach
public void revertFile() throws IOException {
- IOUtils.write( testMetaOldFormat, Files.newOutputStream(Paths.get(pathOfOldMetaFormat)));
+ try (OutputStream out = Files.newOutputStream(Paths.get(pathOfOldMetaFormat))) {
+ IOUtils.write(testMetaOldFormat, out);
+ }
}
@BeforeAll
diff --git a/Kitodo-DataFormat/src/test/java/org/kitodo/dataformat/access/MetsXmlElementAccessIT.java b/Kitodo-DataFormat/src/test/java/org/kitodo/dataformat/access/MetsXmlElementAccessIT.java
index d0662885378..2332451bd4d 100644
--- a/Kitodo-DataFormat/src/test/java/org/kitodo/dataformat/access/MetsXmlElementAccessIT.java
+++ b/Kitodo-DataFormat/src/test/java/org/kitodo/dataformat/access/MetsXmlElementAccessIT.java
@@ -297,18 +297,19 @@ public void duplicateMetsFileDefinitionWithoutStrictFileIdCheck() throws IOExcep
public void duplicateMetsFileDefinitionWithStrictFileIdCheck() {
// mock access to KitodoConfig usage
PropertiesConfiguration propertiesConfiguration = Mockito.mock(PropertiesConfiguration.class);
- MockedStatic mockedConfig = Mockito.mockStatic(KitodoConfig.class);
- mockedConfig.when(KitodoConfig::getConfig).thenReturn(propertiesConfiguration);
- // mock getBoolean method call like in the main class
- Mockito.when(propertiesConfiguration.getBoolean("useStrictMetsFileIdCheck", false)).thenReturn(true);
-
- Exception exception = assertThrows(IllegalArgumentException.class,
- () -> new MetsXmlElementAccess().read(
- new FileInputStream("src/test/resources/meta_duplicate_file.xml")
- )
- );
-
- assertEquals("Corrupt file: each METS file ID has to be unique but FILE_0001 is used multiple times!", exception.getMessage());
+ try (MockedStatic mockedConfig = Mockito.mockStatic(KitodoConfig.class)) {
+ mockedConfig.when(KitodoConfig::getConfig).thenReturn(propertiesConfiguration);
+ // mock getBoolean method call like in the main class
+ Mockito.when(propertiesConfiguration.getBoolean("useStrictMetsFileIdCheck", false)).thenReturn(true);
+
+ Exception exception = assertThrows(IllegalArgumentException.class,
+ () -> new MetsXmlElementAccess().read(
+ new FileInputStream("src/test/resources/meta_duplicate_file.xml")
+ )
+ );
+
+ assertEquals("Corrupt file: each METS file ID has to be unique but FILE_0001 is used multiple times!", exception.getMessage());
+ }
}
@Test
diff --git a/Kitodo/src/main/java/org/kitodo/production/services/file/FileService.java b/Kitodo/src/main/java/org/kitodo/production/services/file/FileService.java
index 08e92325042..172cb22058f 100644
--- a/Kitodo/src/main/java/org/kitodo/production/services/file/FileService.java
+++ b/Kitodo/src/main/java/org/kitodo/production/services/file/FileService.java
@@ -141,8 +141,7 @@ URI createMetaDirectory(URI parentFolderUri, String directoryName) throws IOExce
logger.info("Metadata directory: {} already existed! No new directory was created", directoryName);
} else {
CommandService commandService = ServiceManager.getCommandService();
- String path = FileSystems.getDefault()
- .getPath(ConfigCore.getKitodoDataDirectory(), parentFolderUri.getRawPath(), directoryName)
+ String path = Paths.get(ConfigCore.getKitodoDataDirectory(), parentFolderUri.getRawPath(), directoryName)
.normalize().toAbsolutePath().toString();
List commandParameter = Collections.singletonList(path);
File script = new File(ConfigCore.getParameter(ParameterCore.SCRIPT_CREATE_DIR_META));
diff --git a/Kitodo/src/test/java/org/kitodo/production/forms/dataeditor/MediaPartialFormTest.java b/Kitodo/src/test/java/org/kitodo/production/forms/dataeditor/MediaPartialFormTest.java
index 36c3c18fab6..567953f5e35 100644
--- a/Kitodo/src/test/java/org/kitodo/production/forms/dataeditor/MediaPartialFormTest.java
+++ b/Kitodo/src/test/java/org/kitodo/production/forms/dataeditor/MediaPartialFormTest.java
@@ -23,6 +23,7 @@
import java.util.LinkedList;
import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -48,6 +49,7 @@ public class MediaPartialFormTest {
PhysicalDivision physicalDivision;
PhysicalDivision physicalStructure;
+ private static MockedStatic ajaxMockedStatic;
/**
* Initialize test class.
@@ -55,12 +57,22 @@ public class MediaPartialFormTest {
@BeforeAll
public static void initTestClass() {
// mock frontend update calls
- Mockito.mockStatic(Ajax.class);
+ ajaxMockedStatic = Mockito.mockStatic(Ajax.class);
PrimeFaces primeFaces = mock(PrimeFaces.class);
MockedStatic primefacesSingleton = Mockito.mockStatic(PrimeFaces.class);
primefacesSingleton.when(PrimeFaces::current).thenReturn(primeFaces);
}
+ /**
+ * Clean up static mocks.
+ */
+ @AfterAll
+ public static void cleanupTestClass() {
+ if (ajaxMockedStatic != null) {
+ ajaxMockedStatic.close();
+ }
+ }
+
/**
* Initialize test function.
*/
diff --git a/Kitodo/src/test/java/org/kitodo/production/services/dataeditor/DataEditorServiceTest.java b/Kitodo/src/test/java/org/kitodo/production/services/dataeditor/DataEditorServiceTest.java
index 03aaab15c06..184a62d3efe 100644
--- a/Kitodo/src/test/java/org/kitodo/production/services/dataeditor/DataEditorServiceTest.java
+++ b/Kitodo/src/test/java/org/kitodo/production/services/dataeditor/DataEditorServiceTest.java
@@ -17,6 +17,7 @@
import java.io.File;
import java.io.IOException;
+import java.io.OutputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
@@ -45,7 +46,9 @@ public void saveFile() throws IOException {
@AfterEach
public void revertFile() throws IOException {
- IOUtils.write( testMetaOldFormat, Files.newOutputStream(Paths.get(pathOfOldMetaFormat)));
+ try (OutputStream out = Files.newOutputStream(Paths.get(pathOfOldMetaFormat))) {
+ IOUtils.write(testMetaOldFormat, out);
+ }
}
@Test