com.atlassian.plugin.osgi.container.felix
Class FelixOsgiContainerManager

java.lang.Object
  extended by com.atlassian.plugin.osgi.container.felix.FelixOsgiContainerManager
All Implemented Interfaces:
OsgiContainerManager

public class FelixOsgiContainerManager
extends java.lang.Object
implements OsgiContainerManager

Felix implementation of the OSGi container manager


Field Summary
static java.lang.String OSGI_FRAMEWORK_BUNDLES_ZIP
           
 
Constructor Summary
FelixOsgiContainerManager(java.io.File frameworkBundlesDir, PackageScannerConfiguration packageScannerConfig, HostComponentProvider provider, PluginEventManager eventManager)
          Constructs the container manager using the framework bundles zip file located in this library
FelixOsgiContainerManager(java.net.URL frameworkBundlesZip, java.io.File frameworkBundlesDir, PackageScannerConfiguration packageScannerConfig, HostComponentProvider provider, PluginEventManager eventManager)
          Constructs the container manager
 
Method Summary
 org.osgi.framework.Bundle[] getBundles()
          Gets a list of installed bundles
 java.util.List<HostComponentRegistration> getHostComponentRegistrations()
          Gets a list of host component registrations
 org.osgi.framework.ServiceReference[] getRegisteredServices()
          Gets a list of service references
 org.osgi.util.tracker.ServiceTracker getServiceTracker(java.lang.String cls)
          Gets a service tracker to follow a service registered under a certain interface
 org.osgi.framework.Bundle installBundle(java.io.File file)
          Installs a bundle into a running OSGI container
 boolean isRunning()
           
 void onShtudown(PluginFrameworkShutdownEvent event)
           
 void onStart(PluginFrameworkStartingEvent event)
           
 void setDisableMultipleBundleVersions(boolean val)
           
 void setFelixLogger(org.apache.felix.framework.Logger logger)
           
 void start()
          Starts the OSGi container
 void stop()
          Stops the OSGi container
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OSGI_FRAMEWORK_BUNDLES_ZIP

public static final java.lang.String OSGI_FRAMEWORK_BUNDLES_ZIP
See Also:
Constant Field Values
Constructor Detail

FelixOsgiContainerManager

public FelixOsgiContainerManager(java.io.File frameworkBundlesDir,
                                 PackageScannerConfiguration packageScannerConfig,
                                 HostComponentProvider provider,
                                 PluginEventManager eventManager)
Constructs the container manager using the framework bundles zip file located in this library

Parameters:
frameworkBundlesDir - The directory to unzip the framework bundles into.
packageScannerConfig - The configuration for package scanning
provider - The host component provider. May be null.
eventManager - The plugin event manager to register for init and shutdown events

FelixOsgiContainerManager

public FelixOsgiContainerManager(java.net.URL frameworkBundlesZip,
                                 java.io.File frameworkBundlesDir,
                                 PackageScannerConfiguration packageScannerConfig,
                                 HostComponentProvider provider,
                                 PluginEventManager eventManager)
Constructs the container manager

Parameters:
frameworkBundlesZip - The location of the zip file containing framework bundles
frameworkBundlesDir - The directory to unzip the framework bundles into.
packageScannerConfig - The configuration for package scanning
provider - The host component provider. May be null.
eventManager - The plugin event manager to register for init and shutdown events
Method Detail

setFelixLogger

public void setFelixLogger(org.apache.felix.framework.Logger logger)

setDisableMultipleBundleVersions

public void setDisableMultipleBundleVersions(boolean val)

onStart

public void onStart(PluginFrameworkStartingEvent event)

onShtudown

public void onShtudown(PluginFrameworkShutdownEvent event)

start

public void start()
           throws OsgiContainerException
Description copied from interface: OsgiContainerManager
Starts the OSGi container

Specified by:
start in interface OsgiContainerManager
Throws:
OsgiContainerException - If the container cannot be started

stop

public void stop()
          throws OsgiContainerException
Description copied from interface: OsgiContainerManager
Stops the OSGi container

Specified by:
stop in interface OsgiContainerManager
Throws:
OsgiContainerException - If the container cannot be stopped

getBundles

public org.osgi.framework.Bundle[] getBundles()
Description copied from interface: OsgiContainerManager
Gets a list of installed bundles

Specified by:
getBundles in interface OsgiContainerManager
Returns:
An array of bundles

getRegisteredServices

public org.osgi.framework.ServiceReference[] getRegisteredServices()
Description copied from interface: OsgiContainerManager
Gets a list of service references

Specified by:
getRegisteredServices in interface OsgiContainerManager
Returns:
An array of service references

getServiceTracker

public org.osgi.util.tracker.ServiceTracker getServiceTracker(java.lang.String cls)
Description copied from interface: OsgiContainerManager
Gets a service tracker to follow a service registered under a certain interface

Specified by:
getServiceTracker in interface OsgiContainerManager
Parameters:
cls - The interface class as a String
Returns:
A service tracker to follow all instances of that interface

installBundle

public org.osgi.framework.Bundle installBundle(java.io.File file)
                                        throws OsgiContainerException
Description copied from interface: OsgiContainerManager
Installs a bundle into a running OSGI container

Specified by:
installBundle in interface OsgiContainerManager
Parameters:
file - The bundle file to install
Returns:
The created bundle
Throws:
OsgiContainerException - If the bundle cannot be loaded

isRunning

public boolean isRunning()
Specified by:
isRunning in interface OsgiContainerManager
Returns:
If the container is running or not

getHostComponentRegistrations

public java.util.List<HostComponentRegistration> getHostComponentRegistrations()
Description copied from interface: OsgiContainerManager
Gets a list of host component registrations

Specified by:
getHostComponentRegistrations in interface OsgiContainerManager
Returns:
A list of host component registrations


Copyright © 2008 Atlassian Pty Ltd. All Rights Reserved.