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