aboutsummaryrefslogtreecommitdiffstats
path: root/src/com/vaadin/demo/util/SampleDatabase.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/vaadin/demo/util/SampleDatabase.java')
-rw-r--r--src/com/vaadin/demo/util/SampleDatabase.java173
1 files changed, 0 insertions, 173 deletions
diff --git a/src/com/vaadin/demo/util/SampleDatabase.java b/src/com/vaadin/demo/util/SampleDatabase.java
deleted file mode 100644
index e9238d95da..0000000000
--- a/src/com/vaadin/demo/util/SampleDatabase.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
-@ITMillApache2LicenseForJavaFiles@
- */
-
-package com.vaadin.demo.util;
-
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-
-/**
- * Creates temporary database named toolkit with sample table named employee and
- * populates it with data. By default we use HSQLDB. Ensure that you have
- * hsqldb.jar under WEB-INF/lib directory. Database is will be created into
- * memory.
- *
- * @author IT Mill Ltd.
- *
- */
-public class SampleDatabase {
-
- public static final int ROWCOUNT = 1000;
-
- private Connection connection = null;
-
- private static final String[] firstnames = new String[] { "Amanda",
- "Andrew", "Bill", "Frank", "Matt", "Xavier", "John", "Mary", "Joe",
- "Gloria", "Marcus", "Belinda", "David", "Anthony", "Julian",
- "Paul", "Carrie", "Susan", "Gregg", "Michael", "William", "Ethan",
- "Thomas", "Oscar", "Norman", "Roy", "Sarah", "Jeff", "Jane",
- "Peter", "Marc", "Josie", "Linus" };
-
- private static final String[] lastnames = new String[] { "Torvalds",
- "Smith", "Jones", "Beck", "Burton", "Bell", "Davis", "Burke",
- "Bernard", "Hood", "Scott", "Smith", "Carter", "Roller", "Conrad",
- "Martin", "Fisher", "Martell", "Freeman", "Hackman", "Jones",
- "Harper", "Russek", "Johnson", "Sheridan", "Hill", "Parker",
- "Foster", "Moss", "Fielding" };
-
- private static final String[] titles = new String[] { "Project Manager",
- "Marketing Manager", "Sales Manager", "Sales", "Trainer",
- "Technical Support", "Account Manager", "Customer Support",
- "Testing Engineer", "Software Designer", "Programmer", "Consultant" };
-
- private static final String[] units = new String[] { "Tokyo",
- "Mexico City", "Seoul", "New York", "Sao Paulo", "Bombay", "Delhi",
- "Shanghai", "Los Angeles", "London", "Shanghai", "Sydney",
- "Bangalore", "Hong Kong", "Madrid", "Milano", "Beijing", "Paris",
- "Moscow", "Berlin", "Helsinki" };
-
- /**
- * Create temporary database.
- *
- */
- public SampleDatabase() {
- // connect to SQL database
- connect();
-
- // initialize SQL database
- createTables();
-
- // test by executing sample JDBC query
- testDatabase();
- }
-
- /**
- * Creates sample table named employee and populates it with data.Use the
- * specified database connection.
- *
- * @param connection
- */
- public SampleDatabase(Connection connection) {
- // initialize SQL database
- createTables();
-
- // test by executing sample JDBC query
- testDatabase();
- }
-
- /**
- * Connect to SQL database. In this sample we use HSQLDB and an toolkit
- * named database in implicitly created into system memory.
- *
- */
- private void connect() {
- // use memory-Only Database
- final String url = "jdbc:hsqldb:mem:toolkit";
- try {
- Class.forName("org.hsqldb.jdbcDriver").newInstance();
- connection = DriverManager.getConnection(url, "sa", "");
- } catch (final Exception e) {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * use for SQL commands CREATE, DROP, INSERT and UPDATE
- *
- * @param expression
- * @throws SQLException
- */
- public void update(String expression) throws SQLException {
- Statement st = null;
- st = connection.createStatement();
- final int i = st.executeUpdate(expression);
- if (i == -1) {
- throw new SQLException("Database error : " + expression);
- }
- st.close();
- }
-
- /**
- * Create test table and few rows. Issue note: using capitalized column
- * names as HSQLDB returns column names in capitalized form with this demo.
- *
- */
- private void createTables() {
- try {
- String stmt = null;
- stmt = "CREATE TABLE employee ( ID INTEGER IDENTITY, FIRSTNAME VARCHAR(100), "
- + "LASTNAME VARCHAR(100), TITLE VARCHAR(100), UNIT VARCHAR(100) )";
- update(stmt);
- for (int j = 0; j < ROWCOUNT; j++) {
- stmt = "INSERT INTO employee(FIRSTNAME, LASTNAME, TITLE, UNIT) VALUES ("
- + "'"
- + firstnames[(int) (Math.random() * (firstnames.length - 1))]
- + "',"
- + "'"
- + lastnames[(int) (Math.random() * (lastnames.length - 1))]
- + "',"
- + "'"
- + titles[(int) (Math.random() * (titles.length - 1))]
- + "',"
- + "'"
- + units[(int) (Math.random() * (units.length - 1))]
- + "'" + ")";
- update(stmt);
- }
- } catch (final SQLException e) {
- if (e.toString().indexOf("Table already exists") == -1) {
- throw new RuntimeException(e);
- }
- }
- }
-
- /**
- * Test database connection with simple SELECT command.
- *
- */
- private String testDatabase() {
- String result = null;
- try {
- final Statement stmt = connection.createStatement(
- ResultSet.TYPE_SCROLL_INSENSITIVE,
- ResultSet.CONCUR_UPDATABLE);
- final ResultSet rs = stmt
- .executeQuery("SELECT COUNT(*) FROM employee");
- rs.next();
- result = "rowcount for table test is " + rs.getObject(1).toString();
- stmt.close();
- } catch (final SQLException e) {
- throw new RuntimeException(e);
- }
- return result;
- }
-
- public Connection getConnection() {
- return connection;
- }
-
-}