HsqldbInMemoryDataSource.java

biz/hammurapi/sql/hsqldb/HsqldbInMemoryDataSource.java

Violations

Inspector Message Severity Location
Java Inspector 048 Copyrights information should be present in each file. 1
Java Inspector 082 Parenthesis are redundant. 2 41:29
Java Inspector 089 Constructor is not properly documented 2 51:9
Java Inspector 089 Constructor is not properly documented 2 69:9
Java Inspector 089 Undocumented parameter scriptReader 2 69:9
Java Inspector 089 Javadoc contains tag for non-existent parameter initScript 2 69:9
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 41:24
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 41:41
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 52:23
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 52:52
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 52:52
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 52:58
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 52:58
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 56:55
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 70:23
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 70:52
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 70:52
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 70:58
Java Inspector 026 Avoid hardwired string literals. Allowed literals: [] 3 70:58

Source code

1/*
2 * hgcommons 9
3 * Hammurapi Group Common Library
4 * Copyright (C) 2003 Hammurapi Group
5 *
6 * This program 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 of the License, or (at your option) any later version.
10 *
11 * This program 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 * URL: http://www.hammurapi.biz/hammurapi-biz/ef/xmenu/hammurapi-group/products/products/hgcommons/index.html
21 * e-Mail: support@hammurapi.biz
22 */
23package biz.hammurapi.sql.hsqldb;
24
25import java.io.IOException;
26import java.io.InputStream;
27import java.io.InputStreamReader;
28import java.io.Reader;
29import java.sql.SQLException;
30
31
32/**
33 * In memory Hypersonic datasource with unique name.
34 * @author Pavel Vlasov
35 * @version $Revision: 1.4 $
36 */
37public class HsqldbInMemoryDataSource extends HsqldbDataSource {
38 private static int counter;
39
40 private static String dbName() {
41 return "db"+(counter++)+"_"+Long.toString(System.currentTimeMillis(), Character.MAX_RADIX);
42 }
43
44 /**
45 * @param initScript Fully qualified name of database initialization script to be loaded by
46 * classloader. Can be null.
47 * @throws ClassNotFoundException
48 * @throws IOException
49 * @throws SQLException
50 */
51 public HsqldbInMemoryDataSource(String initScript) throws ClassNotFoundException, IOException, SQLException {
52 super("jdbc:hsqldb:mem:"+dbName(), "sa", "", null);
53 if (initScript!=null) {
54 InputStream in = getClass().getClassLoader().getResourceAsStream(initScript);
55 if (in==null) {
56 throw new IOException("Resource not found: "+initScript);
57 }
58 initDB(new InputStreamReader(in), null);
59 }
60 }
61
62 /**
63 * @param initScript Fully qualified name of database initialization script to be loaded by
64 * classloader. Can be null.
65 * @throws ClassNotFoundException
66 * @throws IOException
67 * @throws SQLException
68 */
69 public HsqldbInMemoryDataSource(Reader scriptReader) throws ClassNotFoundException, IOException, SQLException {
70 super("jdbc:hsqldb:mem:"+dbName(), "sa", "", null);
71 initDB(scriptReader, null);
72 }
73}
74