001/* 002 * Copyright (c) 2004-2005 QOS.ch 003 * 004 * All rights reserved. 005 * 006 * Permission is hereby granted, free of charge, to any person obtaining 007 * a copy of this software and associated documentation files (the 008 * "Software"), to deal in the Software without restriction, including 009 * without limitation the rights to use, copy, modify, merge, publish, 010 * distribute, and/or sell copies of the Software, and to permit persons 011 * to whom the Software is furnished to do so, provided that the above 012 * copyright notice(s) and this permission notice appear in all copies of 013 * the Software and that both the above copyright notice(s) and this 014 * permission notice appear in supporting documentation. 015 * 016 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 017 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 018 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT 019 * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 020 * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY 021 * SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER 022 * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF 023 * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 024 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 025 * 026 * Except as contained in this notice, the name of a copyright holder 027 * shall not be used in advertising or otherwise to promote the sale, use 028 * or other dealings in this Software without prior written authorization 029 * of the copyright holder. 030 * 031 */ 032 033package org.slf4j.osgi.logservice.impl; 034 035import java.util.Properties; 036 037import org.osgi.framework.BundleActivator; 038import org.osgi.framework.BundleContext; 039import org.osgi.framework.ServiceFactory; 040import org.osgi.service.log.LogService; 041 042/** 043 * <code>Activator</code> implements a simple bundle that registers a 044 * {@link LogServiceFactory} for the creation of {@link LogService} implementations. 045 * 046 * @author John Conlon 047 * @author Matt Bishop 048 **/ 049public class Activator implements BundleActivator { 050 /** 051 * 052 * Implements <code>BundleActivator.start()</code> to register a 053 * LogServiceFactory. 054 * 055 * @param bundleContext the framework context for the bundle 056 * @throws Exception 057 */ 058 public void start(BundleContext bundleContext) throws Exception { 059 060 Properties props = new Properties(); 061 props.put("description", "An SLF4J LogService implementation."); 062 ServiceFactory factory = new LogServiceFactory(); 063 bundleContext.registerService(LogService.class.getName(), factory, props); 064 } 065 066 /** 067 * 068 * Implements <code>BundleActivator.stop()</code>. 069 * 070 * @param bundleContext the framework context for the bundle 071 * @throws Exception 072 */ 073 public void stop(BundleContext bundleContext) throws Exception { 074 075 // Note: It is not required that we remove the service here, since 076 // the framework will do it automatically. 077 } 078}