View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    * 
9    *      http://www.apache.org/licenses/LICENSE-2.0
10   * 
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  package org.apache.jetspeed.anttasks;
18  
19  import org.apache.tools.ant.BuildException;
20  import org.apache.tools.ant.Task;
21  import java.sql.SQLException;
22  import java.util.Properties;
23  
24  
25  public class StopDerby 
26    extends Task {
27    
28  
29    public void execute() 
30      throws BuildException 
31      {
32  	  	if (StartDerby.getDriver(getProject()) == null)
33  		{
34  			System.out.println("Derby Driver has NOT BEEN ESTABLISHED!");
35  			return ; // already closed;
36  		}
37  		if (StartDerby.getConnection(getProject()) != null)
38  		{
39  			try
40  			{
41  				StartDerby.getConnection(getProject()).close();
42  				System.out.println("Derby Connection successfully closed!");
43  			}
44  			catch (SQLException e)
45  			{
46  				throw new BuildException(e, getLocation());
47  			}
48  			StartDerby.setConnection(getProject(),null);
49  			
50  		}
51  		else
52      		System.out.println("Derby Connection has already been closed!");
53      	
54  //    	getConnection("jdbc:derby:;shutdown=true");
55          Properties info = new Properties();
56        	info.put("shutdown",Boolean.TRUE);
57          System.out.println("Derby Driver sutting down!");
58          try
59          {
60          	StartDerby.getDriver(getProject()).connect("jdbc:derby:",info);
61      	} catch (Exception e) 
62      	{
63      		System.out.println("Derby has been shutdown!");
64          }
65  
66      	StartDerby.setDriver(getProject(),null);
67          System.out.println("Derby Driver has been shutdown!");
68       }
69    
70  }