Clover Coverage Report
Coverage timestamp: Sa Aug 2 2008 13:56:27 CEST
../../../../../img/srcFileCovDistChart10.png 0% of files have more coverage
24   95   4   8
0   57   0,17   3
3     1,33  
1    
 
  KernelFacade       Line # 44 24 4 92,6% 0.9259259
 
  (28)
 
1    /* $Id: KernelFacade.java,v 1.1 2008/07/26 07:59:17 m31 Exp $
2    *
3    * This file is part of the project "Hilbert II" - http://www.qedeq.org
4    *
5    * Copyright 2000-2008, Michael Meyling <mime@qedeq.org>.
6    *
7    * "Hilbert II" is free software; you can redistribute
8    * it and/or modify it under the terms of the GNU General Public
9    * License as published by the Free Software Foundation; either
10    * version 2 of the License, or (at your option) any later version.
11    *
12    * This program is distributed in the hope that it will be useful,
13    * but WITHOUT ANY WARRANTY; without even the implied warranty of
14    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15    * GNU General Public License for more details.
16    */
17   
18    package org.qedeq.kernel.bo.test;
19   
20    import java.io.File;
21    import java.io.IOException;
22   
23    import org.qedeq.base.test.QedeqTestCase;
24    import org.qedeq.kernel.bo.context.KernelContext;
25    import org.qedeq.kernel.bo.log.LogListener;
26    import org.qedeq.kernel.bo.log.LogListenerImpl;
27    import org.qedeq.kernel.bo.log.ModuleEventListener;
28    import org.qedeq.kernel.bo.log.ModuleEventListenerLog;
29    import org.qedeq.kernel.bo.log.ModuleEventLog;
30    import org.qedeq.kernel.bo.log.QedeqLog;
31    import org.qedeq.kernel.bo.module.InternalKernelServices;
32    import org.qedeq.kernel.bo.module.QedeqFileDao;
33    import org.qedeq.kernel.bo.service.DefaultInternalKernelServices;
34    import org.qedeq.kernel.config.QedeqConfig;
35    import org.qedeq.kernel.xml.dao.XmlQedeqFileDao;
36   
37   
38    /**
39    * This class provides static access methods for basic informations.
40    *
41    * @version $Revision: 1.1 $
42    * @author Michael Meyling
43    */
 
44    public final class KernelFacade {
45   
46    private static KernelContext context;
47    private static LogListener log;
48    private static ModuleEventListener mod;
49   
 
50  39 toggle public static void startup() {
51  39 log = new LogListenerImpl();
52    // QedeqLog.getInstance().addLog(log);
53  39 try {
54  39 final File dir = (new QedeqTestCase() {}).getOutdir();
55  39 final File cf = new File(dir, "config/org.qedeq.properties");
56  39 cf.getParentFile().mkdirs();
57  39 cf.createNewFile();
58  39 final QedeqConfig config = new QedeqConfig(
59    // FIXME mime 20080603: remove if below is working
60    // new File(new File("../../../qedeq_gen/test"), "config/org.qedeq.properties"),
61    // "This file is part of the project *Hilbert II* - http://www.qedeq.org",
62    // new File("../../../qedeq_gen/test"));
63    cf,
64    "This file is part of the project *Hilbert II* - http://www.qedeq.org",
65    dir);
66  39 config.setAutoReloadLastSessionChecked(false);
67  39 final QedeqFileDao loader = new XmlQedeqFileDao();
68  39 final InternalKernelServices services = new DefaultInternalKernelServices(
69    KernelContext.getInstance(), loader);
70  39 KernelContext.getInstance().init(services , config);
71    } catch (IOException e) {
72  0 e.printStackTrace();
73  0 throw new RuntimeException(e);
74    }
75  39 mod = new ModuleEventListenerLog();
76  39 ModuleEventLog.getInstance().addLog(mod);
77  39 KernelContext.getInstance().startup();
78  39 context = KernelContext.getInstance();
79    }
80   
 
81  39 toggle public static void shutdown() {
82  39 KernelContext.getInstance().shutdown();
83  39 QedeqLog.getInstance().removeLog(log);
84  39 ModuleEventLog.getInstance().removeLog(mod);
85  39 context = null;
86  39 log = null;
87  39 mod = null;
88    }
89   
90   
 
91  25076 toggle public static KernelContext getKernelContext() {
92  25076 return context;
93    }
94   
95    }