Author: rotty3000
Date: Thu Jul 19 17:37:44 2018
New Revision: 1836284
URL: http://svn.apache.org/viewvc?rev=1836284&view=rev
Log:
ARIES-1814 Solve the start order limitations with SPI Fly by then eliminating
unused dependency on Log Service
Modified:
aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/BaseActivator.java
Modified:
aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/BaseActivator.java
URL:
http://svn.apache.org/viewvc/aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/BaseActivator.java?rev=1836284&r1=1836283&r2=1836284&view=diff
==============================================================================
---
aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/BaseActivator.java
(original)
+++
aries/trunk/spi-fly/spi-fly-core/src/main/java/org/apache/aries/spifly/BaseActivator.java
Thu Jul 19 17:37:44 2018
@@ -34,7 +34,8 @@ import java.util.SortedMap;
import java.util.TreeMap;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.logging.Level;
+import java.util.logging.Logger;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleActivator;
@@ -47,6 +48,7 @@ import org.osgi.util.tracker.BundleTrack
public abstract class BaseActivator implements BundleActivator {
private static final Set<WeavingData> NON_WOVEN_BUNDLE =
Collections.emptySet();
+ private static final Logger logger =
Logger.getLogger(BaseActivator.class.getName());
// Static access to the activator used by the woven code, therefore
// this bundle must be a singleton.
@@ -54,7 +56,6 @@ public abstract class BaseActivator impl
public static BaseActivator activator;
private BundleContext bundleContext;
- private List<LogService> logServices = new
CopyOnWriteArrayList<LogService>();
private BundleTracker consumerBundleTracker;
private BundleTracker providerBundleTracker;
@@ -152,18 +153,25 @@ public abstract class BaseActivator impl
}
public void log(int level, String message) {
- synchronized (logServices) {
- for (LogService log : logServices) {
- log.log(level, message);
- }
- }
+ log(level, message, null);
}
public void log(int level, String message, Throwable th) {
- synchronized (logServices) {
- for (LogService log : logServices) {
- log.log(level, message, th);
- }
+ switch (level) {
+ case LogService.LOG_ERROR:
+ logger.log(Level.SEVERE, message, th);
+ break;
+ case LogService.LOG_WARNING:
+ logger.log(Level.WARNING, message, th);
+ break;
+ case LogService.LOG_INFO:
+ logger.log(Level.INFO, message, th);
+ break;
+ case LogService.LOG_DEBUG:
+ logger.log(Level.FINE, message, th);
+ break;
+ default:
+ logger.log(Level.SEVERE, "[Unknown Level: " + level + "] " +
message, th);
}
}