Move init and destroy empty impl from Activator classes. Have only one
[controller.git] / opendaylight / sal / api / src / main / java / org / opendaylight / controller / sal / core / ComponentActivatorAbstractBase.java
index 039acf52e698945d6ec9275db7eb87dee1571d46..439e7807d4f52894244ceac0978a8972c5b6850e 100644 (file)
@@ -49,18 +49,20 @@ abstract public class ComponentActivatorAbstractBase implements
     private ConcurrentMap<Object, Component> dbGlobalInstances = (ConcurrentMap<Object, Component>) new ConcurrentHashMap<Object, Component>();
 
     /**
-     * Abstract method that MUST be implemented by the derived class
-     * that wants to activate the Component bundle in a container. Here
-     * customization for the component are expected
+     * Method that should be overriden by the derived class for customization
+     * during activation of the Component bundle in a container.
      */
-    abstract protected void init();
+    protected void init() {
+
+    }
 
     /**
-     * Abstract method that MUST be implemented by the derived class
-     * that wants to DE-activate the Component bundle in a container. Here
-     * customization for the component are expected
+     * Method that should be overriden by the derived class for customization
+     * during DE-activation of the Component bundle in a container.
      */
-    abstract protected void destroy();
+    public void destroy() {
+
+    }
 
     /**
      * Method which tells how many implementations are supported by
@@ -152,6 +154,11 @@ abstract public class ComponentActivatorAbstractBase implements
 
         @Override
         public void stopped(Component component) {
+            // do nothing
+        }
+
+        @Override
+        public void stopping(Component component) {
             if (component == null) {
                 return;
             }
@@ -160,11 +167,6 @@ abstract public class ComponentActivatorAbstractBase implements
                     { Component.class }, {} }, new Object[][] { { component },
                     {} });
         }
-
-        @Override
-        public void stopping(Component component) {
-            // do nothing
-        }
     }
 
     /**
@@ -354,7 +356,7 @@ abstract public class ComponentActivatorAbstractBase implements
                     }
                 }
             }
-            
+
             // Register with OSGi the provider for the service IContainerAware
             context.registerService(
                     IContainerAware.class.getName(), this, null);