Bug 486950 - [osgi R7] log service is being updated

Update various LogTrackers to no longer implement LogService to
avoid compilation errors.

Change-Id: Ie983f4cb18aef1d897d2fb7a3eccc0c47f07d91c
Signed-off-by: Thomas Watson <tjwatson@us.ibm.com>
diff --git a/bundles/org.eclipse.equinox.coordinator/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.coordinator/META-INF/MANIFEST.MF
index 2ed0157..603ef9e 100644
--- a/bundles/org.eclipse.equinox.coordinator/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.coordinator/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %bundleName
 Bundle-SymbolicName: org.eclipse.equinox.coordinator
-Bundle-Version: 1.3.300.qualifier
+Bundle-Version: 1.3.400.qualifier
 Bundle-Activator: org.eclipse.equinox.coordinator.Activator
 Bundle-Vendor: %bundleVendor
 Import-Package: org.eclipse.osgi.util;version="[1.1,2.0)",
diff --git a/bundles/org.eclipse.equinox.coordinator/pom.xml b/bundles/org.eclipse.equinox.coordinator/pom.xml
index 00bbec6..d2021bf 100644
--- a/bundles/org.eclipse.equinox.coordinator/pom.xml
+++ b/bundles/org.eclipse.equinox.coordinator/pom.xml
@@ -19,7 +19,7 @@
   </parent>
   <groupId>org.eclipse.equinox</groupId>
   <artifactId>org.eclipse.equinox.coordinator</artifactId>
-  <version>1.3.300-SNAPSHOT</version>
+  <version>1.3.400-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   <build>
     <plugins>
diff --git a/bundles/org.eclipse.equinox.coordinator/src/org/eclipse/equinox/coordinator/CoordinationImpl.java b/bundles/org.eclipse.equinox.coordinator/src/org/eclipse/equinox/coordinator/CoordinationImpl.java
index ceeef42..de34038 100644
--- a/bundles/org.eclipse.equinox.coordinator/src/org/eclipse/equinox/coordinator/CoordinationImpl.java
+++ b/bundles/org.eclipse.equinox.coordinator/src/org/eclipse/equinox/coordinator/CoordinationImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2014 IBM Corporation and others.
+ * Copyright (c) 2010, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -391,7 +391,7 @@
 		return referent;
 	}
 
-	LogService getLogService() {
+	LogTracker getLogService() {
 		return coordinator.getLogService();
 	}
 
diff --git a/bundles/org.eclipse.equinox.coordinator/src/org/eclipse/equinox/coordinator/CoordinatorImpl.java b/bundles/org.eclipse.equinox.coordinator/src/org/eclipse/equinox/coordinator/CoordinatorImpl.java
index 4e4127c..b6bc48d 100644
--- a/bundles/org.eclipse.equinox.coordinator/src/org/eclipse/equinox/coordinator/CoordinatorImpl.java
+++ b/bundles/org.eclipse.equinox.coordinator/src/org/eclipse/equinox/coordinator/CoordinatorImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2010, 2013 IBM Corporation and others.
+ * Copyright (c) 2010, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -90,15 +90,15 @@
 
 	private final Bundle bundle;
 	private final List<CoordinationImpl> coordinations;
-	private final LogService logService;
+	private final LogTracker logTracker;
 	private final long maxTimeout;
 	private final Timer timer;
 
 	private boolean shutdown;
 
-	public CoordinatorImpl(Bundle bundle, LogService logService, Timer timer, long maxTimeout) {
+	public CoordinatorImpl(Bundle bundle, LogTracker logService, Timer timer, long maxTimeout) {
 		this.bundle = bundle;
-		this.logService = logService;
+		this.logTracker = logService;
 		this.timer = timer;
 		coordinations = new ArrayList<CoordinationImpl>();
 		if (maxTimeout < 0)
@@ -128,7 +128,7 @@
 		// Override the requested timeout with the max timeout, if necessary.
 		if (maxTimeout != 0) {
 			if (timeout == 0 || maxTimeout < timeout) {
-				logService.log(LogService.LOG_WARNING, NLS.bind(Messages.MaximumTimeout, new Object[]{timeout, maxTimeout, name}));
+				logTracker.log(LogService.LOG_WARNING, NLS.bind(Messages.MaximumTimeout, new Object[]{timeout, maxTimeout, name}));
 				timeout = maxTimeout;
 			}
 		}
@@ -179,7 +179,7 @@
 			try {
 				checkPermission(CoordinationPermission.ADMIN, result.getName());
 			} catch (SecurityException e) {
-				logService.log(LogService.LOG_DEBUG, NLS.bind(Messages.GetCoordinationNotPermitted, new Object[]{Thread.currentThread(), result.getName(), result.getId()}), e);
+				logTracker.log(LogService.LOG_DEBUG, NLS.bind(Messages.GetCoordinationNotPermitted, new Object[]{Thread.currentThread(), result.getName(), result.getId()}), e);
 				result = null;
 			}
 		}
@@ -200,7 +200,7 @@
 					checkPermission(CoordinationPermission.ADMIN, coordination.getName());
 					result.add(coordination.getReferent());
 				} catch (SecurityException e) {
-					logService.log(LogService.LOG_DEBUG, NLS.bind(Messages.GetCoordinationNotPermitted, new Object[]{Thread.currentThread(), coordination.getName(), coordination.getId()}), e);
+					logTracker.log(LogService.LOG_DEBUG, NLS.bind(Messages.GetCoordinationNotPermitted, new Object[]{Thread.currentThread(), coordination.getName(), coordination.getId()}), e);
 				}
 			}
 		}
@@ -250,8 +250,8 @@
 		return bundle;
 	}
 
-	LogService getLogService() {
-		return logService;
+	LogTracker getLogService() {
+		return logTracker;
 	}
 	
 	long getMaxTimeout() {
@@ -263,7 +263,7 @@
 		try {
 			Timer.class.getMethod("purge", (Class<?>[]) null).invoke(timer, (Object[]) null); //$NON-NLS-1$
 		} catch (Exception e) {
-			logService.log(LogService.LOG_DEBUG, Messages.CanceledTaskNotPurged, e);
+			logTracker.log(LogService.LOG_DEBUG, Messages.CanceledTaskNotPurged, e);
 		}
 	}
 
diff --git a/bundles/org.eclipse.equinox.coordinator/src/org/eclipse/equinox/coordinator/LogTracker.java b/bundles/org.eclipse.equinox.coordinator/src/org/eclipse/equinox/coordinator/LogTracker.java
index 9ee7179..e24be4c 100644
--- a/bundles/org.eclipse.equinox.coordinator/src/org/eclipse/equinox/coordinator/LogTracker.java
+++ b/bundles/org.eclipse.equinox.coordinator/src/org/eclipse/equinox/coordinator/LogTracker.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 1998, 2013 IBM Corporation and others.
+ * Copyright (c) 1998, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -24,7 +24,7 @@
  * and handles all issues such as the service coming and going.
  */
 
-public class LogTracker extends ServiceTracker<LogService, LogService> implements LogService {
+public class LogTracker extends ServiceTracker<LogService, LogService> {
 	/** LogService interface class name */
 	protected final static String clazz = "org.osgi.service.log.LogService"; //$NON-NLS-1$
 
@@ -56,11 +56,12 @@
 		log(null, level, message, exception);
 	}
 
-	public void log(ServiceReference reference, int level, String message) {
+	public void log(ServiceReference<?> reference, int level, String message) {
 		log(reference, level, message, null);
 	}
 
-	public synchronized void log(ServiceReference reference, int level, String message, Throwable exception) {
+	@SuppressWarnings("deprecation")
+	public synchronized void log(ServiceReference<?> reference, int level, String message, Throwable exception) {
 		ServiceReference<LogService>[] references = getServiceReferences();
 
 		if (references != null) {
@@ -91,6 +92,7 @@
 	 * @param throwable Log exception or null if none.
 	 * @param reference ServiceReference associated with message or null if none.
 	 */
+	@SuppressWarnings("deprecation")
 	protected void noLogService(int level, String message, Throwable throwable, ServiceReference<?> reference) {
 		if (out != null) {
 			synchronized (out) {
@@ -100,22 +102,22 @@
 				out.print(timestamp + " "); //$NON-NLS-1$
 
 				switch (level) {
-					case LOG_DEBUG : {
+					case LogService.LOG_DEBUG : {
 						out.print(LogTrackerMsg.Debug);
 
 						break;
 					}
-					case LOG_INFO : {
+					case LogService.LOG_INFO : {
 						out.print(LogTrackerMsg.Info);
 
 						break;
 					}
-					case LOG_WARNING : {
+					case LogService.LOG_WARNING : {
 						out.print(LogTrackerMsg.Warning);
 
 						break;
 					}
-					case LOG_ERROR : {
+					case LogService.LOG_ERROR : {
 						out.print(LogTrackerMsg.Error);
 
 						break;
diff --git a/bundles/org.eclipse.equinox.device/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.device/META-INF/MANIFEST.MF
index 6932c89..d06ed3f 100644
--- a/bundles/org.eclipse.equinox.device/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.device/META-INF/MANIFEST.MF
@@ -1,6 +1,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %bundleName
-Bundle-Version: 1.0.400.qualifier
+Bundle-Version: 1.0.500.qualifier
 Bundle-Activator: org.eclipse.equinox.device.Activator
 Bundle-SymbolicName: org.eclipse.equinox.device
 Bundle-Vendor: %bundleVendor
diff --git a/bundles/org.eclipse.equinox.device/pom.xml b/bundles/org.eclipse.equinox.device/pom.xml
index 872ff2f..f9a5762 100644
--- a/bundles/org.eclipse.equinox.device/pom.xml
+++ b/bundles/org.eclipse.equinox.device/pom.xml
@@ -19,6 +19,6 @@
   </parent>
   <groupId>org.eclipse.equinox</groupId>
   <artifactId>org.eclipse.equinox.device</artifactId>
-  <version>1.0.400-SNAPSHOT</version>
+  <version>1.0.500-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/DeviceTracker.java b/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/DeviceTracker.java
index 32b77d4..2a7a691 100644
--- a/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/DeviceTracker.java
+++ b/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/DeviceTracker.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * Copyright (c) 2000, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -33,7 +33,7 @@
 	protected ServiceReference device;
 
 	/** LogService object */
-	protected LogService log;
+	protected LogTracker log;
 
 	/** Device services properties */
 	protected Dictionary properties;
diff --git a/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/DriverLocatorTracker.java b/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/DriverLocatorTracker.java
index 45e83a1..ebbc37c 100644
--- a/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/DriverLocatorTracker.java
+++ b/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/DriverLocatorTracker.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2007 IBM Corporation and others.
+ * Copyright (c) 2000, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -30,7 +30,7 @@
 	protected Activator manager;
 
 	/** LogService object */
-	protected LogService log;
+	protected LogTracker log;
 
 	/** List of bundles to be uninstalled. */
 	protected Vector bundles;
diff --git a/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/DriverSelectorTracker.java b/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/DriverSelectorTracker.java
index ba5782a..c34f6df 100644
--- a/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/DriverSelectorTracker.java
+++ b/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/DriverSelectorTracker.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * Copyright (c) 2000, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -25,7 +25,7 @@
 	protected final static String clazz = "org.osgi.service.device.DriverSelector"; //$NON-NLS-1$
 
 	/** LogService object */
-	protected LogService log;
+	protected LogTracker log;
 
 	/** DeviceManager object. */
 	protected Activator manager;
diff --git a/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/DriverTracker.java b/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/DriverTracker.java
index 2b7a7f8..a05e64b 100644
--- a/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/DriverTracker.java
+++ b/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/DriverTracker.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * Copyright (c) 2000, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -30,7 +30,7 @@
 	protected final static String clazz = "org.osgi.service.device.Driver"; //$NON-NLS-1$
 
 	/** LogService object */
-	protected LogService log;
+	protected LogTracker log;
 
 	/** Dictionary mapping DRIVER_ID strings <==> Driver ServiceReferences */
 	protected Hashtable drivers;
diff --git a/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/LogTracker.java b/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/LogTracker.java
index 44b58ba..4586f1c 100644
--- a/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/LogTracker.java
+++ b/bundles/org.eclipse.equinox.device/src/org/eclipse/equinox/device/LogTracker.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 1998, 2006 IBM Corporation and others.
+ * Copyright (c) 1998, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -23,7 +23,7 @@
  * and handles all issues such as the service coming and going.
  */
 
-public class LogTracker extends ServiceTracker implements LogService {
+public class LogTracker extends ServiceTracker {
 	/** LogService interface class name */
 	protected final static String clazz = "org.osgi.service.log.LogService"; //$NON-NLS-1$
 
@@ -107,29 +107,29 @@
 				out.print(timestamp + " "); //$NON-NLS-1$
 
 				switch (level) {
-					case LOG_DEBUG : {
+					case LogService.LOG_DEBUG : {
 						out.print("Debug: "); //$NON-NLS-1$
 
 						break;
 					}
-					case LOG_INFO : {
-						out.print(LogTrackerMsg.Info); 
+					case LogService.LOG_INFO : {
+						out.print(LogTrackerMsg.Info);
 
 						break;
 					}
-					case LOG_WARNING : {
+					case LogService.LOG_WARNING : {
 						out.print(LogTrackerMsg.Warning);
 
 						break;
 					}
-					case LOG_ERROR : {
+					case LogService.LOG_ERROR : {
 						out.print(LogTrackerMsg.Error);
 
 						break;
 					}
 					default : {
 						out.print("["); //$NON-NLS-1$
-						out.print(LogTrackerMsg.Unknown_Log_level);         
+						out.print(LogTrackerMsg.Unknown_Log_level);
 						out.print("]: "); //$NON-NLS-1$
 
 						break;
diff --git a/bundles/org.eclipse.equinox.event/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.event/META-INF/MANIFEST.MF
index 145df0a..08d1d59 100644
--- a/bundles/org.eclipse.equinox.event/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.event/META-INF/MANIFEST.MF
@@ -1,6 +1,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %bundleName
-Bundle-Version: 1.4.0.qualifier
+Bundle-Version: 1.4.100.qualifier
 Bundle-SymbolicName: org.eclipse.equinox.event
 Bundle-Activator: org.eclipse.equinox.internal.event.Activator
 Import-Package: org.eclipse.osgi.framework.eventmgr;version="1.1.0",
diff --git a/bundles/org.eclipse.equinox.event/pom.xml b/bundles/org.eclipse.equinox.event/pom.xml
index a1d1575..4dbcb55 100644
--- a/bundles/org.eclipse.equinox.event/pom.xml
+++ b/bundles/org.eclipse.equinox.event/pom.xml
@@ -19,6 +19,6 @@
   </parent>
   <groupId>org.eclipse.equinox</groupId>
   <artifactId>org.eclipse.equinox.event</artifactId>
-  <version>1.4.0-SNAPSHOT</version>
+  <version>1.4.100-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.equinox.event/src/org/eclipse/equinox/internal/event/EventHandlerTracker.java b/bundles/org.eclipse.equinox.event/src/org/eclipse/equinox/internal/event/EventHandlerTracker.java
index 23bb0ba..63f08a6 100644
--- a/bundles/org.eclipse.equinox.event/src/org/eclipse/equinox/internal/event/EventHandlerTracker.java
+++ b/bundles/org.eclipse.equinox.event/src/org/eclipse/equinox/internal/event/EventHandlerTracker.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2010 IBM Corporation and others.
+ * Copyright (c) 2007, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -18,12 +18,11 @@
 import org.osgi.framework.ServiceReference;
 import org.osgi.service.event.Event;
 import org.osgi.service.event.EventHandler;
-import org.osgi.service.log.LogService;
 import org.osgi.util.tracker.ServiceTracker;
 
 public class EventHandlerTracker extends ServiceTracker<EventHandler, EventHandlerWrapper> implements EventDispatcher<EventHandlerWrapper, Permission, Event> {
 
-	private final LogService log;
+	private final LogTracker log;
 	//* List<EventHandlerWrapper> of all handlers with topic of "*"
 	private final List<EventHandlerWrapper> globalWildcard;
 	// Map<String,List<EventHandlerWrapper>> key is topic prefix of partial wildcard
@@ -31,7 +30,7 @@
 	// Map<String,List<EventHandlerWrapper>> key is topic name
 	private final Map<String, List<EventHandlerWrapper>> topicName;
 
-	public EventHandlerTracker(BundleContext context, LogService log) {
+	public EventHandlerTracker(BundleContext context, LogTracker log) {
 		super(context, EventHandler.class.getName(), null);
 		this.log = log;
 		globalWildcard = new ArrayList<EventHandlerWrapper>();
diff --git a/bundles/org.eclipse.equinox.event/src/org/eclipse/equinox/internal/event/EventHandlerWrapper.java b/bundles/org.eclipse.equinox.event/src/org/eclipse/equinox/internal/event/EventHandlerWrapper.java
index 309c98f..d9ba8ef 100644
--- a/bundles/org.eclipse.equinox.event/src/org/eclipse/equinox/internal/event/EventHandlerWrapper.java
+++ b/bundles/org.eclipse.equinox.event/src/org/eclipse/equinox/internal/event/EventHandlerWrapper.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2007, 2015 IBM Corporation and others.
+ * Copyright (c) 2007, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -25,7 +25,7 @@
  */
 public class EventHandlerWrapper {
 	final ServiceReference<EventHandler> reference;
-	private final LogService log;
+	private final LogTracker log;
 	final BundleContext context;
 	private EventHandler handler;
 	private String[] topics;
@@ -38,7 +38,7 @@
 	 * @param context Bundle Context of the Event Admin bundle
 	 * @param log LogService object for logging
 	 */
-	public EventHandlerWrapper(ServiceReference<EventHandler> reference, BundleContext context, LogService log) {
+	public EventHandlerWrapper(ServiceReference<EventHandler> reference, BundleContext context, LogTracker log) {
 		this.reference = reference;
 		this.context = context;
 		this.log = log;
diff --git a/bundles/org.eclipse.equinox.event/src/org/eclipse/equinox/internal/event/LogTracker.java b/bundles/org.eclipse.equinox.event/src/org/eclipse/equinox/internal/event/LogTracker.java
index 06a5221..4374b05 100644
--- a/bundles/org.eclipse.equinox.event/src/org/eclipse/equinox/internal/event/LogTracker.java
+++ b/bundles/org.eclipse.equinox.event/src/org/eclipse/equinox/internal/event/LogTracker.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 1998, 2013 IBM Corporation and others.
+ * Copyright (c) 1998, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -23,7 +23,7 @@
  * and handles all issues such as the service coming and going.
  */
 
-public class LogTracker extends ServiceTracker<LogService, LogService> implements LogService {
+public class LogTracker extends ServiceTracker<LogService, LogService> {
 	/** LogService interface class name */
 	protected final static String clazz = "org.osgi.service.log.LogService"; //$NON-NLS-1$
 
@@ -55,11 +55,12 @@
 		log(null, level, message, exception);
 	}
 
-	public void log(ServiceReference reference, int level, String message) {
+	public void log(ServiceReference<?> reference, int level, String message) {
 		log(reference, level, message, null);
 	}
 
-	public synchronized void log(ServiceReference reference, int level, String message, Throwable exception) {
+	@SuppressWarnings("deprecation")
+	public synchronized void log(ServiceReference<?> reference, int level, String message, Throwable exception) {
 		ServiceReference<LogService>[] references = getServiceReferences();
 
 		if (references != null) {
@@ -90,6 +91,7 @@
 	 * @param throwable Log exception or null if none.
 	 * @param reference ServiceReference associated with message or null if none.
 	 */
+	@SuppressWarnings("deprecation")
 	protected void noLogService(int level, String message, Throwable throwable, ServiceReference<?> reference) {
 		if (out != null) {
 			synchronized (out) {
@@ -99,22 +101,22 @@
 				out.print(timestamp + " "); //$NON-NLS-1$
 
 				switch (level) {
-					case LOG_DEBUG : {
+					case LogService.LOG_DEBUG : {
 						out.print(LogTrackerMsg.Debug);
 
 						break;
 					}
-					case LOG_INFO : {
+					case LogService.LOG_INFO : {
 						out.print(LogTrackerMsg.Info);
 
 						break;
 					}
-					case LOG_WARNING : {
+					case LogService.LOG_WARNING : {
 						out.print(LogTrackerMsg.Warning);
 
 						break;
 					}
-					case LOG_ERROR : {
+					case LogService.LOG_ERROR : {
 						out.print(LogTrackerMsg.Error);
 
 						break;
diff --git a/bundles/org.eclipse.equinox.metatype/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.metatype/META-INF/MANIFEST.MF
index cab5357..1225e0d 100644
--- a/bundles/org.eclipse.equinox.metatype/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.metatype/META-INF/MANIFEST.MF
@@ -1,6 +1,6 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %bundleName
-Bundle-Version: 1.4.300.qualifier
+Bundle-Version: 1.4.400.qualifier
 Bundle-SymbolicName: org.eclipse.equinox.metatype
 Bundle-Activator: org.eclipse.equinox.metatype.impl.Activator
 Import-Package: javax.xml.parsers,
diff --git a/bundles/org.eclipse.equinox.metatype/pom.xml b/bundles/org.eclipse.equinox.metatype/pom.xml
index 338711d..7a0c07e 100644
--- a/bundles/org.eclipse.equinox.metatype/pom.xml
+++ b/bundles/org.eclipse.equinox.metatype/pom.xml
@@ -19,7 +19,7 @@
   </parent>
   <groupId>org.eclipse.equinox</groupId>
   <artifactId>org.eclipse.equinox.metatype</artifactId>
-  <version>1.4.300-SNAPSHOT</version>
+  <version>1.4.400-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
   <build>
     <plugins>
diff --git a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/Activator.java b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/Activator.java
index 3daf3f4..2a47863 100644
--- a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/Activator.java
+++ b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/Activator.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2011 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -10,11 +10,10 @@
  *******************************************************************************/
 package org.eclipse.equinox.metatype.impl;
 
-import org.eclipse.equinox.metatype.EquinoxMetaTypeService;
-
 import java.util.Dictionary;
 import java.util.Hashtable;
 import javax.xml.parsers.SAXParserFactory;
+import org.eclipse.equinox.metatype.EquinoxMetaTypeService;
 import org.osgi.framework.*;
 import org.osgi.service.cm.ManagedService;
 import org.osgi.service.log.LogService;
@@ -95,14 +94,14 @@
 
 	private class SAXParserFactoryTrackerCustomizer implements ServiceTrackerCustomizer<SAXParserFactory, SAXParserFactory> {
 		private final BundleContext bundleCtx;
-		private final LogService logService;
+		private final LogTracker logService;
 		private final ServiceTracker<Object, Object> mtpTracker;
 
 		private MetaTypeServiceImpl metaTypeService;
 		private ServiceRegistration<?> metaTypeServiceRegistration;
 		private SAXParserFactory saxParserFactory;
 
-		public SAXParserFactoryTrackerCustomizer(BundleContext bundleContext, LogService logService, ServiceTracker<Object, Object> metaTypeProviderTracker) {
+		public SAXParserFactoryTrackerCustomizer(BundleContext bundleContext, LogTracker logService, ServiceTracker<Object, Object> metaTypeProviderTracker) {
 			this.bundleCtx = bundleContext;
 			this.logService = logService;
 			this.mtpTracker = metaTypeProviderTracker;
@@ -125,8 +124,8 @@
 				else if (saxParserFactory.isNamespaceAware()) {
 					return parserFactory;
 				} else if (parserFactory.isNamespaceAware() || // Previous factory not set for namespace awareness but the new one is case.
-						// Now the fun case. Neither factory is set for namespace awareness. Need to see if we're currently using 
-						// a factory incapable of creating namespace aware parsers and, if so, if it can be replaced with the new one.
+				// Now the fun case. Neither factory is set for namespace awareness. Need to see if we're currently using 
+				// a factory incapable of creating namespace aware parsers and, if so, if it can be replaced with the new one.
 						(!supportsNamespaceAwareness(saxParserFactory) && supportsNamespaceAwareness(parserFactory))) {
 					oldFactory = saxParserFactory;
 					saxParserFactory = parserFactory;
diff --git a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/AttributeDefinitionImpl.java b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/AttributeDefinitionImpl.java
index 2e671d6..1765181 100644
--- a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/AttributeDefinitionImpl.java
+++ b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/AttributeDefinitionImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -33,17 +33,17 @@
 	Vector<String> _values = new Vector<String>(7);
 	Vector<String> _labels = new Vector<String>(7);
 
-	private final LogService logger;
+	private final LogTracker logger;
 	private final ExtendableHelper helper;
 
 	/**
 	 * Constructor of class AttributeDefinitionImpl.
 	 */
-	public AttributeDefinitionImpl(String id, String name, String description, int type, int cardinality, Object min, Object max, boolean isRequired, String localization, LogService logger, Map<String, Map<String, String>> extensionAttributes) {
+	public AttributeDefinitionImpl(String id, String name, String description, int type, int cardinality, Object min, Object max, boolean isRequired, String localization, LogTracker logger, Map<String, Map<String, String>> extensionAttributes) {
 		this(id, name, description, type, cardinality, min, max, isRequired, localization, logger, new ExtendableHelper(extensionAttributes));
 	}
 
-	private AttributeDefinitionImpl(String id, String name, String description, int type, int cardinality, Object min, Object max, boolean isRequired, String localization, LogService logger, ExtendableHelper helper) {
+	private AttributeDefinitionImpl(String id, String name, String description, int type, int cardinality, Object min, Object max, boolean isRequired, String localization, LogTracker logger, ExtendableHelper helper) {
 		super(localization);
 		this._id = id;
 		this._name = name;
diff --git a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/DataParser.java b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/DataParser.java
index 5128d9a..a4fb715 100644
--- a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/DataParser.java
+++ b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/DataParser.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2014 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -83,13 +83,13 @@
 	String _dp_localization;
 
 	// Default visibility to avoid a plethora of synthetic accessor method warnings.
-	final LogService logger;
+	final LogTracker logger;
 	final Collection<Designate> designates = new ArrayList<Designate>(7);
 
 	/*
 	 * Constructor of class DataParser.
 	 */
-	public DataParser(Bundle bundle, URL url, SAXParser parser, LogService logger) {
+	public DataParser(Bundle bundle, URL url, SAXParser parser, LogTracker logger) {
 
 		this._dp_bundle = bundle;
 		this._dp_url = url;
diff --git a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/LogTracker.java b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/LogTracker.java
index d23b467..f7e794c 100644
--- a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/LogTracker.java
+++ b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/LogTracker.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 1998, 2013 IBM Corporation and others.
+ * Copyright (c) 1998, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -23,7 +23,7 @@
  * and handles all issues such as the service coming and going.
  */
 
-public class LogTracker extends ServiceTracker<LogService, LogService> implements LogService {
+public class LogTracker extends ServiceTracker<LogService, LogService> {
 	/** LogService interface class name */
 	protected final static String clazz = "org.osgi.service.log.LogService"; //$NON-NLS-1$
 
@@ -55,11 +55,12 @@
 		log(null, level, message, exception);
 	}
 
-	public void log(ServiceReference reference, int level, String message) {
+	public void log(ServiceReference<?> reference, int level, String message) {
 		log(reference, level, message, null);
 	}
 
-	public synchronized void log(ServiceReference reference, int level, String message, Throwable exception) {
+	@SuppressWarnings("deprecation")
+	public synchronized void log(ServiceReference<?> reference, int level, String message, Throwable exception) {
 		ServiceReference<LogService>[] references = getServiceReferences();
 
 		if (references != null) {
@@ -90,6 +91,7 @@
 	 * @param throwable Log exception or null if none.
 	 * @param reference ServiceReference associated with message or null if none.
 	 */
+	@SuppressWarnings("deprecation")
 	protected void noLogService(int level, String message, Throwable throwable, ServiceReference<?> reference) {
 		if (out != null) {
 			synchronized (out) {
@@ -99,22 +101,22 @@
 				out.print(timestamp + " "); //$NON-NLS-1$
 
 				switch (level) {
-					case LOG_DEBUG : {
+					case LogService.LOG_DEBUG : {
 						out.print(LogTrackerMsg.Debug);
 
 						break;
 					}
-					case LOG_INFO : {
+					case LogService.LOG_INFO : {
 						out.print(LogTrackerMsg.Info);
 
 						break;
 					}
-					case LOG_WARNING : {
+					case LogService.LOG_WARNING : {
 						out.print(LogTrackerMsg.Warning);
 
 						break;
 					}
-					case LOG_ERROR : {
+					case LogService.LOG_ERROR : {
 						out.print(LogTrackerMsg.Error);
 
 						break;
diff --git a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/MetaTypeInformationImpl.java b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/MetaTypeInformationImpl.java
index a9780ff..a88ec19 100644
--- a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/MetaTypeInformationImpl.java
+++ b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/MetaTypeInformationImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2011 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -10,13 +10,11 @@
  *******************************************************************************/
 package org.eclipse.equinox.metatype.impl;
 
-import org.eclipse.equinox.metatype.EquinoxMetaTypeInformation;
-
 import java.util.Enumeration;
 import java.util.Vector;
 import javax.xml.parsers.SAXParser;
+import org.eclipse.equinox.metatype.EquinoxMetaTypeInformation;
 import org.osgi.framework.Bundle;
-import org.osgi.service.log.LogService;
 
 /**
  * Implementation of MetaTypeProvider
@@ -33,7 +31,7 @@
 	/**
 	 * Constructor of class MetaTypeInformationImpl.
 	 */
-	MetaTypeInformationImpl(Bundle bundle, SAXParser parser, LogService logger) {
+	MetaTypeInformationImpl(Bundle bundle, SAXParser parser, LogTracker logger) {
 		super(bundle, parser, logger);
 	}
 
diff --git a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/MetaTypeProviderImpl.java b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/MetaTypeProviderImpl.java
index 333b10a..3ef511d 100644
--- a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/MetaTypeProviderImpl.java
+++ b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/MetaTypeProviderImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -45,12 +45,12 @@
 	boolean _isThereMeta = false;
 
 	// Give access to subclasses.
-	protected final LogService logger;
+	protected final LogTracker logger;
 
 	/**
 	 * Constructor of class MetaTypeProviderImpl.
 	 */
-	MetaTypeProviderImpl(Bundle bundle, SAXParser parser, LogService logger) {
+	MetaTypeProviderImpl(Bundle bundle, SAXParser parser, LogTracker logger) {
 
 		this._bundle = bundle;
 		this.logger = logger;
diff --git a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/MetaTypeProviderTracker.java b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/MetaTypeProviderTracker.java
index 71fcb49..e599bd5 100644
--- a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/MetaTypeProviderTracker.java
+++ b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/MetaTypeProviderTracker.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -25,7 +25,7 @@
 
 public class MetaTypeProviderTracker implements EquinoxMetaTypeInformation {
 	private final Bundle _bundle;
-	private final LogService log;
+	private final LogTracker log;
 	private final ServiceTracker<Object, Object> _tracker;
 
 	/**
@@ -35,7 +35,7 @@
 	 * @param bundle The bundle to track all MetaTypeProviders for.
 	 * @param log The {@code LogService} to use for logging messages.
 	 */
-	public MetaTypeProviderTracker(Bundle bundle, LogService log, ServiceTracker<Object, Object> tracker) {
+	public MetaTypeProviderTracker(Bundle bundle, LogTracker log, ServiceTracker<Object, Object> tracker) {
 		this._bundle = bundle;
 		this._tracker = tracker;
 		this.log = log;
diff --git a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/MetaTypeServiceImpl.java b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/MetaTypeServiceImpl.java
index 127de74..afae7ce 100644
--- a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/MetaTypeServiceImpl.java
+++ b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/MetaTypeServiceImpl.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -30,13 +30,13 @@
 	SAXParserFactory _parserFactory;
 	private Hashtable<Long, EquinoxMetaTypeInformation> _mtps = new Hashtable<Long, EquinoxMetaTypeInformation>(7);
 
-	private final LogService logger;
+	private final LogTracker logger;
 	private final ServiceTracker<Object, Object> metaTypeProviderTracker;
 
 	/**
 	 * Constructor of class MetaTypeServiceImpl.
 	 */
-	public MetaTypeServiceImpl(SAXParserFactory parserFactory, LogService logger, ServiceTracker<Object, Object> metaTypeProviderTracker) {
+	public MetaTypeServiceImpl(SAXParserFactory parserFactory, LogTracker logger, ServiceTracker<Object, Object> metaTypeProviderTracker) {
 		this._parserFactory = parserFactory;
 		this.logger = logger;
 		this.metaTypeProviderTracker = metaTypeProviderTracker;
@@ -56,7 +56,7 @@
 	 */
 	private EquinoxMetaTypeInformation getMetaTypeProvider(final Bundle b) {
 		// Avoid synthetic accessor method warnings.
-		final LogService loggerTemp = this.logger;
+		final LogTracker loggerTemp = this.logger;
 		final ServiceTracker<Object, Object> tracker = this.metaTypeProviderTracker;
 		Long bID = Long.valueOf(b.getBundleId());
 		synchronized (_mtps) {
diff --git a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/ValueTokenizer.java b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/ValueTokenizer.java
index 4f374ba..2dfdfb6 100644
--- a/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/ValueTokenizer.java
+++ b/bundles/org.eclipse.equinox.metatype/src/org/eclipse/equinox/metatype/impl/ValueTokenizer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation and others.
+ * Copyright (c) 2005, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -21,13 +21,13 @@
 	private static final char DELIMITER = ',';
 	private static final char ESCAPE = '\\';
 
-	private final LogService logger;
+	private final LogTracker logger;
 	private final List<String> values = new ArrayList<String>();
 
 	/*
 	 * Constructor of class ValueTokenizer
 	 */
-	public ValueTokenizer(String values_str, LogService logger) {
+	public ValueTokenizer(String values_str, LogTracker logger) {
 		this.logger = logger;
 		if (values_str == null)
 			return;
diff --git a/bundles/org.eclipse.equinox.region.tests/src/org/eclipse/equinox/region/internal/tests/hook/RegionServiceFindHookTests.java b/bundles/org.eclipse.equinox.region.tests/src/org/eclipse/equinox/region/internal/tests/hook/RegionServiceFindHookTests.java
index 91f8796..95ca098 100644
--- a/bundles/org.eclipse.equinox.region.tests/src/org/eclipse/equinox/region/internal/tests/hook/RegionServiceFindHookTests.java
+++ b/bundles/org.eclipse.equinox.region.tests/src/org/eclipse/equinox/region/internal/tests/hook/RegionServiceFindHookTests.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2011, 2015 VMware Inc.
+ * Copyright (c) 2011, 2017 VMware Inc.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -137,6 +137,11 @@
 			public int compareTo(Object reference) {
 				return 1;
 			}
+
+			@Override
+			public Dictionary<String, Object> getProperties() {
+				return new Hashtable<>();
+			}
 		};
 		this.candidates.add(ref);
 
diff --git a/bundles/org.eclipse.equinox.transforms.hook/New Format Transformer Launch.launch b/bundles/org.eclipse.equinox.transforms.hook/New Format Transformer Launch.launch
index b7c0b34..03f7eab 100644
--- a/bundles/org.eclipse.equinox.transforms.hook/New Format Transformer Launch.launch
+++ b/bundles/org.eclipse.equinox.transforms.hook/New Format Transformer Launch.launch
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
 <booleanAttribute key="askclear" value="true"/>
 <booleanAttribute key="automaticAdd" value="true"/>
@@ -13,16 +13,19 @@
 <booleanAttribute key="includeOptional" value="true"/>
 <stringAttribute key="location" value="${workspace_loc}/../xslt_transform_workspace"/>
 <booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jre1.5.0_11"/>
+<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/Java SE 8 [1.8.0_131]"/>
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-console"/>
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
 <stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.framework.extensions=org.eclipse.equinox.transforms.hook"/>
 <stringAttribute key="pde.version" value="3.3"/>
 <stringAttribute key="product" value="org.eclipse.sdk.ide"/>
-<stringAttribute key="selected_target_plugins" value="com.ibm.icu,javax.servlet,org.apache.ant,org.apache.commons.logging,org.apache.lucene,org.apache.lucene.analysis,org.eclipse.ant.core,org.eclipse.ant.ui,org.eclipse.compare,org.eclipse.core.commands,org.eclipse.core.contenttype,org.eclipse.core.expressions,org.eclipse.core.filebuffers,org.eclipse.core.filesystem,org.eclipse.core.filesystem.win32.x86,org.eclipse.core.jobs,org.eclipse.core.net,org.eclipse.core.resources,org.eclipse.core.resources.compatibility,org.eclipse.core.resources.win32.x86,org.eclipse.core.runtime,org.eclipse.core.runtime.compatibility,org.eclipse.core.runtime.compatibility.auth,org.eclipse.core.runtime.compatibility.registry,org.eclipse.core.variables,org.eclipse.debug.core,org.eclipse.debug.ui,org.eclipse.equinox.app,org.eclipse.equinox.common,org.eclipse.equinox.http.jetty,org.eclipse.equinox.http.servlet,org.eclipse.equinox.preferences,org.eclipse.equinox.registry,org.eclipse.help,org.eclipse.help.appserver,org.eclipse.help.base,org.eclipse.help.ui,org.eclipse.jdt.compiler.apt,org.eclipse.jdt.compiler.tool,org.eclipse.jdt.core,org.eclipse.jdt.core.manipulation,org.eclipse.jdt.debug,org.eclipse.jdt.debug.ui,org.eclipse.jdt.junit,org.eclipse.jdt.junit.runtime,org.eclipse.jdt.launching,org.eclipse.jdt.ui,org.eclipse.jface,org.eclipse.jface.text,org.eclipse.ltk.core.refactoring,org.eclipse.ltk.ui.refactoring,org.eclipse.pde.build,org.eclipse.pde.core,org.eclipse.pde.runtime,org.eclipse.pde.ui,org.eclipse.sdk,org.eclipse.search,org.eclipse.swt,org.eclipse.team.core,org.eclipse.team.ui,org.eclipse.text,org.eclipse.ui,org.eclipse.ui.cheatsheets,org.eclipse.ui.console,org.eclipse.ui.editors,org.eclipse.ui.externaltools,org.eclipse.ui.forms,org.eclipse.ui.ide,org.eclipse.ui.intro,org.eclipse.ui.navigator,org.eclipse.ui.navigator.resources,org.eclipse.ui.views,org.eclipse.ui.views.log,org.eclipse.ui.views.properties.tabbed,org.eclipse.ui.workbench,org.eclipse.ui.workbench.texteditor,org.eclipse.update.configurator,org.eclipse.update.core,org.eclipse.update.core.win32,org.eclipse.update.ui,org.junit,org.mortbay.jetty"/>
+<stringAttribute key="selected_target_plugins" value="com.ibm.icu@default:default,javax.servlet*2.5.0.v200910301333@default:default,javax.servlet*3.1.0.v201410161800@default:default,org.apache.ant@default:default,org.apache.commons.logging@default:default,org.eclipse.ant.core@default:default,org.eclipse.ant.ui@default:default,org.eclipse.compare@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.debug.core@default:default,org.eclipse.debug.ui@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.help.base@default:default,org.eclipse.help.ui@default:default,org.eclipse.help@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.jdt.core@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.pde.build@default:default,org.eclipse.pde.core@default:default,org.eclipse.pde.runtime@default:default,org.eclipse.pde.ui@default:default,org.eclipse.sdk@default:default,org.eclipse.search@default:default,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ui.console@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@3:true,org.eclipse.update.core@default:default,org.eclipse.update.ui@default:default,org.junit@default:default"/>
+<stringAttribute key="selected_workspace_plugins" value="org.eclipse.core.tests.harness@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi.tests@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.cm.test@default:default,org.eclipse.equinox.cm@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.compendium.tests@default:default,org.eclipse.equinox.concurrent@default:default,org.eclipse.equinox.console@default:default,org.eclipse.equinox.coordinator@default:default,org.eclipse.equinox.device@default:default,org.eclipse.equinox.ds.tests@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.frameworkadmin.test@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.http.jetty.starter@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet.tests@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.http.servletbridge@default:default,org.eclipse.equinox.io@default:default,org.eclipse.equinox.ip@default:default,org.eclipse.equinox.jsp.jasper.registry@default:default,org.eclipse.equinox.jsp.jasper@default:default,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.metatype@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.installer@default:default,org.eclipse.equinox.p2.reconciler.dropins@default:default,org.eclipse.equinox.p2.tests.verifier@default:default,org.eclipse.equinox.p2.tests@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.region.tests@default:default,org.eclipse.equinox.region@default:false,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.macosx@default:false,org.eclipse.equinox.security.tests@default:default,org.eclipse.equinox.security.ui@default:default,org.eclipse.equinox.security@default:default,org.eclipse.equinox.servletbridge.extensionbundle@default:false,org.eclipse.equinox.servletbridge.template@default:default,org.eclipse.equinox.servletbridge@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.slf4j.stub@default:default,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.transforms.xslt@default:default,org.eclipse.equinox.useradmin@default:default,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.caching.j9@default:default,org.eclipse.equinox.weaving.caching@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.equinox.wireadmin@default:default,org.eclipse.osgi.compatibility.plugins@default:false,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.tests@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.test.performance@default:default,org.eclipse.ua.tests@default:default"/>
 <booleanAttribute key="show_selected_only" value="false"/>
 <stringAttribute key="templateConfig" value="${workspace_loc:org.eclipse.equinox.transforms.xslt.plugin/config.ini}"/>
 <booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
 <booleanAttribute key="useDefaultConfig" value="false"/>
 <booleanAttribute key="useDefaultConfigArea" value="true"/>
 <booleanAttribute key="useProduct" value="true"/>
diff --git a/bundles/org.eclipse.equinox.useradmin/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.useradmin/META-INF/MANIFEST.MF
index c6bc460..c3246f4 100644
--- a/bundles/org.eclipse.equinox.useradmin/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.useradmin/META-INF/MANIFEST.MF
@@ -1,7 +1,7 @@
 Manifest-Version: 1.0
 Bundle-ManifestVersion: 2
 Bundle-Vendor: %bundleVendor
-Bundle-Version: 1.1.400.qualifier
+Bundle-Version: 1.1.500.qualifier
 Bundle-Activator: org.eclipse.equinox.internal.useradmin.Activator
 Bundle-SymbolicName: org.eclipse.equinox.useradmin
 Import-Service: org.osgi.service.log.LogService
diff --git a/bundles/org.eclipse.equinox.useradmin/pom.xml b/bundles/org.eclipse.equinox.useradmin/pom.xml
index 028a12a..30e95de 100644
--- a/bundles/org.eclipse.equinox.useradmin/pom.xml
+++ b/bundles/org.eclipse.equinox.useradmin/pom.xml
@@ -19,6 +19,6 @@
   </parent>
   <groupId>org.eclipse.equinox</groupId>
   <artifactId>org.eclipse.equinox.useradmin</artifactId>
-  <version>1.1.400-SNAPSHOT</version>
+  <version>1.1.500-SNAPSHOT</version>
   <packaging>eclipse-plugin</packaging>
 </project>
diff --git a/bundles/org.eclipse.equinox.useradmin/src/org/eclipse/equinox/internal/useradmin/LogTracker.java b/bundles/org.eclipse.equinox.useradmin/src/org/eclipse/equinox/internal/useradmin/LogTracker.java
index 1225dc6..19d90b8 100644
--- a/bundles/org.eclipse.equinox.useradmin/src/org/eclipse/equinox/internal/useradmin/LogTracker.java
+++ b/bundles/org.eclipse.equinox.useradmin/src/org/eclipse/equinox/internal/useradmin/LogTracker.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 1998, 2008 IBM Corporation and others.
+ * Copyright (c) 1998, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -23,7 +23,7 @@
  * and handles all issues such as the service coming and going.
  */
 
-public class LogTracker extends ServiceTracker implements LogService {
+public class LogTracker extends ServiceTracker {
 	/** LogService interface class name */
 	protected final static String clazz = "org.osgi.service.log.LogService"; //$NON-NLS-1$
 
@@ -99,22 +99,22 @@
 				out.print(timestamp + " "); //$NON-NLS-1$
 
 				switch (level) {
-					case LOG_DEBUG : {
+					case LogService.LOG_DEBUG : {
 						out.print(LogTrackerMsg.Debug);
 
 						break;
 					}
-					case LOG_INFO : {
+					case LogService.LOG_INFO : {
 						out.print(LogTrackerMsg.Info);
 
 						break;
 					}
-					case LOG_WARNING : {
+					case LogService.LOG_WARNING : {
 						out.print(LogTrackerMsg.Warning);
 
 						break;
 					}
-					case LOG_ERROR : {
+					case LogService.LOG_ERROR : {
 						out.print(LogTrackerMsg.Error);
 
 						break;
diff --git a/bundles/org.eclipse.equinox.useradmin/src/org/eclipse/equinox/internal/useradmin/UserAdminEventProducer.java b/bundles/org.eclipse.equinox.useradmin/src/org/eclipse/equinox/internal/useradmin/UserAdminEventProducer.java
index e865190..9805066 100644
--- a/bundles/org.eclipse.equinox.useradmin/src/org/eclipse/equinox/internal/useradmin/UserAdminEventProducer.java
+++ b/bundles/org.eclipse.equinox.useradmin/src/org/eclipse/equinox/internal/useradmin/UserAdminEventProducer.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2001, 2008 IBM Corporation and others.
+ * Copyright (c) 2001, 2017 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -27,13 +27,13 @@
 
 	protected ServiceReference userAdmin;
 	static protected final String userAdminListenerClass = "org.osgi.service.useradmin.UserAdminListener"; //$NON-NLS-1$
-	protected LogService log;
+	protected LogTracker log;
 	/** List of UserAdminListeners */
 	protected EventListeners listeners;
 	/** EventManager for event delivery. */
 	protected EventManager eventManager;
 
-	protected UserAdminEventProducer(ServiceReference userAdmin, BundleContext context, LogService log) {
+	protected UserAdminEventProducer(ServiceReference userAdmin, BundleContext context, LogTracker log) {
 		super(context, userAdminListenerClass, null);
 		this.userAdmin = userAdmin;
 		this.log = log;
diff --git a/bundles/org.eclipse.equinox.useradmin/src/org/eclipse/equinox/internal/useradmin/UserAdminStore.java b/bundles/org.eclipse.equinox.useradmin/src/org/eclipse/equinox/internal/useradmin/UserAdminStore.java
index c3caa51..f777426 100644
--- a/bundles/org.eclipse.equinox.useradmin/src/org/eclipse/equinox/internal/useradmin/UserAdminStore.java
+++ b/bundles/org.eclipse.equinox.useradmin/src/org/eclipse/equinox/internal/useradmin/UserAdminStore.java
@@ -36,11 +36,11 @@
 	protected ServiceReference prefsRef;
 	protected ServiceRegistration userAdminListenerReg;
 	protected UserAdmin useradmin;
-	protected LogService log;
+	protected LogTracker log;
 	protected Preferences rootNode;
 	protected PreferencesService preferencesService;
 
-	protected UserAdminStore(PreferencesService preferencesService, UserAdmin useradmin, LogService log) {
+	protected UserAdminStore(PreferencesService preferencesService, UserAdmin useradmin, LogTracker log) {
 		this.preferencesService = preferencesService;
 		this.useradmin = useradmin;
 		this.log = log;