01: /*
02: * $Header: /cvsroot/mvnforum/myvietnam/src/net/myvietnam/mvncore/service/MvnCoreServiceFactory.java,v 1.13 2007/01/15 10:31:19 dungbtm Exp $
03: * $Author: dungbtm $
04: * $Revision: 1.13 $
05: * $Date: 2007/01/15 10:31:19 $
06: *
07: * ====================================================================
08: *
09: * Copyright (C) 2002-2007 by MyVietnam.net
10: *
11: * All copyright notices regarding MyVietnam and MyVietnam CoreLib
12: * MUST remain intact in the scripts and source code.
13: *
14: * This library is free software; you can redistribute it and/or
15: * modify it under the terms of the GNU Lesser General Public
16: * License as published by the Free Software Foundation; either
17: * version 2.1 of the License, or (at your option) any later version.
18: *
19: * This library is distributed in the hope that it will be useful,
20: * but WITHOUT ANY WARRANTY; without even the implied warranty of
21: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22: * Lesser General Public License for more details.
23: *
24: * You should have received a copy of the GNU Lesser General Public
25: * License along with this library; if not, write to the Free Software
26: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
27: *
28: * Correspondence and Marketing Questions can be sent to:
29: * info at MyVietnam net
30: *
31: * @author: Trong Vo
32: */
33: package net.myvietnam.mvncore.service;
34:
35: import net.myvietnam.mvncore.MVNCoreConfig;
36: import net.myvietnam.mvncore.service.impl.MvnCoreServiceImplDefault;
37:
38: import org.apache.commons.logging.Log;
39: import org.apache.commons.logging.LogFactory;
40:
41: public class MvnCoreServiceFactory {
42:
43: private static Log log = LogFactory
44: .getLog(MvnCoreServiceFactory.class);
45:
46: private MvnCoreServiceFactory() {
47: }
48:
49: private static MvnCoreService mvnCoreService = null;
50:
51: public static synchronized MvnCoreService getMvnCoreService() {
52:
53: if (mvnCoreService == null) {
54: try {
55: Class c = Class.forName(MVNCoreConfig
56: .getMvnCoreServiceClassName());
57:
58: mvnCoreService = (MvnCoreService) c.newInstance();
59: log.info("MvnCoreService = " + mvnCoreService);
60: } catch (Exception e) {
61: log.error("Error loading the MvnCoreService.", e);
62: log
63: .warn("Error loading the MvnCoreService. Using default MvnCoreService: "
64: + MvnCoreServiceImplDefault.class
65: .getName());
66: mvnCoreService = new MvnCoreServiceImplDefault();
67: }
68: }
69: return mvnCoreService;
70: }
71:
72: }
|