mirror of
https://github.com/ysoftdevs/DependencyCheck.git
synced 2026-01-15 00:03:43 +01:00
updated to use IOUtils to copy between streams
This commit is contained in:
@@ -24,6 +24,7 @@ import java.io.FileInputStream;
|
||||
import java.io.FileOutputStream;
|
||||
import java.util.zip.ZipEntry;
|
||||
import java.util.zip.ZipInputStream;
|
||||
import org.apache.commons.compress.utils.IOUtils;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Before;
|
||||
import org.owasp.dependencycheck.data.nvdcve.CveDB;
|
||||
@@ -49,7 +50,7 @@ public abstract class BaseDBTestCase extends BaseTest {
|
||||
// }
|
||||
@Before
|
||||
public void setUpDb() throws Exception {
|
||||
ensureDBExists();
|
||||
ensureDBExists();
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
@@ -58,12 +59,10 @@ public abstract class BaseDBTestCase extends BaseTest {
|
||||
}
|
||||
|
||||
public static void ensureDBExists() throws Exception {
|
||||
|
||||
File f = new File("./target/data/dc.h2.db");
|
||||
if (f.exists() && f.isFile() && f.length() < 71680) {
|
||||
f.delete();
|
||||
}
|
||||
|
||||
File dataPath = Settings.getDataDirectory();
|
||||
String fileName = Settings.getString(Settings.KEYS.DB_FILE_NAME);
|
||||
LOGGER.trace("DB file name {}", fileName);
|
||||
@@ -72,12 +71,9 @@ public abstract class BaseDBTestCase extends BaseTest {
|
||||
if (!dataPath.exists() || !dataFile.exists()) {
|
||||
LOGGER.trace("Extracting database to {}", dataPath.toString());
|
||||
dataPath.mkdirs();
|
||||
FileInputStream fis = null;
|
||||
ZipInputStream zin = null;
|
||||
try {
|
||||
File path = new File(BaseDBTestCase.class.getClassLoader().getResource("data.zip").toURI().getPath());
|
||||
fis = new FileInputStream(path);
|
||||
zin = new ZipInputStream(new BufferedInputStream(fis));
|
||||
File path = new File(BaseDBTestCase.class.getClassLoader().getResource("data.zip").toURI().getPath());
|
||||
try (FileInputStream fis = new FileInputStream(path);
|
||||
ZipInputStream zin = new ZipInputStream(new BufferedInputStream(fis))) {
|
||||
ZipEntry entry;
|
||||
while ((entry = zin.getNextEntry()) != null) {
|
||||
if (entry.isDirectory()) {
|
||||
@@ -85,53 +81,15 @@ public abstract class BaseDBTestCase extends BaseTest {
|
||||
d.mkdir();
|
||||
continue;
|
||||
}
|
||||
FileOutputStream fos = null;
|
||||
BufferedOutputStream dest = null;
|
||||
try {
|
||||
File o = new File(dataPath, entry.getName());
|
||||
o.createNewFile();
|
||||
fos = new FileOutputStream(o, false);
|
||||
dest = new BufferedOutputStream(fos, BUFFER_SIZE);
|
||||
byte data[] = new byte[BUFFER_SIZE];
|
||||
int count;
|
||||
while ((count = zin.read(data, 0, BUFFER_SIZE)) != -1) {
|
||||
dest.write(data, 0, count);
|
||||
}
|
||||
File o = new File(dataPath, entry.getName());
|
||||
o.createNewFile();
|
||||
try (FileOutputStream fos = new FileOutputStream(o, false);
|
||||
BufferedOutputStream dest = new BufferedOutputStream(fos, BUFFER_SIZE)) {
|
||||
IOUtils.copy(zin, dest);
|
||||
} catch (Throwable ex) {
|
||||
LOGGER.error("", ex);
|
||||
} finally {
|
||||
try {
|
||||
if (dest != null) {
|
||||
dest.flush();
|
||||
dest.close();
|
||||
}
|
||||
} catch (Throwable ex) {
|
||||
LOGGER.trace("", ex);
|
||||
}
|
||||
try {
|
||||
if (fos != null) {
|
||||
fos.close();
|
||||
}
|
||||
} catch (Throwable ex) {
|
||||
LOGGER.trace("", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
try {
|
||||
if (zin != null) {
|
||||
zin.close();
|
||||
}
|
||||
} catch (Throwable ex) {
|
||||
LOGGER.trace("", ex);
|
||||
}
|
||||
try {
|
||||
if (fis != null) {
|
||||
fis.close();
|
||||
}
|
||||
} catch (Throwable ex) {
|
||||
LOGGER.trace("", ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user