throw new IOException("the Resource " + clearDataResource + " could not be found");
}
File file;
+ logger.debug("fileUrl:" + fileUrl.toString() + "; protocol: " + fileUrl.getProtocol());
if(fileUrl.toString().startsWith("jar:file:")){
// extract file from jar into tmp folder
String millisecTimeStamp = String.valueOf(System.currentTimeMillis());
- file = copyClassPathResource(clearDataResource, System.getProperty("java.user.home") + File.separator + millisecTimeStamp);
+ file = copyClassPathResource(fileUrl, System.getProperty("java.io.tmpdir") + File.separator + millisecTimeStamp);
} else {
file = new File(fileUrl.toURI());
}
// }
}
- private void printDataSet(DbUnitDatabaseConnection dbUnitDatabaseConnection, OutputStream out, String ... tableNames) {
-
- try {
- IDataSet actualDataSet;
- if(tableNames == null){
- actualDataSet = dbUnitDatabaseConnection.createDataSet();
- } else {
- actualDataSet = dbUnitDatabaseConnection.createDataSet(tableNames);
- }
- FlatXmlDataSet.write(actualDataSet, out);
- } catch (Exception e) {
- logger.error(e);
- } finally {
- try {
- dbUnitDatabaseConnection.close();
- } catch (SQLException sqle) {
- logger.error(sqle);
- }
- }
- }
/**
* more or less 1:1 copy from {@link FileUtils#copyClassPathResource(String, String)}
* @param fileSystemDirectoryName
* @return
*/
- public File copyClassPathResource(String classPathResourceName, String fileSystemDirectoryName) {
+ public File copyClassPathResource(URL resourceURL, String fileSystemDirectoryName) {
InputStream resourceInputStream = null;
OutputStream fileOutputStream = null;
File file = null;
try {
- resourceInputStream = FileUtils.class.getResourceAsStream(classPathResourceName);
- String fileName = StringUtils.substringAfterLast(classPathResourceName, "/");
+ resourceInputStream = resourceURL.openStream();
+ String fileName = StringUtils.substringAfterLast(resourceURL.getPath(), "/");
File fileSystemDirectory = new File(fileSystemDirectoryName);
fileSystemDirectory.mkdirs();
String filePath = fileSystemDirectoryName + "/" + fileName;
return file;
}
+ @SuppressWarnings("unused")
+ private void printDataSet(DbUnitDatabaseConnection dbUnitDatabaseConnection, OutputStream out, String ... tableNames) {
+
+ try {
+ IDataSet actualDataSet;
+ if(tableNames == null){
+ actualDataSet = dbUnitDatabaseConnection.createDataSet();
+ } else {
+ actualDataSet = dbUnitDatabaseConnection.createDataSet(tableNames);
+ }
+ FlatXmlDataSet.write(actualDataSet, out);
+ } catch (Exception e) {
+ logger.error(e);
+ } finally {
+ try {
+ dbUnitDatabaseConnection.close();
+ } catch (SQLException sqle) {
+ logger.error(sqle);
+ }
+ }
+ }
}