KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > killingar > forum > Install


1 /* Copyright 2000-2005 Anders Hovmöller
2  *
3  * The person or persons who have associated their work with
4  * this document (the "Dedicator") hereby dedicate the entire
5  * copyright in the work of authorship identified below (the
6  * "Work") to the public domain.
7  *
8  * Dedicator makes this dedication for the benefit of the
9  * public at large and to the detriment of Dedicator's heirs
10  * and successors. Dedicator intends this dedication to be an
11  * overt act of relinquishment in perpetuity of all present
12  * and future rights under copyright law, whether vested or
13  * contingent, in the Work. Dedicator understands that such
14  * relinquishment of all rights includes the relinquishment of
15  * all rights to enforce (by lawsuit or otherwise) those
16  * copyrights in the Work.
17  *
18  * Dedicator recognizes that, once placed in the public
19  * domain, the Work may be freely reproduced, distributed,
20  * transmitted, used, modified, built upon, or otherwise
21  * exploited by anyone for any purpose, commercial or non-
22  * commercial, and in any way, including by methods that have
23  * not yet been invented or conceived.
24  */

25
26 /**
27  * Describes an event in the planning system.
28  */

29 package net.killingar.forum;
30
31 import net.killingar.Utils;
32 import net.killingar.forum.internal.managers.AbstractManager;
33
34 import javax.naming.Context JavaDoc;
35 import javax.naming.InitialContext JavaDoc;
36 import javax.naming.NamingException JavaDoc;
37 import javax.sql.DataSource JavaDoc;
38 import java.sql.Connection JavaDoc;
39 import java.sql.SQLException JavaDoc;
40 import java.sql.Statement JavaDoc;
41
42 public class Install
43 {
44     public static final void main() throws Exception JavaDoc
45     {
46         createTables();
47     }
48
49     public static void createTables() throws java.sql.SQLException JavaDoc
50     {
51         Connection JavaDoc c = null;
52         Statement JavaDoc statement = null;
53
54         try
55         {
56             try
57             {
58                 Context JavaDoc ctx = new InitialContext JavaDoc();
59                 DataSource JavaDoc ds = (DataSource JavaDoc)ctx.lookup("java:comp/env/jdbc/SKForumDS");
60                 c = ds.getConnection();
61             }
62             catch (NamingException JavaDoc e)
63             {
64                 e.printStackTrace();
65                 throw new SQLException JavaDoc(e.getMessage());
66             }
67
68             statement = c.createStatement();
69
70             String JavaDoc[] statements = Utils.getResourceAsString("SKForum-install-"+(String JavaDoc)Utils.getProperties().get("net.killingar.forum.Install.database")+".sql").split(";");
71             for (int i = 0; i != statements.length; i++)
72             {
73                 statements[i] = statements[i].trim();
74                 try
75                 {
76                     statement.executeUpdate(statements[i]);
77                 }
78                 catch (java.sql.SQLException JavaDoc e)
79                 {
80                     System.err.println(statements[i]);
81                     e.printStackTrace();
82                 }
83             }
84         }
85         catch (java.io.IOException JavaDoc e)
86         {
87             e.printStackTrace();
88             throw new RuntimeException JavaDoc("failed to load install sql script "+e);
89         }
90         finally { AbstractManager.closeAll(c, statement, null); }
91     }
92 }
Popular Tags