You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by pd...@apache.org on 2010/03/03 22:03:34 UTC

svn commit: r918688 - /felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/Base.java

Author: pderop
Date: Wed Mar  3 21:03:34 2010
New Revision: 918688

URL: http://svn.apache.org/viewvc?rev=918688&view=rev
Log:
Register a default LogService in order to display logs from annotation stuff

Modified:
    felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/Base.java

Modified: felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/Base.java
URL: http://svn.apache.org/viewvc/felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/Base.java?rev=918688&r1=918687&r2=918688&view=diff
==============================================================================
--- felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/Base.java (original)
+++ felix/trunk/dependencymanager/test/src/test/java/org/apache/felix/dm/test/Base.java Wed Mar  3 21:03:34 2010
@@ -19,21 +19,36 @@
 package org.apache.felix.dm.test;
 
 import java.io.File;
+import java.io.PrintWriter;
+import java.io.StringWriter;
 import java.net.URL;
 
 import org.junit.After;
+import org.junit.Before;
 import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.service.log.LogService;
 
 /**
  * Base class for all test cases.
  */
-public class Base
+public class Base implements LogService
 {
     /**
+     * Register us as a LogService
+     * @param context
+     */
+    @Before
+    public void startup(BundleContext context)
+    {
+        context.registerService(LogService.class.getName(), this, null);
+    }
+
+    /**
      * Always cleanup our bundle location file (because pax seems to forget to cleanup it)
      * @param context
      */
-    @After  
+    @After
     public void tearDown(BundleContext context)
     {
         try
@@ -46,4 +61,47 @@
             t.printStackTrace();
         }
     }
+
+    public void log(int level, String message)
+    {
+        System.out.println("[LogService/" + level + "] " + message);
+    }
+
+    public void log(int level, String message, Throwable exception)
+    {
+        StringBuilder sb = new StringBuilder();
+        sb.append("[LogService/" + level + "] ");
+        sb.append(message);
+        parse(sb, exception);
+        System.out.println(sb.toString());
+    }
+
+    public void log(ServiceReference sr, int level, String message)
+    {
+        StringBuilder sb = new StringBuilder();
+        sb.append("[LogService/" + level + "] ");
+        sb.append(message);
+        System.out.println(sb.toString());
+    }
+
+    public void log(ServiceReference sr, int level, String message, Throwable exception)
+    {
+        StringBuilder sb = new StringBuilder();
+        sb.append("[LogService/" + level + "] ");
+        sb.append(message);
+        parse(sb, exception);
+        System.out.println(sb.toString());
+    }
+
+    private void parse(StringBuilder sb, Throwable t)
+    {
+        if (t != null)
+        {
+            sb.append(" - ");
+            StringWriter buffer = new StringWriter();
+            PrintWriter pw = new PrintWriter(buffer);
+            t.printStackTrace(pw);
+            sb.append(buffer.toString());
+        }
+    }
 }