1 /*
2 * Copyright (c) 2004-2005 QOS.ch
3 *
4 * All rights reserved.
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining
7 * a copy of this software and associated documentation files (the
8 * "Software"), to deal in the Software without restriction, including
9 * without limitation the rights to use, copy, modify, merge, publish,
10 * distribute, and/or sell copies of the Software, and to permit persons
11 * to whom the Software is furnished to do so, provided that the above
12 * copyright notice(s) and this permission notice appear in all copies of
13 * the Software and that both the above copyright notice(s) and this
14 * permission notice appear in supporting documentation.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
19 * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
20 * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY
21 * SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
22 * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
23 * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
24 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
25 *
26 * Except as contained in this notice, the name of a copyright holder
27 * shall not be used in advertising or otherwise to promote the sale, use
28 * or other dealings in this Software without prior written authorization
29 * of the copyright holder.
30 *
31 */
32
33 package org.slf4j.osgi.logservice.impl;
34
35 import java.util.Properties;
36
37 import org.osgi.framework.BundleActivator;
38 import org.osgi.framework.BundleContext;
39 import org.osgi.framework.ServiceFactory;
40 import org.osgi.service.log.LogService;
41
42 /**
43 * <code>Activator</code> implements a simple bundle that registers a
44 * {@link LogServiceFactory} for the creation of {@link LogService} implementations.
45 *
46 * @author John Conlon
47 * @author Matt Bishop
48 **/
49 public class Activator implements BundleActivator {
50 /**
51 *
52 * Implements <code>BundleActivator.start()</code> to register a
53 * LogServiceFactory.
54 *
55 * @param bundleContext the framework context for the bundle
56 * @throws Exception
57 */
58 public void start(BundleContext bundleContext) throws Exception {
59
60 Properties props = new Properties();
61 props.put("description", "An SLF4J LogService implementation.");
62 ServiceFactory factory = new LogServiceFactory();
63 bundleContext.registerService(LogService.class.getName(), factory, props);
64 }
65
66 /**
67 *
68 * Implements <code>BundleActivator.stop()</code>.
69 *
70 * @param bundleContext the framework context for the bundle
71 * @throws Exception
72 */
73 public void stop(BundleContext bundleContext) throws Exception {
74
75 // Note: It is not required that we remove the service here, since
76 // the framework will do it automatically.
77 }
78 }