[slf4j-dev] svn commit: r704 - in slf4j/trunk/slf4j-osgi-test-bundle: . src src/main src/main/java src/main/java/org src/main/java/org/slf4j src/main/java/org/slf4j/osgi src/main/java/org/slf4j/osgi/test src/main/resources src/main/resources/META-INF
jconlon at slf4j.org
jconlon at slf4j.org
Fri Feb 2 22:27:41 CET 2007
Author: jconlon
Date: Fri Feb 2 22:27:41 2007
New Revision: 704
Added:
slf4j/trunk/slf4j-osgi-test-bundle/
slf4j/trunk/slf4j-osgi-test-bundle/pom.xml
slf4j/trunk/slf4j-osgi-test-bundle/src/
slf4j/trunk/slf4j-osgi-test-bundle/src/main/
slf4j/trunk/slf4j-osgi-test-bundle/src/main/java/
slf4j/trunk/slf4j-osgi-test-bundle/src/main/java/org/
slf4j/trunk/slf4j-osgi-test-bundle/src/main/java/org/slf4j/
slf4j/trunk/slf4j-osgi-test-bundle/src/main/java/org/slf4j/osgi/
slf4j/trunk/slf4j-osgi-test-bundle/src/main/java/org/slf4j/osgi/test/
slf4j/trunk/slf4j-osgi-test-bundle/src/main/java/org/slf4j/osgi/test/Activator.java
slf4j/trunk/slf4j-osgi-test-bundle/src/main/resources/
slf4j/trunk/slf4j-osgi-test-bundle/src/main/resources/META-INF/
slf4j/trunk/slf4j-osgi-test-bundle/src/main/resources/META-INF/MANIFEST.MF
Log:
OSGi Testing bundle project.
Added: slf4j/trunk/slf4j-osgi-test-bundle/pom.xml
==============================================================================
--- (empty file)
+++ slf4j/trunk/slf4j-osgi-test-bundle/pom.xml Fri Feb 2 22:27:41 2007
@@ -0,0 +1,73 @@
+<project
+ xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <parent>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-parent</artifactId>
+ <version>1.3-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-osgi-test-bundle</artifactId>
+ <version>${parent.version}</version>
+ <packaging>jar</packaging>
+ <name>SLF4J Testing Bundle</name>
+
+ <url>http://www.slf4j.org</url>
+ <description>
+ The slf4j OSGi testing bundle.
+ </description>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-nop</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>0.8.0-incubator</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ <configuration>
+ <archive>
+ <manifestEntries>
+ <Bundle-Version>
+ 1.3.0.SNAPSHOT
+ </Bundle-Version>
+ <Bundle-Description>
+ ${project.description}
+ </Bundle-Description>
+ <Implementation-Version>
+ ${project.version}
+ </Implementation-Version>
+ </manifestEntries>
+ <manifestFile>
+ src/main/resources/META-INF/MANIFEST.MF
+ </manifestFile>
+ </archive>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
\ No newline at end of file
Added: slf4j/trunk/slf4j-osgi-test-bundle/src/main/java/org/slf4j/osgi/test/Activator.java
==============================================================================
--- (empty file)
+++ slf4j/trunk/slf4j-osgi-test-bundle/src/main/java/org/slf4j/osgi/test/Activator.java Fri Feb 2 22:27:41 2007
@@ -0,0 +1,176 @@
+/*
+ * Copyright (c) 2004-2005 SLF4J.ORG
+ *
+ * All rights reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, and/or sell copies of the Software, and to permit persons
+ * to whom the Software is furnished to do so, provided that the above
+ * copyright notice(s) and this permission notice appear in all copies of
+ * the Software and that both the above copyright notice(s) and this
+ * permission notice appear in supporting documentation.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+ * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
+ * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY
+ * SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
+ * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
+ * CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+ * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ *
+ * Except as contained in this notice, the name of a copyright holder
+ * shall not be used in advertising or otherwise to promote the sale, use
+ * or other dealings in this Software without prior written authorization
+ * of the copyright holder.
+ *
+ */
+
+package org.slf4j.osgi.test;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceEvent;
+import org.osgi.framework.ServiceListener;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Marker;
+import org.slf4j.MarkerFactory;
+
+/**
+ * <code>Activator</code> implements a simple bundle to test OSGi slf4j
+ * logging components.
+ *
+ * Upon startup, shutdown, and receiving a service event, it logs event
+ * details.
+ *
+ * On startup it logs a series of messages.
+ *
+ * @author John Conlon
+ */
+public class Activator implements BundleActivator, ServiceListener {
+
+ private final Logger log = LoggerFactory.getLogger(Activator.class);
+
+ /**
+ * Implements <code>BundleActivator.start()</code>. Logs a message adds
+ * itself to the bundle context as a service listener, and exercises the
+ * logger.
+ *
+ * @param bundleContext
+ * the framework context for the bundle
+ * @throws Exception
+ */
+ public void start(BundleContext bundleContext) throws Exception {
+ log.info("Starting to listen for service events.");
+ bundleContext.addServiceListener(this);
+
+ test1();
+ test2();
+ testNull();
+ testMarker();
+ }
+
+ /**
+ * Implements <code>BundleActivator.stop()</code>. Prints a message and
+ * removes itself from the bundle context as a service listener.
+ *
+ * @param bundleContext
+ * the framework context for the bundle
+ * @throws Exception
+ */
+ public void stop(BundleContext bundleContext) throws Exception {
+ bundleContext.removeServiceListener(this);
+ log.info("Stopped listening for service events.");
+
+ // Note: It is not required that we remove the listener here, since
+ // the framework will do it automatically anyway.
+ }
+
+ /**
+ * Implements <code>ServiceListener.serviceChanges()</code>. Logs the
+ * details of any service event from the framework.
+ *
+ * @param event
+ * the fired service event
+ */
+ public void serviceChanged(ServiceEvent event) {
+ String[] objectClass = (String[]) event.getServiceReference()
+ .getProperty("objectClass");
+ if (event.getType() == ServiceEvent.REGISTERED) {
+ log.info("SimpleBundle: Service of type {} registered.",
+ objectClass[0]);
+ } else if (event.getType() == ServiceEvent.UNREGISTERING) {
+ log.info("SimpleBundle: Service of type {} unregistered.",
+ objectClass[0]);
+ } else if (event.getType() == ServiceEvent.MODIFIED) {
+ log.info("SimpleBundle: Service of type {} modified.",
+ objectClass[0]);
+ }
+ }
+
+ public void test1() {
+ Logger logger = LoggerFactory.getLogger("test1");
+ logger.debug("Hello world.");
+ }
+
+ public void test2() {
+ Integer i1 = new Integer(1);
+ Integer i2 = new Integer(2);
+ Integer i3 = new Integer(3);
+ Exception e = new Exception("This is a test exception.");
+ Logger logger = LoggerFactory.getLogger("test2");
+
+ logger.debug("Hello world 1.");
+ logger.debug("Hello world {}", i1);
+ logger.debug("val={} val={}", i1, i2);
+ logger.debug("val={} val={} val={}", new Object[] { i1, i2, i3 });
+
+ logger.debug("Hello world 2", e);
+ logger.info("Hello world 2.");
+
+ logger.warn("Hello world 3.");
+ logger.warn("Hello world 3", e);
+
+ logger.error("Hello world 4.");
+ logger.error("Hello world {}", new Integer(3));
+ logger.error("Hello world 4.", e);
+ }
+
+ public void testNull() {
+ Logger logger = LoggerFactory.getLogger("testNull");
+ logger.debug(null);
+ logger.info(null);
+ logger.warn(null);
+ logger.error(null);
+
+ Exception e = new Exception("This is a test exception.");
+ logger.debug(null, e);
+ logger.info(null, e);
+ logger.warn(null, e);
+ logger.error(null, e);
+ }
+
+ public void testMarker() {
+ Logger logger = LoggerFactory.getLogger("testMarker");
+ Marker blue = MarkerFactory.getMarker("BLUE");
+ logger.debug(blue, "hello");
+ logger.info(blue, "hello");
+ logger.warn(blue, "hello");
+ logger.error(blue, "hello");
+
+ logger.debug(blue, "hello {}", "world");
+ logger.info(blue, "hello {}", "world");
+ logger.warn(blue, "hello {}", "world");
+ logger.error(blue, "hello {}", "world");
+
+ logger.debug(blue, "hello {} and {} ", "world", "universe");
+ logger.info(blue, "hello {} and {} ", "world", "universe");
+ logger.warn(blue, "hello {} and {} ", "world", "universe");
+ logger.error(blue, "hello {} and {} ", "world", "universe");
+ }
+}
Added: slf4j/trunk/slf4j-osgi-test-bundle/src/main/resources/META-INF/MANIFEST.MF
==============================================================================
--- (empty file)
+++ slf4j/trunk/slf4j-osgi-test-bundle/src/main/resources/META-INF/MANIFEST.MF Fri Feb 2 22:27:41 2007
@@ -0,0 +1,7 @@
+Implementation-Title: slf4j-osgi.test.bundle
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: slf4j.osgi.test.bundle
+Bundle-Name: slf4j-osgi-test-bundle
+Bundle-Vendor: SLF4J.ORG
+Import-Package: org.osgi.framework,org.slf4j;version="[1.3,1.4)"
+Bundle-Activator: org.slf4j.osgi.test.Activator
More information about the slf4j-dev
mailing list