aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/service/protocol/ProtocolProviderActivator.java
diff options
context:
space:
mode:
authorWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2017-03-11 22:15:03 +0100
committerWolfgang Wiedmeyer <wolfgit@wiedmeyer.de>2017-03-11 22:15:03 +0100
commit85901329b0794b136b96bf745f4ab1572806fc89 (patch)
treef23da7e97cae727f39d825f0fef8348cffb238e4 /src/net/java/sip/communicator/service/protocol/ProtocolProviderActivator.java
parent3db2e44f186c59429901b2c899e139ea60117a55 (diff)
parentcf5da997da8820b4050f5b87ee9440a0ede36d1f (diff)
downloadjitsi-85901329b0794b136b96bf745f4ab1572806fc89.zip
jitsi-85901329b0794b136b96bf745f4ab1572806fc89.tar.gz
jitsi-85901329b0794b136b96bf745f4ab1572806fc89.tar.bz2
Merge commit 'cf5da99'HEADmaster
Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
Diffstat (limited to 'src/net/java/sip/communicator/service/protocol/ProtocolProviderActivator.java')
-rw-r--r--src/net/java/sip/communicator/service/protocol/ProtocolProviderActivator.java586
1 files changed, 293 insertions, 293 deletions
diff --git a/src/net/java/sip/communicator/service/protocol/ProtocolProviderActivator.java b/src/net/java/sip/communicator/service/protocol/ProtocolProviderActivator.java
index 60cdf5c..a9d7c7c 100644
--- a/src/net/java/sip/communicator/service/protocol/ProtocolProviderActivator.java
+++ b/src/net/java/sip/communicator/service/protocol/ProtocolProviderActivator.java
@@ -1,4 +1,4 @@
-/*
+/*
* Jitsi, the OpenSource Java VoIP and Instant Messaging client.
*
* Copyright @ 2015 Atlassian Pty Ltd
@@ -15,295 +15,295 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package net.java.sip.communicator.service.protocol;
-
-import net.java.sip.communicator.service.calendar.*;
-import net.java.sip.communicator.util.*;
-
-import org.jitsi.service.configuration.*;
-import org.jitsi.service.resources.*;
-import org.osgi.framework.*;
-
-import java.util.*;
-
-/**
- * Implements <code>BundleActivator</code> for the purposes of
- * protocol.jar/protocol.provider.manifest.mf and in order to register and start
- * services independent of the specifics of a particular protocol.
- *
- * @author Lubomir Marinov
- * @author Yana Stamcheva
- */
-public class ProtocolProviderActivator
- implements BundleActivator
-{
- /**
- * The object used for logging.
- */
- private final static Logger logger
- = Logger.getLogger(ProtocolProviderActivator.class);
-
- /**
- * The <code>ServiceRegistration</code> of the <code>AccountManager</code>
- * implementation registered as a service by this activator and cached so
- * that the service in question can be properly disposed of upon stopping
- * this activator.
- */
- private ServiceRegistration accountManagerServiceRegistration;
-
- /**
- * The account manager.
- */
- private static AccountManager accountManager;
-
- /**
- * The <code>BundleContext</code> of the one and only
- * <code>ProtocolProviderActivator</code> instance which is currently
- * started.
- */
- private static BundleContext bundleContext;
-
- /**
- * The <code>ConfigurationService</code> used by the classes in the bundle
- * represented by <code>ProtocolProviderActivator</code>.
- */
- private static ConfigurationService configurationService;
-
- /**
- * The resource service through which we obtain localized strings.
- */
- private static ResourceManagementService resourceService;
-
- /**
- * The calendar service instance.
- */
- private static CalendarService calendarService;
-
- /**
- * The <code>SingleCallInProgressPolicy</code> making sure that the
- * <code>Call</code>s accessible in the <code>BundleContext</code> of this
- * activator will obey to the rule that a new <code>Call</code> should put
- * the other existing <code>Call</code>s on hold.
- */
- private SingleCallInProgressPolicy singleCallInProgressPolicy;
-
- /**
- * Gets the <code>ConfigurationService</code> to be used by the classes in
- * the bundle represented by <code>ProtocolProviderActivator</code>.
- *
- * @return the <code>ConfigurationService</code> to be used by the classes
- * in the bundle represented by
- * <code>ProtocolProviderActivator</code>
- */
- public static ConfigurationService getConfigurationService()
- {
- if (configurationService == null)
- {
- configurationService
- = (ConfigurationService)
- bundleContext.getService(
- bundleContext.getServiceReference(
- ConfigurationService.class.getName()));
- }
- return configurationService;
- }
-
- /**
- * Gets the <code>ResourceManagementService</code> to be used by the classes
- * in the bundle represented by <code>ProtocolProviderActivator</code>.
- *
- * @return the <code>ResourceManagementService</code> to be used by the
- * classes in the bundle represented by
- * <code>ProtocolProviderActivator</code>
- */
- public static ResourceManagementService getResourceService()
- {
- if (resourceService == null)
- {
- resourceService
- = (ResourceManagementService)
- bundleContext.getService(
- bundleContext.getServiceReference(
- ResourceManagementService.class.getName()));
- }
- return resourceService;
- }
-
- /**
- * Gets the <code>CalendarService</code> to be used by the classes
- * in the bundle represented by <code>ProtocolProviderActivator</code>.
- *
- * @return the <code>CalendarService</code> to be used by the
- * classes in the bundle represented by
- * <code>ProtocolProviderActivator</code>
- */
- public static CalendarService getCalendarService()
- {
- if (calendarService == null)
- {
- ServiceReference serviceReference
- = bundleContext.getServiceReference(
- CalendarService.class.getName());
- if(serviceReference == null)
- return null;
- calendarService
- = (CalendarService)
- bundleContext.getService(serviceReference);
- }
- return calendarService;
- }
-
- /**
- * Returns a <tt>ProtocolProviderFactory</tt> for a given protocol
- * provider.
- * @param protocolName the name of the protocol, which factory we're
- * looking for
- * @return a <tt>ProtocolProviderFactory</tt> for a given protocol
- * provider
- */
- public static ProtocolProviderFactory getProtocolProviderFactory(
- String protocolName)
- {
- String osgiFilter
- = "(" + ProtocolProviderFactory.PROTOCOL + "=" + protocolName + ")";
- ProtocolProviderFactory protocolProviderFactory = null;
-
- try
- {
- ServiceReference[] serRefs
- = bundleContext.getServiceReferences(
- ProtocolProviderFactory.class.getName(),
- osgiFilter);
-
- if ((serRefs != null) && (serRefs.length != 0))
- {
- protocolProviderFactory
- = (ProtocolProviderFactory)
- bundleContext.getService(serRefs[0]);
- }
- }
- catch (InvalidSyntaxException ex)
- {
- if (logger.isInfoEnabled())
- logger.info("ProtocolProviderActivator : " + ex);
- }
-
- return protocolProviderFactory;
- }
-
- /**
- * Registers a new <code>AccountManagerImpl</code> instance as an
- * <code>AccountManager</code> service and starts a new
- * <code>SingleCallInProgressPolicy</code> instance to ensure that only one
- * of the <code>Call</code>s accessible in the <code>BundleContext</code>
- * in which this activator is to execute will be in progress and the others
- * will automatically be put on hold.
- *
- * @param bundleContext the <code>BundleContext</code> in which the bundle
- * activation represented by this <code>BundleActivator</code>
- * executes
- */
- public void start(BundleContext bundleContext)
- {
- ProtocolProviderActivator.bundleContext = bundleContext;
-
- accountManager = new AccountManager(bundleContext);
- accountManagerServiceRegistration =
- bundleContext.registerService(AccountManager.class.getName(),
- accountManager, null);
- if(logger.isTraceEnabled())
- {
- logger.trace("ProtocolProviderActivator will create "
- + "SingleCallInProgressPolicy instance.");
- }
-
- singleCallInProgressPolicy =
- new SingleCallInProgressPolicy(bundleContext);
- }
-
- /**
- * Unregisters the <code>AccountManagerImpl</code> instance registered as an
- * <code>AccountManager</code> service in {@link #start(BundleContext)} and
- * stops the <code>SingleCallInProgressPolicy</code> started there as well.
- *
- * @param bundleContext the <code>BundleContext</code> in which the bundle
- * activation represented by this <code>BundleActivator</code>
- * executes
- */
- public void stop(BundleContext bundleContext)
- {
- if (accountManagerServiceRegistration != null)
- {
- accountManagerServiceRegistration.unregister();
- accountManagerServiceRegistration = null;
- accountManager = null;
- }
-
- if (singleCallInProgressPolicy != null)
- {
- singleCallInProgressPolicy.dispose();
- singleCallInProgressPolicy = null;
- }
-
- if (bundleContext.equals(ProtocolProviderActivator.bundleContext))
- ProtocolProviderActivator.bundleContext = null;
-
- configurationService = null;
- resourceService = null;
- }
-
- /**
- * Returns all protocol providers currently registered.
- * @return all protocol providers currently registered.
- */
- public static List<ProtocolProviderService>
- getProtocolProviders()
- {
- ServiceReference[] serRefs = null;
- try
- {
- // get all registered provider factories
- serRefs = bundleContext.getServiceReferences(
- ProtocolProviderService.class.getName(),
- null);
- }
- catch (InvalidSyntaxException e)
- {
- logger.error("ProtocolProviderActivator : " + e);
- }
-
- List<ProtocolProviderService>
- providersList = new ArrayList<ProtocolProviderService>();
-
- if (serRefs != null)
- {
- for (ServiceReference serRef : serRefs)
- {
- ProtocolProviderService pp
- = (ProtocolProviderService)bundleContext.getService(serRef);
-
- providersList.add(pp);
- }
- }
- return providersList;
- }
-
- /**
- * Get the <tt>AccountManager</tt> of the protocol.
- *
- * @return <tt>AccountManager</tt> of the protocol
- */
- public static AccountManager getAccountManager()
- {
- return accountManager;
- }
-
- /**
- * Returns OSGI bundle context.
- * @return OSGI bundle context.
- */
- public static BundleContext getBundleContext()
- {
- return bundleContext;
- }
-}
+package net.java.sip.communicator.service.protocol;
+
+import net.java.sip.communicator.service.calendar.*;
+import net.java.sip.communicator.util.*;
+
+import org.jitsi.service.configuration.*;
+import org.jitsi.service.resources.*;
+import org.osgi.framework.*;
+
+import java.util.*;
+
+/**
+ * Implements <code>BundleActivator</code> for the purposes of
+ * protocol.jar/protocol.provider.manifest.mf and in order to register and start
+ * services independent of the specifics of a particular protocol.
+ *
+ * @author Lubomir Marinov
+ * @author Yana Stamcheva
+ */
+public class ProtocolProviderActivator
+ implements BundleActivator
+{
+ /**
+ * The object used for logging.
+ */
+ private final static Logger logger
+ = Logger.getLogger(ProtocolProviderActivator.class);
+
+ /**
+ * The <code>ServiceRegistration</code> of the <code>AccountManager</code>
+ * implementation registered as a service by this activator and cached so
+ * that the service in question can be properly disposed of upon stopping
+ * this activator.
+ */
+ private ServiceRegistration accountManagerServiceRegistration;
+
+ /**
+ * The account manager.
+ */
+ private static AccountManager accountManager;
+
+ /**
+ * The <code>BundleContext</code> of the one and only
+ * <code>ProtocolProviderActivator</code> instance which is currently
+ * started.
+ */
+ private static BundleContext bundleContext;
+
+ /**
+ * The <code>ConfigurationService</code> used by the classes in the bundle
+ * represented by <code>ProtocolProviderActivator</code>.
+ */
+ private static ConfigurationService configurationService;
+
+ /**
+ * The resource service through which we obtain localized strings.
+ */
+ private static ResourceManagementService resourceService;
+
+ /**
+ * The calendar service instance.
+ */
+ private static CalendarService calendarService;
+
+ /**
+ * The <code>SingleCallInProgressPolicy</code> making sure that the
+ * <code>Call</code>s accessible in the <code>BundleContext</code> of this
+ * activator will obey to the rule that a new <code>Call</code> should put
+ * the other existing <code>Call</code>s on hold.
+ */
+ private SingleCallInProgressPolicy singleCallInProgressPolicy;
+
+ /**
+ * Gets the <code>ConfigurationService</code> to be used by the classes in
+ * the bundle represented by <code>ProtocolProviderActivator</code>.
+ *
+ * @return the <code>ConfigurationService</code> to be used by the classes
+ * in the bundle represented by
+ * <code>ProtocolProviderActivator</code>
+ */
+ public static ConfigurationService getConfigurationService()
+ {
+ if (configurationService == null)
+ {
+ configurationService
+ = (ConfigurationService)
+ bundleContext.getService(
+ bundleContext.getServiceReference(
+ ConfigurationService.class.getName()));
+ }
+ return configurationService;
+ }
+
+ /**
+ * Gets the <code>ResourceManagementService</code> to be used by the classes
+ * in the bundle represented by <code>ProtocolProviderActivator</code>.
+ *
+ * @return the <code>ResourceManagementService</code> to be used by the
+ * classes in the bundle represented by
+ * <code>ProtocolProviderActivator</code>
+ */
+ public static ResourceManagementService getResourceService()
+ {
+ if (resourceService == null)
+ {
+ resourceService
+ = (ResourceManagementService)
+ bundleContext.getService(
+ bundleContext.getServiceReference(
+ ResourceManagementService.class.getName()));
+ }
+ return resourceService;
+ }
+
+ /**
+ * Gets the <code>CalendarService</code> to be used by the classes
+ * in the bundle represented by <code>ProtocolProviderActivator</code>.
+ *
+ * @return the <code>CalendarService</code> to be used by the
+ * classes in the bundle represented by
+ * <code>ProtocolProviderActivator</code>
+ */
+ public static CalendarService getCalendarService()
+ {
+ if (calendarService == null)
+ {
+ ServiceReference serviceReference
+ = bundleContext.getServiceReference(
+ CalendarService.class.getName());
+ if(serviceReference == null)
+ return null;
+ calendarService
+ = (CalendarService)
+ bundleContext.getService(serviceReference);
+ }
+ return calendarService;
+ }
+
+ /**
+ * Returns a <tt>ProtocolProviderFactory</tt> for a given protocol
+ * provider.
+ * @param protocolName the name of the protocol, which factory we're
+ * looking for
+ * @return a <tt>ProtocolProviderFactory</tt> for a given protocol
+ * provider
+ */
+ public static ProtocolProviderFactory getProtocolProviderFactory(
+ String protocolName)
+ {
+ String osgiFilter
+ = "(" + ProtocolProviderFactory.PROTOCOL + "=" + protocolName + ")";
+ ProtocolProviderFactory protocolProviderFactory = null;
+
+ try
+ {
+ ServiceReference[] serRefs
+ = bundleContext.getServiceReferences(
+ ProtocolProviderFactory.class.getName(),
+ osgiFilter);
+
+ if ((serRefs != null) && (serRefs.length != 0))
+ {
+ protocolProviderFactory
+ = (ProtocolProviderFactory)
+ bundleContext.getService(serRefs[0]);
+ }
+ }
+ catch (InvalidSyntaxException ex)
+ {
+ if (logger.isInfoEnabled())
+ logger.info("ProtocolProviderActivator : " + ex);
+ }
+
+ return protocolProviderFactory;
+ }
+
+ /**
+ * Registers a new <code>AccountManagerImpl</code> instance as an
+ * <code>AccountManager</code> service and starts a new
+ * <code>SingleCallInProgressPolicy</code> instance to ensure that only one
+ * of the <code>Call</code>s accessible in the <code>BundleContext</code>
+ * in which this activator is to execute will be in progress and the others
+ * will automatically be put on hold.
+ *
+ * @param bundleContext the <code>BundleContext</code> in which the bundle
+ * activation represented by this <code>BundleActivator</code>
+ * executes
+ */
+ public void start(BundleContext bundleContext)
+ {
+ ProtocolProviderActivator.bundleContext = bundleContext;
+
+ accountManager = new AccountManager(bundleContext);
+ accountManagerServiceRegistration =
+ bundleContext.registerService(AccountManager.class.getName(),
+ accountManager, null);
+ if(logger.isTraceEnabled())
+ {
+ logger.trace("ProtocolProviderActivator will create "
+ + "SingleCallInProgressPolicy instance.");
+ }
+
+ singleCallInProgressPolicy =
+ new SingleCallInProgressPolicy(bundleContext);
+ }
+
+ /**
+ * Unregisters the <code>AccountManagerImpl</code> instance registered as an
+ * <code>AccountManager</code> service in {@link #start(BundleContext)} and
+ * stops the <code>SingleCallInProgressPolicy</code> started there as well.
+ *
+ * @param bundleContext the <code>BundleContext</code> in which the bundle
+ * activation represented by this <code>BundleActivator</code>
+ * executes
+ */
+ public void stop(BundleContext bundleContext)
+ {
+ if (accountManagerServiceRegistration != null)
+ {
+ accountManagerServiceRegistration.unregister();
+ accountManagerServiceRegistration = null;
+ accountManager = null;
+ }
+
+ if (singleCallInProgressPolicy != null)
+ {
+ singleCallInProgressPolicy.dispose();
+ singleCallInProgressPolicy = null;
+ }
+
+ if (bundleContext.equals(ProtocolProviderActivator.bundleContext))
+ ProtocolProviderActivator.bundleContext = null;
+
+ configurationService = null;
+ resourceService = null;
+ }
+
+ /**
+ * Returns all protocol providers currently registered.
+ * @return all protocol providers currently registered.
+ */
+ public static List<ProtocolProviderService>
+ getProtocolProviders()
+ {
+ ServiceReference[] serRefs = null;
+ try
+ {
+ // get all registered provider factories
+ serRefs = bundleContext.getServiceReferences(
+ ProtocolProviderService.class.getName(),
+ null);
+ }
+ catch (InvalidSyntaxException e)
+ {
+ logger.error("ProtocolProviderActivator : " + e);
+ }
+
+ List<ProtocolProviderService>
+ providersList = new ArrayList<ProtocolProviderService>();
+
+ if (serRefs != null)
+ {
+ for (ServiceReference serRef : serRefs)
+ {
+ ProtocolProviderService pp
+ = (ProtocolProviderService)bundleContext.getService(serRef);
+
+ providersList.add(pp);
+ }
+ }
+ return providersList;
+ }
+
+ /**
+ * Get the <tt>AccountManager</tt> of the protocol.
+ *
+ * @return <tt>AccountManager</tt> of the protocol
+ */
+ public static AccountManager getAccountManager()
+ {
+ return accountManager;
+ }
+
+ /**
+ * Returns OSGI bundle context.
+ * @return OSGI bundle context.
+ */
+ public static BundleContext getBundleContext()
+ {
+ return bundleContext;
+ }
+}