View Javadoc
1   /*
2    *
3    * The DbUnit Database Testing Framework
4    * Copyright (C)2002-2004, DbUnit.org
5    *
6    * This library is free software; you can redistribute it and/or
7    * modify it under the terms of the GNU Lesser General Public
8    * License as published by the Free Software Foundation; either
9    * version 2.1 of the License, or (at your option) any later version.
10   *
11   * This library is distributed in the hope that it will be useful,
12   * but WITHOUT ANY WARRANTY; without even the implied warranty of
13   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14   * Lesser General Public License for more details.
15   *
16   * You should have received a copy of the GNU Lesser General Public
17   * License along with this library; if not, write to the Free Software
18   * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19   *
20   */
21  
22  package org.dbunit;
23  
24  import org.dbunit.operation.DatabaseOperation;
25  
26  import java.io.File;
27  import java.io.FilenameFilter;
28  import java.sql.Connection;
29  import java.sql.DriverManager;
30  import java.sql.SQLException;
31  
32  /**
33   * @author Manuel Laflamme
34   * @version $Revision$
35   * @since Feb 18, 2002
36   */
37  public class HypersonicEnvironment extends DatabaseEnvironment
38  {
39      public HypersonicEnvironment(DatabaseProfile profile) throws Exception
40      {
41          super(profile);
42      }
43  
44      public static Connection createJdbcConnection(String databaseName) throws Exception
45      {
46          Class.forName("org.hsqldb.jdbcDriver");
47          Connection connection = DriverManager.getConnection(
48                  "jdbc:hsqldb:" + databaseName, "sa", "");
49          return connection;
50      }
51  
52      @Override
53      public void closeConnection() throws Exception
54      {
55          DatabaseOperation.DELETE_ALL.execute(getConnection(), getInitDataSet());
56      }
57  
58      public static void shutdown(Connection connection) throws SQLException {
59          DdlExecutor.executeSql( connection, "SHUTDOWN IMMEDIATELY" );
60      }
61  
62      public static void deleteFiles(final String filename) {
63          deleteFiles(new File("."), filename);
64      }
65  
66      public static void deleteFiles(File directory, final String filename) {
67          File[] files = directory.listFiles(new FilenameFilter()
68          {
69              public boolean accept(File dir, String name)
70              {
71                  if (name.indexOf(filename) != -1)
72                  {
73                      return true;
74                  }
75                  return false;
76              }
77          });
78  
79          for (int i = 0; i < files.length; i++)
80          {
81              File file = files[i];
82              file.delete();
83          }
84  
85      }
86  
87  }
88  
89  
90