1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.jetspeed.anttasks;
18
19 import org.apache.tools.ant.BuildException;
20 import org.apache.tools.ant.taskdefs.JDBCTask;
21 import java.sql.Connection;
22 import java.sql.SQLException;
23 import java.util.Properties;
24 import org.apache.tools.ant.Project;
25
26 public class StartDatabase
27 extends JDBCTask {
28
29
30
31
32 public void execute()
33 throws BuildException
34 {
35 if (StartDerby.getDriver(getProject()) == null)
36 throw new BuildException("Derby driver not established!", getLocation());
37
38 if (StartDerby.getConnection(getProject()) != null)
39 {
40 System.out.println("Connection already established");
41 return;
42 }
43
44
45 if (getUrl() == null) {
46 throw new BuildException("Url attribute must be set!", getLocation());
47 }
48 try {
49
50 log("connecting to " + getUrl(), Project.MSG_VERBOSE);
51 Properties info = new Properties();
52 if (getUserId() != null)
53 info.put("user", getUserId());
54 if (getPassword() != null)
55 info.put("password", getPassword());
56
57 Connection conn = StartDerby.getDriver(getProject()).connect(getUrl(), info);
58 if (conn == null) {
59
60 throw new SQLException("No suitable Driver for " + getUrl());
61 }
62
63 conn.setAutoCommit(isAutocommit());
64 StartDerby.setConnection(getProject(),conn);
65 System.out.println("Derby connected to " + getUrl());
66 return;
67 } catch (SQLException e) {
68 throw new BuildException(e, getLocation());
69 }
70 }
71
72 }