KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > jahiatemplates > org > jahia > skin_blaster > SkinDBManager


1 //
2
// ____.
3
// __/\ ______| |__/\. _______
4
// __ .____| | \ | +----+ \
5
// _______| /--| | | - \ _ | : - \_________
6
// \\______: :---| : : | : | \________>
7
// |__\---\_____________:______: :____|____:_____\
8
// /_____|
9
//
10
// . . . i n j a h i a w e t r u s t . . .
11
//
12
//--------------------------
13
// PortletsDBManager
14
//--------------------------
15
// Jerome Bedat 18.12.2000
16
//--------------------------
17

18 package jahiatemplates.org.jahia.skin_blaster;
19
20 import java.sql.Connection JavaDoc;
21 import java.sql.ResultSet JavaDoc;
22 import java.sql.SQLException JavaDoc;
23 import java.sql.Statement JavaDoc;
24
25 import org.jahia.exceptions.JahiaException;
26 import org.jahia.utils.JahiaConsole;
27
28
29 public class SkinDBManager {
30
31     private static SkinDBManager theObject = null;
32
33
34     /**
35      * SkinDBManager
36      *
37      * @author Jerome Bedat
38      *
39      */

40     private SkinDBManager()
41     {
42         JahiaConsole.println( "SkinsDBManager", "***** Starting the SkinBlaster DataBase Manager *****" );
43     } // end constructor
44

45
46     /**
47      * getInstance
48      *
49      * @author Jerome Bedat
50      *
51      */

52     public static synchronized SkinDBManager getInstance()
53     {
54         if (theObject == null) {
55             theObject = new SkinDBManager();
56         }
57         return theObject;
58     } // end getInstance
59

60
61     /**
62      * load_UserSkin
63      *
64      * @author Jerome Bedat
65      *
66      */

67     public int load_UserSkin( String JavaDoc theUserName )
68     throws JahiaException
69     {
70         Connection JavaDoc dbConn = null;
71         Statement JavaDoc stmt = null;
72         ResultSet JavaDoc rs = null;
73         int theSkinID = -1;
74
75         try {
76             // opens connection
77
dbConn = org.jahia.services.database.ConnectionDispenser.getConnection();
78             stmt = dbConn.createStatement();
79
80             // composes the query
81
String JavaDoc sqlQuery = "SELECT * FROM jahiatemplates_skin WHERE (skin_username='" + theUserName + "')";
82
83             // executes the query
84
rs = stmt.executeQuery( sqlQuery );
85
86             if (rs != null) {
87                 while (rs.next()) {
88                     theSkinID = rs.getInt("skin_id");
89                 }
90             }
91         } catch (SQLException JavaDoc se) {
92             theSkinID = -1;
93             String JavaDoc errorMsg = "Error in load_UserSkin : " + se.getMessage();
94             JahiaConsole.println( "SkinBlaster", errorMsg + " -> BAILING OUT" );
95             throw new JahiaException( "Cannot load skin data from the database",
96                                         errorMsg, JahiaException.DATABASE_ERROR, JahiaException.CRITICAL_SEVERITY );
97         } finally {
98             try {
99
100                 if ( stmt != null ) stmt.close();
101                 //if ( rs != null ) rs.close();
102
} catch ( SQLException JavaDoc ex ) {
103                 JahiaException je = new JahiaException( "Cannot free resources",
104                                         "load_UserSkin : cannot free resources",
105                                         JahiaException.DATABASE_ERROR, JahiaException.WARNING_SEVERITY );
106             }
107         }
108         if (theSkinID == -1) {
109             add_UserSkin(theUserName);
110             theSkinID = 1;
111         }
112         return theSkinID;
113
114     } // end load_UserSkin
115

116
117
118     /**
119      * update_UserSkin
120      *
121      * @author Jerome Bedat
122      *
123      */

124     public void update_UserSkin( String JavaDoc theUserName, int theSkinID )
125     throws JahiaException
126     {
127         Connection JavaDoc dbConn = null;
128         Statement JavaDoc stmt = null;
129         try {
130             // opens connection
131
dbConn = org.jahia.services.database.ConnectionDispenser.getConnection();
132             stmt = dbConn.createStatement();
133
134             // composes the query
135
String JavaDoc sqlQuery = "UPDATE jahiatemplates_skin SET ";
136             sqlQuery += "skin_id = " + theSkinID;
137             sqlQuery += " WHERE skin_username = '" + theUserName + "'";
138
139             // executes the query
140
stmt.executeUpdate(sqlQuery );
141
142         }
143         // catches error if cannot execute update query
144
catch (SQLException JavaDoc se)
145         {
146             String JavaDoc errorMsg = "Error in update_UserSkin : " + se.getMessage();
147             JahiaConsole.println( "SkinBlaster", errorMsg + " -> BAILING OUT" );
148             throw new JahiaException( "Cannot update skin in the database",
149                                         errorMsg, JahiaException.DATABASE_ERROR, JahiaException.CRITICAL_SEVERITY );
150         } finally {
151             try {
152
153                 if ( stmt != null ) stmt.close();
154             } catch ( SQLException JavaDoc ex ) {
155                 JahiaException je = new JahiaException( "Cannot free resources",
156                                         "update_UserSkin : cannot free resources",
157                                         JahiaException.DATABASE_ERROR, JahiaException.WARNING_SEVERITY );
158             }
159         }
160     } // end update_UserSkin
161

162
163     /**
164      * add_UserSkin
165      *
166      * @author Jerome Bedat
167      *
168      */

169     public void add_UserSkin( String JavaDoc theUserName )
170     throws JahiaException
171     {
172         Connection JavaDoc dbConn = null;
173         Statement JavaDoc stmt = null;
174         try {
175             // opens connection
176
dbConn = org.jahia.services.database.ConnectionDispenser.getConnection();
177             stmt = dbConn.createStatement();
178
179             // saves definition base
180
String JavaDoc sqlQuery = "INSERT INTO jahiatemplates_skin (";
181             sqlQuery += "skin_username,";
182             sqlQuery += "skin_id) VALUES (";
183             sqlQuery += "'" + theUserName + "', 1 )";
184             stmt.executeUpdate(sqlQuery );
185         }
186         // catches error if cannot execute insert query
187
catch (SQLException JavaDoc se)
188         {
189             String JavaDoc errorMsg = "Error in create_jahiatemplates_skin : " + se.getMessage();
190             JahiaConsole.println( "SkinBlaster", errorMsg + " -> BAILING OUT" );
191             throw new JahiaException( "Cannot insert new skin definitions in the database",
192                                         errorMsg, JahiaException.DATABASE_ERROR, JahiaException.CRITICAL_SEVERITY );
193
194         }
195     } // end add_UserSkin
196

197
198     /**
199      * add_UserSkin
200      *
201      * @author Jerome Bedat
202      *
203      */

204     public void consoleOutput( String JavaDoc errorMsg )
205     throws JahiaException
206     {
207         JahiaConsole.println( "SkinBlaster", errorMsg + " -> BAILING OUT" );
208     } // end add_UserSkin
209

210 }
211
Popular Tags