1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package org.dbunit;
23
24 import org.dbunit.operation.DatabaseOperation;
25
26 import java.io.File;
27 import java.nio.file.Paths;
28 import java.io.FilenameFilter;
29 import java.sql.Connection;
30 import java.sql.DriverManager;
31 import java.sql.SQLException;
32
33
34
35
36
37
38 public class HypersonicEnvironment extends DatabaseEnvironment
39 {
40 public HypersonicEnvironment(DatabaseProfile profile) throws Exception
41 {
42 super(profile);
43 }
44
45 public static Connection createJdbcConnection(String databaseName)
46 throws Exception
47 {
48 Class.forName("org.hsqldb.jdbc.JDBCDriver");
49 Connection connection = DriverManager
50 .getConnection("jdbc:hsqldb:" + databaseName, "sa", "");
51 return connection;
52 }
53
54 @Override
55 public void closeConnection() throws Exception
56 {
57 DatabaseOperation.DELETE_ALL.execute(getConnection(), getInitDataSet());
58 }
59
60 public static void shutdown(Connection connection) throws SQLException
61 {
62 DdlExecutor.executeSql(connection, "SHUTDOWN IMMEDIATELY");
63 }
64
65 public static void deleteFiles(final String filename)
66 {
67 deleteFiles(Paths.get(".").toFile(), filename);
68 }
69
70 public static void deleteFiles(File directory, final String filename)
71 {
72 File[] files = directory.listFiles(new FilenameFilter()
73 {
74 public boolean accept(File dir, String name)
75 {
76 if (name.indexOf(filename) != -1)
77 {
78 return true;
79 }
80 return false;
81 }
82 });
83
84 for (int i = 0; i < files.length; i++)
85 {
86 File file = files[i];
87 file.delete();
88 }
89
90 }
91
92 }