KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jcorporate > expresso > services > dbobj > DBOtherMap


1 /* ====================================================================
2  * The Jcorporate Apache Style Software License, Version 1.2 05-07-2002
3  *
4  * Copyright (c) 1995-2002 Jcorporate Ltd. All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  *
10  * 1. Redistributions of source code must retain the above copyright
11  * notice, this list of conditions and the following disclaimer.
12  *
13  * 2. Redistributions in binary form must reproduce the above copyright
14  * notice, this list of conditions and the following disclaimer in
15  * the documentation and/or other materials provided with the
16  * distribution.
17  *
18  * 3. The end-user documentation included with the redistribution,
19  * if any, must include the following acknowledgment:
20  * "This product includes software developed by Jcorporate Ltd.
21  * (http://www.jcorporate.com/)."
22  * Alternately, this acknowledgment may appear in the software itself,
23  * if and wherever such third-party acknowledgments normally appear.
24  *
25  * 4. "Jcorporate" and product names such as "Expresso" must
26  * not be used to endorse or promote products derived from this
27  * software without prior written permission. For written permission,
28  * please contact info@jcorporate.com.
29  *
30  * 5. Products derived from this software may not be called "Expresso",
31  * or other Jcorporate product names; nor may "Expresso" or other
32  * Jcorporate product names appear in their name, without prior
33  * written permission of Jcorporate Ltd.
34  *
35  * 6. No product derived from this software may compete in the same
36  * market space, i.e. framework, without prior written permission
37  * of Jcorporate Ltd. For written permission, please contact
38  * partners@jcorporate.com.
39  *
40  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
41  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
42  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
43  * DISCLAIMED. IN NO EVENT SHALL JCORPORATE LTD OR ITS CONTRIBUTORS
44  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
45  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
46  * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
47  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
48  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
49  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
50  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
51  * SUCH DAMAGE.
52  * ====================================================================
53  *
54  * This software consists of voluntary contributions made by many
55  * individuals on behalf of the Jcorporate Ltd. Contributions back
56  * to the project(s) are encouraged when you make modifications.
57  * Please send them to support@jcorporate.com. For more information
58  * on Jcorporate Ltd. and its products, please see
59  * <http://www.jcorporate.com/>.
60  *
61  * Portions of this software are based upon other open source
62  * products and are subject to their respective licenses.
63  */

64
65 package com.jcorporate.expresso.services.dbobj;
66
67 import com.jcorporate.expresso.core.db.DBException;
68 import com.jcorporate.expresso.core.dbobj.RequestContext;
69 import com.jcorporate.expresso.core.dbobj.SecuredDBObject;
70 import com.jcorporate.expresso.core.misc.ConfigManager;
71
72
73 /**
74  * DBOtherMap
75  * Tells about database objects that reside in Other Databases - e.g. somewhere
76  * other than the control database where this table is found.
77  *
78  * @author Michael Nash
79  */

80 public class DBOtherMap
81         extends SecuredDBObject {
82
83     public static final String JavaDoc DB_OBJECT_NAME = "DBObjName";
84     public static final String JavaDoc DESCRIP = "Descrip";
85     public static final String JavaDoc DB_CONN_NAME = "DBConnName";
86
87     /**
88      * Constructor
89      *
90      * @throws DBException upon initialization error
91      */

92     public DBOtherMap()
93             throws DBException {
94         super();
95     } /* DBOtherMap() */
96
97
98     /**
99      * @param uid the integer Expresso security uid
100      * @throws DBException upon initialization error
101      */

102     public DBOtherMap(int uid)
103             throws DBException {
104         super(uid);
105     }
106
107     /**
108      * For using DBObjects within Controllers. Initializes based upon the current
109      * user and the requested db. [Of course this can be modified later]
110      *
111      * @param request the request context
112      * @throws DBException upon initialization error
113      */

114     public DBOtherMap(RequestContext request)
115             throws DBException {
116         super(request);
117     }
118
119     /**
120      * Set up the database fields of this object
121      *
122      * @throws DBException If there is a problem setting up the fields
123      */

124     public void setupFields()
125             throws DBException {
126         setTargetTable("DBOTHERMAP");
127         setDescription("DBotherMap");
128         addField(DB_OBJECT_NAME, "varchar", 250, false, "dbobjName");
129         addField(DB_CONN_NAME, "char", 30, false, "context");
130         addField(DESCRIP, "varchar", 200, true, "description");
131         setStringFilter(DB_OBJECT_NAME, "stripFilter");
132         setStringFilter(DB_CONN_NAME, "stripFilter");
133         addKey(DB_OBJECT_NAME);
134     }
135
136     /**
137      * Override of DBObject.add(). Remaps the otherdb mappings when the
138      * add is complete.
139      *
140      * @throws com.jcorporate.expresso.core.db.DBException
141      * if there's an error
142      * while adding the record.
143      */

144     public synchronized void add()
145             throws com.jcorporate.expresso.core.db.DBException {
146         super.add();
147         try {
148             ConfigManager.mapOtherDBs();
149         } catch (com.jcorporate.expresso.core.misc.ConfigurationException ce) {
150             throw new DBException("Error updating the other db mappings." +
151                     " You will need to restart the servlet container" +
152                     " for changes to take affect");
153         }
154     }
155
156     /**
157      * Override of DBOBject.delete(). Remaps the otherdb mappings when
158      * the delete is complete.
159      *
160      * @throws com.jcorporate.expresso.core.db.DBException
161      * if there's an error
162      * while deleting the record.
163      */

164     public synchronized void delete()
165             throws com.jcorporate.expresso.core.db.DBException {
166         super.delete();
167         try {
168             ConfigManager.mapOtherDBs();
169         } catch (com.jcorporate.expresso.core.misc.ConfigurationException ce) {
170             throw new DBException("Error updating the other db mappings." +
171                     " You will need to restart the servlet container" +
172                     " for changes to take affect");
173         }
174     }
175
176     /**
177      * Override of DBObject.update(). Remaps the otherdb mappings when
178      * an update is complete.
179      *
180      * @throws com.jcorporate.expresso.core.db.DBException
181      * if there's an error
182      * while updating the record.
183      */

184     public synchronized void update()
185             throws com.jcorporate.expresso.core.db.DBException {
186         super.update();
187         try {
188             ConfigManager.mapOtherDBs();
189         } catch (com.jcorporate.expresso.core.misc.ConfigurationException ce) {
190             throw new DBException("Error updating the other db mappings." +
191                     " You will need to restart the servlet container" +
192                     " for changes to take affect");
193         }
194     } /* setupFields() */
195
196
197 } /* DBOtherMap */
198
199 /* DBOtherMap */
Popular Tags