Delete basic plugin's Activator

Define the PluginInstaller Component
diff --git a/platform/sensinact-application/basic-plugin/pom.xml b/platform/sensinact-application/basic-plugin/pom.xml
index b5b8cae..ffdb34f 100644
--- a/platform/sensinact-application/basic-plugin/pom.xml
+++ b/platform/sensinact-application/basic-plugin/pom.xml
@@ -36,7 +36,6 @@
 				<configuration>
 					<instructions>
 						<Import-Package>*</Import-Package>
-						<Bundle-Activator>org.eclipse.sensinact.gateway.app.basic.osgi.Activator</Bundle-Activator>
 						<Include-Resource>
 							about.html,
 							src/main/resources/
diff --git a/platform/sensinact-application/basic-plugin/src/main/java/org/eclipse/sensinact/gateway/app/basic/installer/BasicInstaller.java b/platform/sensinact-application/basic-plugin/src/main/java/org/eclipse/sensinact/gateway/app/basic/installer/BasicInstaller.java
index 17581b3..4fbb2fd 100644
--- a/platform/sensinact-application/basic-plugin/src/main/java/org/eclipse/sensinact/gateway/app/basic/installer/BasicInstaller.java
+++ b/platform/sensinact-application/basic-plugin/src/main/java/org/eclipse/sensinact/gateway/app/basic/installer/BasicInstaller.java
@@ -12,6 +12,7 @@
 
 import org.eclipse.sensinact.gateway.app.api.function.AbstractFunction;
 import org.eclipse.sensinact.gateway.app.api.plugin.AbstractPlugin;
+import org.eclipse.sensinact.gateway.app.api.plugin.PluginInstaller;
 import org.eclipse.sensinact.gateway.app.basic.logic.BetweenFunction;
 import org.eclipse.sensinact.gateway.app.basic.logic.DoubleConditionFunction;
 import org.eclipse.sensinact.gateway.app.basic.logic.SimpleConditionFunction;
@@ -33,16 +34,21 @@
 import org.eclipse.sensinact.gateway.app.manager.json.AppFunction;
 import org.eclipse.sensinact.gateway.common.bundle.Mediator;
 import org.json.JSONObject;
+import org.osgi.service.component.ComponentContext;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
 
 /**
- * @author Remi Druilhe
  * @see PluginInstaller
  */
+@Component(immediate = true, service = PluginInstaller.class, property = {"plugin.name=BasicPlugin"})
 public class BasicInstaller extends AbstractPlugin {
+	
     protected Mediator mediator;
 
-    public BasicInstaller(Mediator mediator) {
-        this.mediator = mediator;
+    @Activate
+    public void activate(ComponentContext context) {
+    	this.mediator = new Mediator(context.getBundleContext()); 
     }
 
     /**
diff --git a/platform/sensinact-application/basic-plugin/src/main/java/org/eclipse/sensinact/gateway/app/basic/osgi/Activator.java b/platform/sensinact-application/basic-plugin/src/main/java/org/eclipse/sensinact/gateway/app/basic/osgi/Activator.java
deleted file mode 100644
index 3b5ac84..0000000
--- a/platform/sensinact-application/basic-plugin/src/main/java/org/eclipse/sensinact/gateway/app/basic/osgi/Activator.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-* Copyright (c) 2020 Kentyou.
- * 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
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
-*    Kentyou - initial API and implementation
- */
-package org.eclipse.sensinact.gateway.app.basic.osgi;
-
-import org.eclipse.sensinact.gateway.app.api.plugin.PluginInstaller;
-import org.eclipse.sensinact.gateway.app.basic.installer.BasicInstaller;
-import org.eclipse.sensinact.gateway.common.bundle.AbstractActivator;
-import org.eclipse.sensinact.gateway.common.bundle.Mediator;
-import org.osgi.framework.BundleContext;
-import org.osgi.framework.ServiceRegistration;
-
-import java.util.Dictionary;
-import java.util.Hashtable;
-
-/**
- * @author Remi Druilhe
- * @see BundleActivator
- */
-public class Activator extends AbstractActivator<Mediator> {
-    private static final String PLUGIN_NAME = "BasicPlugin";
-    private ServiceRegistration basicInstallerRegistration;
-
-    /**
-     * @see BundleActivator#start(BundleContext)
-     */
-    public void doStart() throws Exception {
-        Dictionary<String, String> installProperties = new Hashtable<String, String>();
-        installProperties.put("plugin.name", PLUGIN_NAME);
-        basicInstallerRegistration = super.mediator.getContext().registerService(PluginInstaller.class.getCanonicalName(), new BasicInstaller(super.mediator), installProperties);
-    }
-
-    /**
-     * @see BundleActivator#stop(BundleContext)
-     */
-    public void doStop() throws Exception {
-        this.basicInstallerRegistration.unregister();
-    }
-
-    /**
-     * @inheritDoc
-     * @see AbstractActivator#doInstantiate(BundleContext, int, FileOutputStream)
-     */
-    @Override
-    public Mediator doInstantiate(BundleContext context) {
-        return new Mediator(context);
-    }
-}