KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jorm > mapper > rdb > lib > MapperJCA_JDBC


1 /**
2  * JORM: an implementation of a generic mapping system for persistent Java
3  * objects. Two mapping are supported: to RDBMS and to binary files.
4  * Copyright (C) 2001-2003 France Telecom R&D - INRIA
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19  *
20  * Contact: jorm-team@objectweb.org
21  *
22  */

23
24 package org.objectweb.jorm.mapper.rdb.lib;
25
26 import org.objectweb.jorm.lib.MapperJCA;
27 import org.objectweb.jorm.api.JormConfigurator;
28 import org.objectweb.jorm.mapper.rdb.adapter.api.RdbAdapter;
29 import org.objectweb.jorm.mapper.rdb.adapter.RdbAdapterFactory;
30 import org.objectweb.jorm.api.PException;
31 import org.objectweb.util.monolog.api.BasicLevel;
32
33 /**
34  * This mapper supports JDBC connection management through JCA.
35  * @author P. Dechamboux
36  */

37 public class MapperJCA_JDBC extends MapperJCA implements PMapperRdb {
38     private RdbAdapter adapter = null;
39
40     public MapperJCA_JDBC() throws PException {
41         super();
42     }
43
44     public MapperJCA_JDBC(JormConfigurator jc) {
45         super(jc);
46     }
47
48     /**
49      * @return the RdbAdapter instance associated to this mapper.
50      */

51     public RdbAdapter getRdbAdapter() {
52         if (adapter == null) {
53             try {
54                 String JavaDoc dbn;
55                 if (getMapperName().indexOf(".") == -1)
56                     dbn = RdbAdapterFactory.DATABASE_NAME_JDBC;
57                 else
58                     dbn = getMapperName().substring(getMapperName().indexOf(".") + 1);
59                     adapter = RdbAdapterFactory.getTypeConverter(dbn);
60             } catch (Exception JavaDoc e) {
61                 if (logger != null) {
62                     logger.log(BasicLevel.ERROR, "Impossible to find a compatible RdbAdapter:", e);
63                 } else {
64                     e.printStackTrace();
65                 }
66             }
67         }
68         return adapter;
69     }
70 }
71
Popular Tags