[jboss-osgi-commits] JBoss-OSGI SVN: r87265 - in projects/jboss-osgi/trunk: service/remote-log/src/main/java/org/jboss/osgi/service/remlog/internal and 1 other directories.

jboss-osgi-commits at lists.jboss.org jboss-osgi-commits at lists.jboss.org
Tue Apr 14 03:34:48 EDT 2009


Author: thomas.diesler at jboss.com
Date: 2009-04-14 03:34:47 -0400 (Tue, 14 Apr 2009)
New Revision: 87265

Modified:
   projects/jboss-osgi/trunk/service/remote-log/src/main/java/org/jboss/osgi/service/remlog/RemoteLogListener.java
   projects/jboss-osgi/trunk/service/remote-log/src/main/java/org/jboss/osgi/service/remlog/internal/RemoteLogEntry.java
   projects/jboss-osgi/trunk/testsuite/src/test/java/org/jboss/test/osgi/example/log/LogServiceRemoteTestCase.java
Log:
WIP

Modified: projects/jboss-osgi/trunk/service/remote-log/src/main/java/org/jboss/osgi/service/remlog/RemoteLogListener.java
===================================================================
--- projects/jboss-osgi/trunk/service/remote-log/src/main/java/org/jboss/osgi/service/remlog/RemoteLogListener.java	2009-04-14 07:26:17 UTC (rev 87264)
+++ projects/jboss-osgi/trunk/service/remote-log/src/main/java/org/jboss/osgi/service/remlog/RemoteLogListener.java	2009-04-14 07:34:47 UTC (rev 87265)
@@ -48,11 +48,25 @@
    private String host;
    private Integer port;
    
+   private Client remotingClient;
+   
    public RemoteLogListener(BundleContext context, Properties props)
    {
       this.context = context;
       this.host = props.getProperty(RemoteLogActivator.REMOTE_LOG_HOST);
       this.port = new Integer(props.getProperty(RemoteLogActivator.REMOTE_LOG_PORT));
+      
+      // Get the remoting client 
+      try
+      {
+         String locatorURI = "socket://" + host + ":" + port;
+         InvokerLocator locator = new InvokerLocator(locatorURI);
+         remotingClient = new Client(locator);
+      }
+      catch (Exception ex)
+      {
+         ex.printStackTrace();
+      }
    }
 
    public void start()
@@ -73,6 +87,9 @@
 
    public void stop()
    {
+      System.out.println("remotingClient.disconnect");
+      remotingClient.disconnect();
+      
       LogReaderService logReader = (LogReaderService)tracker.getService();
       if (logReader != null)
          logReader.removeLogListener(this);
@@ -83,12 +100,14 @@
       RemoteLogEntry remoteEntry = new RemoteLogEntry(entry);
       try
       {
-         String locatorURI = "socket://" + host + ":" + port;
-         InvokerLocator locator = new InvokerLocator(locatorURI);
-         Client remotingClient = new Client(locator);
-         remotingClient.connect();
+         if (remotingClient.isConnected() == false)
+         {
+            System.out.println("remotingClient.connect");
+            remotingClient.connect();
+         }
+            
+         System.out.println("invoke: " + remoteEntry);
          remotingClient.invoke(remoteEntry);
-         remotingClient.disconnect();
       }
       catch (Throwable ex)
       {

Modified: projects/jboss-osgi/trunk/service/remote-log/src/main/java/org/jboss/osgi/service/remlog/internal/RemoteLogEntry.java
===================================================================
--- projects/jboss-osgi/trunk/service/remote-log/src/main/java/org/jboss/osgi/service/remlog/internal/RemoteLogEntry.java	2009-04-14 07:26:17 UTC (rev 87264)
+++ projects/jboss-osgi/trunk/service/remote-log/src/main/java/org/jboss/osgi/service/remlog/internal/RemoteLogEntry.java	2009-04-14 07:34:47 UTC (rev 87265)
@@ -106,8 +106,8 @@
    {
       String t = new SimpleDateFormat("dd-MMM-yyyy HH:mm.ss.SSS").format(new Date(time));
       String l = " " + logLevel(level);
-      String s = sref != null ? ",sref=" + sref.getBundle().getSymbolicName() : "";
-      String b = ",bnd=" + bundle.getSymbolicName();
+      String s = sref != null && sref.getBundle() != null ? ",sref=" + sref.getBundle().getSymbolicName() : "";
+      String b = bundle != null ? ",bnd=" + bundle.getSymbolicName() : "";
       String m = ",msg=" + message;
       String e = exception != null ? ",ex=" + exception : "";
       return "[" + t + l + b + s + m + e + "]";

Modified: projects/jboss-osgi/trunk/testsuite/src/test/java/org/jboss/test/osgi/example/log/LogServiceRemoteTestCase.java
===================================================================
--- projects/jboss-osgi/trunk/testsuite/src/test/java/org/jboss/test/osgi/example/log/LogServiceRemoteTestCase.java	2009-04-14 07:26:17 UTC (rev 87264)
+++ projects/jboss-osgi/trunk/testsuite/src/test/java/org/jboss/test/osgi/example/log/LogServiceRemoteTestCase.java	2009-04-14 07:34:47 UTC (rev 87265)
@@ -30,7 +30,9 @@
 import org.jboss.osgi.service.log.RemoteLogReaderService;
 import org.jboss.osgi.spi.framework.OSGiBootstrap;
 import org.jboss.osgi.spi.framework.OSGiFramework;
+import org.jboss.osgi.spi.framework.RemoteBundle;
 import org.jboss.osgi.spi.junit.IntegrationTest;
+import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.log.LogEntry;
@@ -76,24 +78,27 @@
       deployBundle("bundles/jboss-osgi-service-remote-log.jar");
       
       // Deploy the test bundle
-      deployBundle("example/example-log-bundleA.jar");
+      RemoteBundle bundleA = deployBundle("example/example-log-bundleA.jar");
       
+      // Verify that the bundle is active
+      assertEquals("Remote bundle ACTIVE", Bundle.ACTIVE, bundleA.getState());
+      
       // Undeploy the test bundle
       undeployBundle("example/example-log-bundleA.jar");
       
       // Uneploy the RemoteLogListener from the remote OSGiFramework.
       undeployBundle("bundles/jboss-osgi-service-remote-log.jar");
 
-//      System.out.println(logEntryCache.getLog());
+      System.out.println(logEntryCache.getLog());
       
       // Verify the received log entries
       List<LogEntry> entries = logEntryCache.getLog();
       assertEquals("Number of entries", 6, entries.size());
-//      assertEquals("BundleEvent RESOLVED", entries.get(1).getMessage());
-//      assertEquals("BundleEvent INSTALLED", entries.get(0).getMessage());
-//      assertEquals("[ServiceA] addingService: org.apache.felix.log.LogServiceImpl", entries.get(2).getMessage());
-//      assertEquals("BundleEvent STARTED", entries.get(3).getMessage());
-//      assertEquals("BundleEvent STOPPED", entries.get(4).getMessage());
-//      assertEquals("BundleEvent UNINSTALLED", entries.get(5).getMessage());
+      assertEquals("BundleEvent INSTALLED", entries.get(0).getMessage());
+      assertEquals("BundleEvent RESOLVED", entries.get(1).getMessage());
+      assertEquals("[ServiceA] addingService: org.apache.felix.log.LogServiceImpl", entries.get(2).getMessage());
+      assertEquals("BundleEvent STARTED", entries.get(3).getMessage());
+      assertEquals("BundleEvent STOPPED", entries.get(4).getMessage());
+      assertEquals("BundleEvent UNINSTALLED", entries.get(5).getMessage());
    }
 }
\ No newline at end of file




More information about the jboss-osgi-commits mailing list