SLING-6359 context plugin support

git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1772469 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/testing/mock/osgi/context/ContextPlugins.java b/src/main/java/org/apache/sling/testing/mock/osgi/context/ContextPlugins.java
index a4ae2dd..503bf92 100644
--- a/src/main/java/org/apache/sling/testing/mock/osgi/context/ContextPlugins.java
+++ b/src/main/java/org/apache/sling/testing/mock/osgi/context/ContextPlugins.java
@@ -68,6 +68,9 @@
     @SafeVarargs
     public final <T extends OsgiContextImpl> void addPlugin(ContextPlugin<T>... plugin) {
         for (final ContextPlugin<T> item : plugin) {
+            if (item == null) {
+                continue;
+            }
             plugins.add(item);
         }
     }
@@ -80,6 +83,9 @@
     @SafeVarargs
     public final <T extends OsgiContextImpl> void addBeforeSetUpCallback(final ContextCallback<T>... beforeSetUpCallback) {
         for (final ContextCallback<T> item : beforeSetUpCallback) {
+            if (item == null) {
+                continue;
+            }
             plugins.add(new AbstractContextPlugin<T>() {
                 @Override
                 public void beforeSetUp(T context) throws Exception {
@@ -101,6 +107,9 @@
     @SafeVarargs
     public final <T extends OsgiContextImpl> void addAfterSetUpCallback(final ContextCallback<T>... afterSetUpCallback) {
         for (final ContextCallback<T> item : afterSetUpCallback) {
+            if (item == null) {
+                continue;
+            }
             plugins.add(new AbstractContextPlugin<T>() {
                 @Override
                 public void afterSetUp(T context) throws Exception {
@@ -122,6 +131,9 @@
     @SafeVarargs
     public final <T extends OsgiContextImpl> void addBeforeTearDownCallback(final ContextCallback<T>... beforeTearDownCallback) {
         for (final ContextCallback<T> item : beforeTearDownCallback) {
+            if (item == null) {
+                continue;
+            }
             plugins.add(new AbstractContextPlugin<T>() {
                 @Override
                 public void beforeTearDown(T context) throws Exception {
@@ -143,6 +155,9 @@
     @SafeVarargs
     public final <T extends OsgiContextImpl> void addAfterTearDownCallback(final ContextCallback<T>... afterTearDownCallback) {
         for (final ContextCallback<T> item : afterTearDownCallback) {
+            if (item == null) {
+                continue;
+            }
             plugins.add(new AbstractContextPlugin<T>() {
                 @Override
                 public void afterTearDown(T context) throws Exception {
diff --git a/src/test/java/org/apache/sling/testing/mock/osgi/context/ContextPluginsTest.java b/src/test/java/org/apache/sling/testing/mock/osgi/context/ContextPluginsTest.java
index c6b5462..cee77f0 100644
--- a/src/test/java/org/apache/sling/testing/mock/osgi/context/ContextPluginsTest.java
+++ b/src/test/java/org/apache/sling/testing/mock/osgi/context/ContextPluginsTest.java
@@ -71,7 +71,7 @@
     @Test
     public void testExecuteBeforeSetUpCallback() throws Exception {
         ContextPlugins underTest = new ContextPlugins();
-        underTest.addPlugin(plugin1, plugin2);
+        underTest.addPlugin(plugin1, plugin2, null);
         
         assertEquals(2, underTest.getPlugins().size());
         
@@ -85,7 +85,7 @@
     @Test
     public void testExecuteAfterSetUpCallback() throws Exception {
         ContextPlugins underTest = new ContextPlugins();
-        underTest.addPlugin(plugin1, plugin2);
+        underTest.addPlugin(plugin1, plugin2, null);
         
         assertEquals(2, underTest.getPlugins().size());
         
@@ -99,7 +99,7 @@
     @Test
     public void testExecuteBeforeTearDownCallback() throws Exception {
         ContextPlugins underTest = new ContextPlugins();
-        underTest.addPlugin(plugin1, plugin2);
+        underTest.addPlugin(plugin1, plugin2, null);
         
         assertEquals(2, underTest.getPlugins().size());
         
@@ -113,7 +113,7 @@
     @Test
     public void testExecuteAfterTearDownCallback() throws Exception {
         ContextPlugins underTest = new ContextPlugins();
-        underTest.addPlugin(plugin1, plugin2);
+        underTest.addPlugin(plugin1, plugin2, null);
         
         assertEquals(2, underTest.getPlugins().size());
         
@@ -127,7 +127,7 @@
     @Test
     public void testAddBeforeSetUpCallback() throws Exception {
         ContextPlugins underTest = new ContextPlugins();
-        underTest.addBeforeSetUpCallback(callback1, callback2);
+        underTest.addBeforeSetUpCallback(callback1, callback2, null);
         
         assertEquals(2, underTest.getPlugins().size());
         
@@ -139,7 +139,7 @@
     @Test
     public void testAddAfterSetUpCallback() throws Exception {
         ContextPlugins underTest = new ContextPlugins();
-        underTest.addAfterSetUpCallback(callback1, callback2);
+        underTest.addAfterSetUpCallback(callback1, callback2, null);
         
         assertEquals(2, underTest.getPlugins().size());
         
@@ -151,7 +151,7 @@
     @Test
     public void testAddBeforeTearDownCallback() throws Exception {
         ContextPlugins underTest = new ContextPlugins();
-        underTest.addBeforeTearDownCallback(callback1, callback2);
+        underTest.addBeforeTearDownCallback(callback1, callback2, null);
         
         assertEquals(2, underTest.getPlugins().size());
         
@@ -163,7 +163,7 @@
     @Test
     public void testAddAfterTearDownCallback() throws Exception {
         ContextPlugins underTest = new ContextPlugins();
-        underTest.addAfterTearDownCallback(callback1, callback2);
+        underTest.addAfterTearDownCallback(callback1, callback2, null);
         
         assertEquals(2, underTest.getPlugins().size());