http://git-wip-us.apache.org/repos/asf/nifi/blob/c955ec16/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/scheduling/TestStandardProcessScheduler.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/scheduling/TestStandardProcessScheduler.java
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/scheduling/TestStandardProcessScheduler.java
index e59f512..7141ee3 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/scheduling/TestStandardProcessScheduler.java
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/scheduling/TestStandardProcessScheduler.java
@@ -38,11 +38,13 @@ import org.apache.nifi.components.PropertyDescriptor;
 import org.apache.nifi.components.state.StateManagerProvider;
 import org.apache.nifi.controller.AbstractControllerService;
 import org.apache.nifi.controller.ConfigurationContext;
+import org.apache.nifi.controller.FlowController;
 import org.apache.nifi.controller.ProcessScheduler;
 import org.apache.nifi.controller.ProcessorNode;
 import org.apache.nifi.controller.ReportingTaskNode;
 import org.apache.nifi.controller.StandardProcessorNode;
 import org.apache.nifi.controller.ValidationContextFactory;
+import org.apache.nifi.controller.cluster.Heartbeater;
 import 
org.apache.nifi.controller.reporting.StandardReportingInitializationContext;
 import org.apache.nifi.controller.reporting.StandardReportingTaskNode;
 import org.apache.nifi.controller.service.ControllerServiceNode;
@@ -73,7 +75,9 @@ public class TestStandardProcessScheduler {
     private StandardProcessScheduler scheduler = null;
     private ReportingTaskNode taskNode = null;
     private TestReportingTask reportingTask = null;
-    private StateManagerProvider stateMgrProvider = 
Mockito.mock(StateManagerProvider.class);
+    private final StateManagerProvider stateMgrProvider = 
Mockito.mock(StateManagerProvider.class);
+    private FlowController controller;
+    private ProcessGroup rootGroup;
 
     @Before
     public void setup() throws InitializationException {
@@ -89,6 +93,10 @@ public class TestStandardProcessScheduler {
 
         final ValidationContextFactory validationContextFactory = new 
StandardValidationContextFactory(null);
         taskNode = new StandardReportingTaskNode(reportingTask, 
UUID.randomUUID().toString(), null, scheduler, validationContextFactory);
+
+        controller = Mockito.mock(FlowController.class);
+        rootGroup = new MockProcessGroup();
+        
Mockito.when(controller.getGroup(Mockito.anyString())).thenReturn(rootGroup);
     }
 
     /**
@@ -115,20 +123,17 @@ public class TestStandardProcessScheduler {
         assertTrue("After unscheduling Reporting Task, task ran an additional 
" + attemptsAfterStop + " times", attemptsAfterStop <= 1);
     }
 
-    @Test(timeout = 6000)
+    @Test(timeout = 60000)
     public void 
testDisableControllerServiceWithProcessorTryingToStartUsingIt() throws 
InterruptedException {
         final Processor proc = new ServiceReferencingProcessor();
-        final ProcessGroup group = new MockProcessGroup();
-
-        final StandardControllerServiceProvider serviceProvider = new 
StandardControllerServiceProvider(scheduler, null, 
Mockito.mock(StateManagerProvider.class));
-        serviceProvider.setRootProcessGroup(group);
 
+        final StandardControllerServiceProvider serviceProvider = new 
StandardControllerServiceProvider(controller, scheduler, null, 
Mockito.mock(StateManagerProvider.class));
         final ControllerServiceNode service = 
serviceProvider.createControllerService(NoStartServiceImpl.class.getName(), 
"service", true);
-        group.addControllerService(service);
+        rootGroup.addControllerService(service);
 
         final ProcessorNode procNode = new StandardProcessorNode(proc, 
UUID.randomUUID().toString(),
                 new StandardValidationContextFactory(serviceProvider), 
scheduler, serviceProvider);
-        group.addProcessor(procNode);
+        rootGroup.addProcessor(procNode);
 
         
procNode.setProperty(ServiceReferencingProcessor.SERVICE_DESC.getName(), 
service.getIdentifier());
 
@@ -184,16 +189,16 @@ public class TestStandardProcessScheduler {
         }
 
         @Override
-        public void onTrigger(ProcessContext context, ProcessSession session) 
throws ProcessException {
+        public void onTrigger(final ProcessContext context, final 
ProcessSession session) throws ProcessException {
         }
     }
 
     private void refreshNiFiProperties() {
         try {
-            Field instanceField = 
NiFiProperties.class.getDeclaredField("instance");
+            final Field instanceField = 
NiFiProperties.class.getDeclaredField("instance");
             instanceField.setAccessible(true);
             instanceField.set(null, null);
-        } catch (Exception e) {
+        } catch (final Exception e) {
             throw new IllegalStateException(e);
         }
     }
@@ -206,12 +211,12 @@ public class TestStandardProcessScheduler {
     @Test
     public void validateServiceEnablementLogicHappensOnlyOnce() throws 
Exception {
         final ProcessScheduler scheduler = createScheduler();
-        StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(scheduler, null, stateMgrProvider);
+        final StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(controller, scheduler, null, 
stateMgrProvider);
         final ControllerServiceNode serviceNode = 
provider.createControllerService(SimpleTestService.class.getName(),
                 "1", false);
         assertFalse(serviceNode.isActive());
-        SimpleTestService ts = (SimpleTestService) 
serviceNode.getControllerServiceImplementation();
-        ExecutorService executor = Executors.newCachedThreadPool();
+        final SimpleTestService ts = (SimpleTestService) 
serviceNode.getControllerServiceImplementation();
+        final ExecutorService executor = Executors.newCachedThreadPool();
 
         final AtomicBoolean asyncFailed = new AtomicBoolean();
         for (int i = 0; i < 1000; i++) {
@@ -221,7 +226,7 @@ public class TestStandardProcessScheduler {
                     try {
                         scheduler.enableControllerService(serviceNode);
                         assertTrue(serviceNode.isActive());
-                    } catch (Exception e) {
+                    } catch (final Exception e) {
                         e.printStackTrace();
                         asyncFailed.set(true);
                     }
@@ -245,11 +250,11 @@ public class TestStandardProcessScheduler {
     @Test
     public void validateDisabledServiceCantBeDisabled() throws Exception {
         final ProcessScheduler scheduler = createScheduler();
-        StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(scheduler, null, stateMgrProvider);
+        final StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(controller, scheduler, null, 
stateMgrProvider);
         final ControllerServiceNode serviceNode = 
provider.createControllerService(SimpleTestService.class.getName(),
                 "1", false);
-        SimpleTestService ts = (SimpleTestService) 
serviceNode.getControllerServiceImplementation();
-        ExecutorService executor = Executors.newCachedThreadPool();
+        final SimpleTestService ts = (SimpleTestService) 
serviceNode.getControllerServiceImplementation();
+        final ExecutorService executor = Executors.newCachedThreadPool();
 
         final AtomicBoolean asyncFailed = new AtomicBoolean();
         for (int i = 0; i < 1000; i++) {
@@ -259,7 +264,7 @@ public class TestStandardProcessScheduler {
                     try {
                         scheduler.disableControllerService(serviceNode);
                         assertFalse(serviceNode.isActive());
-                    } catch (Exception e) {
+                    } catch (final Exception e) {
                         e.printStackTrace();
                         asyncFailed.set(true);
                     }
@@ -283,13 +288,13 @@ public class TestStandardProcessScheduler {
     @Test
     public void validateEnabledServiceCanOnlyBeDisabledOnce() throws Exception 
{
         final ProcessScheduler scheduler = createScheduler();
-        StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(scheduler, null, stateMgrProvider);
+        final StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(controller, scheduler, null, 
stateMgrProvider);
         final ControllerServiceNode serviceNode = 
provider.createControllerService(SimpleTestService.class.getName(),
                 "1", false);
-        SimpleTestService ts = (SimpleTestService) 
serviceNode.getControllerServiceImplementation();
+        final SimpleTestService ts = (SimpleTestService) 
serviceNode.getControllerServiceImplementation();
         scheduler.enableControllerService(serviceNode);
         assertTrue(serviceNode.isActive());
-        ExecutorService executor = Executors.newCachedThreadPool();
+        final ExecutorService executor = Executors.newCachedThreadPool();
 
         final AtomicBoolean asyncFailed = new AtomicBoolean();
         for (int i = 0; i < 1000; i++) {
@@ -299,7 +304,7 @@ public class TestStandardProcessScheduler {
                     try {
                         scheduler.disableControllerService(serviceNode);
                         assertFalse(serviceNode.isActive());
-                    } catch (Exception e) {
+                    } catch (final Exception e) {
                         e.printStackTrace();
                         asyncFailed.set(true);
                     }
@@ -317,7 +322,7 @@ public class TestStandardProcessScheduler {
     @Test
     public void validateDisablingOfTheFailedService() throws Exception {
         final ProcessScheduler scheduler = createScheduler();
-        StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(scheduler, null, stateMgrProvider);
+        final StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(controller, scheduler, null, 
stateMgrProvider);
         final ControllerServiceNode serviceNode = 
provider.createControllerService(FailingService.class.getName(),
                 "1", false);
         scheduler.enableControllerService(serviceNode);
@@ -348,8 +353,8 @@ public class TestStandardProcessScheduler {
     @Test
     public void validateEnabledDisableMultiThread() throws Exception {
         final ProcessScheduler scheduler = createScheduler();
-        StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(scheduler, null, stateMgrProvider);
-        ExecutorService executor = Executors.newCachedThreadPool();
+        final StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(controller, scheduler, null, 
stateMgrProvider);
+        final ExecutorService executor = Executors.newCachedThreadPool();
         for (int i = 0; i < 200; i++) {
             final ControllerServiceNode serviceNode = provider
                     
.createControllerService(RandomShortDelayEnablingService.class.getName(), "1", 
false);
@@ -391,10 +396,10 @@ public class TestStandardProcessScheduler {
     @Test
     public void validateNeverEnablingServiceCanStillBeDisabled() throws 
Exception {
         final ProcessScheduler scheduler = createScheduler();
-        StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(scheduler, null, stateMgrProvider);
+        final StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(controller, scheduler, null, 
stateMgrProvider);
         final ControllerServiceNode serviceNode = 
provider.createControllerService(LongEnablingService.class.getName(),
                 "1", false);
-        LongEnablingService ts = (LongEnablingService) 
serviceNode.getControllerServiceImplementation();
+        final LongEnablingService ts = (LongEnablingService) 
serviceNode.getControllerServiceImplementation();
         ts.setLimit(Long.MAX_VALUE);
         scheduler.enableControllerService(serviceNode);
         Thread.sleep(100);
@@ -416,10 +421,10 @@ public class TestStandardProcessScheduler {
     @Test
     public void validateLongEnablingServiceCanStillBeDisabled() throws 
Exception {
         final ProcessScheduler scheduler = createScheduler();
-        StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(scheduler, null, stateMgrProvider);
+        final StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(controller, scheduler, null, 
stateMgrProvider);
         final ControllerServiceNode serviceNode = 
provider.createControllerService(LongEnablingService.class.getName(),
                 "1", false);
-        LongEnablingService ts = (LongEnablingService) 
serviceNode.getControllerServiceImplementation();
+        final LongEnablingService ts = (LongEnablingService) 
serviceNode.getControllerServiceImplementation();
         ts.setLimit(3000);
         scheduler.enableControllerService(serviceNode);
         Thread.sleep(2000);
@@ -440,7 +445,7 @@ public class TestStandardProcessScheduler {
 
     public static class FailingService extends AbstractControllerService {
         @OnEnabled
-        public void enable(ConfigurationContext context) {
+        public void enable(final ConfigurationContext context) {
             throw new RuntimeException("intentional");
         }
     }
@@ -449,10 +454,10 @@ public class TestStandardProcessScheduler {
         private final Random random = new Random();
 
         @OnEnabled
-        public void enable(ConfigurationContext context) {
+        public void enable(final ConfigurationContext context) {
             try {
                 Thread.sleep(random.nextInt(20));
-            } catch (InterruptedException e) {
+            } catch (final InterruptedException e) {
                 Thread.currentThread().interrupt();
             }
         }
@@ -464,12 +469,12 @@ public class TestStandardProcessScheduler {
         private final AtomicInteger disableCounter = new AtomicInteger();
 
         @OnEnabled
-        public void enable(ConfigurationContext context) {
+        public void enable(final ConfigurationContext context) {
             this.enableCounter.incrementAndGet();
         }
 
         @OnDisabled
-        public void disable(ConfigurationContext context) {
+        public void disable(final ConfigurationContext context) {
             this.disableCounter.incrementAndGet();
         }
 
@@ -489,13 +494,13 @@ public class TestStandardProcessScheduler {
         private volatile long limit;
 
         @OnEnabled
-        public void enable(ConfigurationContext context) throws Exception {
+        public void enable(final ConfigurationContext context) throws 
Exception {
             this.enableCounter.incrementAndGet();
             Thread.sleep(limit);
         }
 
         @OnDisabled
-        public void disable(ConfigurationContext context) {
+        public void disable(final ConfigurationContext context) {
             this.disableCounter.incrementAndGet();
         }
 
@@ -507,7 +512,7 @@ public class TestStandardProcessScheduler {
             return this.disableCounter.get();
         }
 
-        public void setLimit(long limit) {
+        public void setLimit(final long limit) {
             this.limit = limit;
         }
     }

http://git-wip-us.apache.org/repos/asf/nifi/blob/c955ec16/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/service/StandardControllerServiceProviderTest.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/service/StandardControllerServiceProviderTest.java
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/service/StandardControllerServiceProviderTest.java
index b9c0f7f..1493f38 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/service/StandardControllerServiceProviderTest.java
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/service/StandardControllerServiceProviderTest.java
@@ -46,7 +46,7 @@ public class StandardControllerServiceProviderTest {
     public void setup() throws Exception {
         String id = "id";
         String clazz = 
"org.apache.nifi.controller.service.util.TestControllerService";
-        ControllerServiceProvider provider = new 
StandardControllerServiceProvider(null, null, new StateManagerProvider() {
+        ControllerServiceProvider provider = new 
StandardControllerServiceProvider(null, null, null, new StateManagerProvider() {
             @Override
             public StateManager getStateManager(final String componentId) {
                 return Mockito.mock(StateManager.class);

http://git-wip-us.apache.org/repos/asf/nifi/blob/c955ec16/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/service/TestStandardControllerServiceProvider.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/service/TestStandardControllerServiceProvider.java
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/service/TestStandardControllerServiceProvider.java
index 5c83b97..91a2e7a 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/service/TestStandardControllerServiceProvider.java
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/service/TestStandardControllerServiceProvider.java
@@ -29,6 +29,7 @@ import java.util.UUID;
 
 import org.apache.nifi.components.state.StateManager;
 import org.apache.nifi.components.state.StateManagerProvider;
+import org.apache.nifi.controller.FlowController;
 import org.apache.nifi.controller.ProcessScheduler;
 import org.apache.nifi.controller.ProcessorNode;
 import org.apache.nifi.controller.ScheduledState;
@@ -49,7 +50,7 @@ import org.mockito.Mockito;
 public class TestStandardControllerServiceProvider {
     private static StateManagerProvider stateManagerProvider = new 
StateManagerProvider() {
         @Override
-        public StateManager getStateManager(String componentId) {
+        public StateManager getStateManager(final String componentId) {
             return Mockito.mock(StateManager.class);
         }
 
@@ -66,7 +67,7 @@ public class TestStandardControllerServiceProvider {
         }
 
         @Override
-        public void onComponentRemoved(String componentId) {
+        public void onComponentRemoved(final String componentId) {
         }
     };
 
@@ -81,20 +82,26 @@ public class TestStandardControllerServiceProvider {
 
     @Test
     public void testDisableControllerService() {
+        final ProcessGroup procGroup = new MockProcessGroup();
+        final FlowController controller = Mockito.mock(FlowController.class);
+        
Mockito.when(controller.getGroup(Mockito.anyString())).thenReturn(procGroup);
+
         final ProcessScheduler scheduler = createScheduler();
-        final StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(scheduler, null, stateManagerProvider);
+        final StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(controller, scheduler, null, 
stateManagerProvider);
 
         final ControllerServiceNode serviceNode = 
provider.createControllerService(ServiceB.class.getName(), "B", false);
         provider.enableControllerService(serviceNode);
         provider.disableControllerService(serviceNode);
     }
 
-    @Test(timeout = 1000000)
+    @Test(timeout = 10000)
     public void testEnableDisableWithReference() {
-        final ProcessScheduler scheduler = createScheduler();
-        final StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(scheduler, null, stateManagerProvider);
         final ProcessGroup group = new MockProcessGroup();
-        provider.setRootProcessGroup(group);
+        final FlowController controller = Mockito.mock(FlowController.class);
+        
Mockito.when(controller.getGroup(Mockito.anyString())).thenReturn(group);
+
+        final ProcessScheduler scheduler = createScheduler();
+        final StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(controller, scheduler, null, 
stateManagerProvider);
 
         final ControllerServiceNode serviceNodeB = 
provider.createControllerService(ServiceB.class.getName(), "B", false);
         final ControllerServiceNode serviceNodeA = 
provider.createControllerService(ServiceA.class.getName(), "A", false);
@@ -148,10 +155,12 @@ public class TestStandardControllerServiceProvider {
         }
     }
 
-    public void testEnableReferencingServicesGraph(ProcessScheduler scheduler) 
{
-        final StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(scheduler, null, stateManagerProvider);
+    public void testEnableReferencingServicesGraph(final ProcessScheduler 
scheduler) {
         final ProcessGroup procGroup = new MockProcessGroup();
-        provider.setRootProcessGroup(procGroup);
+        final FlowController controller = Mockito.mock(FlowController.class);
+        
Mockito.when(controller.getGroup(Mockito.anyString())).thenReturn(procGroup);
+
+        final StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(controller, scheduler, null, 
stateManagerProvider);
 
         // build a graph of controller services with dependencies as such:
         //
@@ -199,7 +208,11 @@ public class TestStandardControllerServiceProvider {
 
     @Test
     public void testOrderingOfServices() {
-        final StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(null, null, stateManagerProvider);
+        final ProcessGroup procGroup = new MockProcessGroup();
+        final FlowController controller = Mockito.mock(FlowController.class);
+        
Mockito.when(controller.getGroup(Mockito.anyString())).thenReturn(procGroup);
+
+        final StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(controller, null, null, stateManagerProvider);
         final ControllerServiceNode serviceNode1 = 
provider.createControllerService(ServiceA.class.getName(), "1", false);
         final ControllerServiceNode serviceNode2 = 
provider.createControllerService(ServiceB.class.getName(), "2", false);
 
@@ -354,8 +367,12 @@ public class TestStandardControllerServiceProvider {
 
     @Test
     public void testEnableReferencingComponents() {
+        final ProcessGroup procGroup = new MockProcessGroup();
+        final FlowController controller = Mockito.mock(FlowController.class);
+        
Mockito.when(controller.getGroup(Mockito.anyString())).thenReturn(procGroup);
+
         final StandardProcessScheduler scheduler = createScheduler();
-        final StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(null, null, stateManagerProvider);
+        final StandardControllerServiceProvider provider = new 
StandardControllerServiceProvider(controller, null, null, stateManagerProvider);
         final ControllerServiceNode serviceNode = 
provider.createControllerService(ServiceA.class.getName(), "1", false);
 
         final ProcessorNode procNode = createProcessor(scheduler, provider);

http://git-wip-us.apache.org/repos/asf/nifi/blob/c955ec16/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/service/mock/MockProcessGroup.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/service/mock/MockProcessGroup.java
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/service/mock/MockProcessGroup.java
index c10679f..2e60c31 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/service/mock/MockProcessGroup.java
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/service/mock/MockProcessGroup.java
@@ -17,6 +17,13 @@
 
 package org.apache.nifi.controller.service.mock;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
 import org.apache.nifi.authorization.Resource;
 import org.apache.nifi.authorization.resource.Authorizable;
 import org.apache.nifi.connectable.Connectable;
@@ -34,14 +41,9 @@ import org.apache.nifi.groups.ProcessGroup;
 import org.apache.nifi.groups.ProcessGroupCounts;
 import org.apache.nifi.groups.RemoteProcessGroup;
 
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 public class MockProcessGroup implements ProcessGroup {
-    private Map<String, ControllerServiceNode> serviceMap = new HashMap<>();
+    private final Map<String, ControllerServiceNode> serviceMap = new 
HashMap<>();
+    private final Map<String, ProcessorNode> processorMap = new HashMap<>();
 
     @Override
     public Authorizable getParentAuthorizable() {
@@ -59,7 +61,7 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public void setParent(ProcessGroup group) {
+    public void setParent(final ProcessGroup group) {
 
     }
 
@@ -74,12 +76,12 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public void setName(String name) {
+    public void setName(final String name) {
 
     }
 
     @Override
-    public void setPosition(Position position) {
+    public void setPosition(final Position position) {
 
     }
 
@@ -94,7 +96,7 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public void setComments(String comments) {
+    public void setComments(final String comments) {
 
     }
 
@@ -114,67 +116,67 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public void enableProcessor(ProcessorNode processor) {
+    public void enableProcessor(final ProcessorNode processor) {
 
     }
 
     @Override
-    public void enableInputPort(Port port) {
+    public void enableInputPort(final Port port) {
 
     }
 
     @Override
-    public void enableOutputPort(Port port) {
+    public void enableOutputPort(final Port port) {
 
     }
 
     @Override
-    public void startProcessor(ProcessorNode processor) {
+    public void startProcessor(final ProcessorNode processor) {
 
     }
 
     @Override
-    public void startInputPort(Port port) {
+    public void startInputPort(final Port port) {
 
     }
 
     @Override
-    public void startOutputPort(Port port) {
+    public void startOutputPort(final Port port) {
 
     }
 
     @Override
-    public void startFunnel(Funnel funnel) {
+    public void startFunnel(final Funnel funnel) {
 
     }
 
     @Override
-    public void stopProcessor(ProcessorNode processor) {
+    public void stopProcessor(final ProcessorNode processor) {
 
     }
 
     @Override
-    public void stopInputPort(Port port) {
+    public void stopInputPort(final Port port) {
 
     }
 
     @Override
-    public void stopOutputPort(Port port) {
+    public void stopOutputPort(final Port port) {
 
     }
 
     @Override
-    public void disableProcessor(ProcessorNode processor) {
+    public void disableProcessor(final ProcessorNode processor) {
 
     }
 
     @Override
-    public void disableInputPort(Port port) {
+    public void disableInputPort(final Port port) {
 
     }
 
     @Override
-    public void disableOutputPort(Port port) {
+    public void disableOutputPort(final Port port) {
 
     }
 
@@ -189,12 +191,12 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public void addInputPort(Port port) {
+    public void addInputPort(final Port port) {
 
     }
 
     @Override
-    public void removeInputPort(Port port) {
+    public void removeInputPort(final Port port) {
 
     }
 
@@ -204,22 +206,22 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public Port getInputPort(String id) {
+    public Port getInputPort(final String id) {
         return null;
     }
 
     @Override
-    public void addOutputPort(Port port) {
+    public void addOutputPort(final Port port) {
 
     }
 
     @Override
-    public void removeOutputPort(Port port) {
+    public void removeOutputPort(final Port port) {
 
     }
 
     @Override
-    public Port getOutputPort(String id) {
+    public Port getOutputPort(final String id) {
         return null;
     }
 
@@ -229,12 +231,12 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public void addProcessGroup(ProcessGroup group) {
+    public void addProcessGroup(final ProcessGroup group) {
 
     }
 
     @Override
-    public ProcessGroup getProcessGroup(String id) {
+    public ProcessGroup getProcessGroup(final String id) {
         return null;
     }
 
@@ -244,28 +246,29 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public void removeProcessGroup(ProcessGroup group) {
+    public void removeProcessGroup(final ProcessGroup group) {
 
     }
 
     @Override
-    public void addProcessor(ProcessorNode processor) {
+    public void addProcessor(final ProcessorNode processor) {
         processor.setProcessGroup(this);
+        processorMap.put(processor.getIdentifier(), processor);
     }
 
     @Override
-    public void removeProcessor(ProcessorNode processor) {
-
+    public void removeProcessor(final ProcessorNode processor) {
+        processorMap.remove(processor.getIdentifier());
     }
 
     @Override
     public Set<ProcessorNode> getProcessors() {
-        return null;
+        return new HashSet<>(processorMap.values());
     }
 
     @Override
-    public ProcessorNode getProcessor(String id) {
-        return null;
+    public ProcessorNode getProcessor(final String id) {
+        return processorMap.get(id);
     }
 
     @Override
@@ -274,27 +277,27 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public Connectable getConnectable(String id) {
+    public Connectable getConnectable(final String id) {
         return null;
     }
 
     @Override
-    public void addConnection(Connection connection) {
+    public void addConnection(final Connection connection) {
 
     }
 
     @Override
-    public void removeConnection(Connection connection) {
+    public void removeConnection(final Connection connection) {
 
     }
 
     @Override
-    public void inheritConnection(Connection connection) {
+    public void inheritConnection(final Connection connection) {
 
     }
 
     @Override
-    public Connection getConnection(String id) {
+    public Connection getConnection(final String id) {
         return null;
     }
 
@@ -304,7 +307,7 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public Connection findConnection(String id) {
+    public Connection findConnection(final String id) {
         return null;
     }
 
@@ -314,12 +317,12 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public Funnel findFunnel(String id) {
+    public Funnel findFunnel(final String id) {
         return null;
     }
 
     @Override
-    public ControllerServiceNode findControllerService(String id) {
+    public ControllerServiceNode findControllerService(final String id) {
         return serviceMap.get(id);
     }
 
@@ -329,17 +332,17 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public void addRemoteProcessGroup(RemoteProcessGroup remoteGroup) {
+    public void addRemoteProcessGroup(final RemoteProcessGroup remoteGroup) {
 
     }
 
     @Override
-    public void removeRemoteProcessGroup(RemoteProcessGroup remoteGroup) {
+    public void removeRemoteProcessGroup(final RemoteProcessGroup remoteGroup) 
{
 
     }
 
     @Override
-    public RemoteProcessGroup getRemoteProcessGroup(String id) {
+    public RemoteProcessGroup getRemoteProcessGroup(final String id) {
         return null;
     }
 
@@ -349,12 +352,12 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public void addLabel(Label label) {
+    public void addLabel(final Label label) {
 
     }
 
     @Override
-    public void removeLabel(Label label) {
+    public void removeLabel(final Label label) {
 
     }
 
@@ -364,12 +367,12 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public Label getLabel(String id) {
+    public Label getLabel(final String id) {
         return null;
     }
 
     @Override
-    public ProcessGroup findProcessGroup(String id) {
+    public ProcessGroup findProcessGroup(final String id) {
         return null;
     }
 
@@ -379,7 +382,7 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public RemoteProcessGroup findRemoteProcessGroup(String id) {
+    public RemoteProcessGroup findRemoteProcessGroup(final String id) {
         return null;
     }
 
@@ -389,17 +392,17 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public ProcessorNode findProcessor(String id) {
-        return null;
+    public ProcessorNode findProcessor(final String id) {
+        return processorMap.get(id);
     }
 
     @Override
     public List<ProcessorNode> findAllProcessors() {
-        return null;
+        return new ArrayList<>(processorMap.values());
     }
 
     @Override
-    public Label findLabel(String id) {
+    public Label findLabel(final String id) {
         return null;
     }
 
@@ -409,7 +412,7 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public Port findInputPort(String id) {
+    public Port findInputPort(final String id) {
         return null;
     }
 
@@ -419,12 +422,12 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public Port getInputPortByName(String name) {
+    public Port getInputPortByName(final String name) {
         return null;
     }
 
     @Override
-    public Port findOutputPort(String id) {
+    public Port findOutputPort(final String id) {
         return null;
     }
 
@@ -434,17 +437,17 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public Port getOutputPortByName(String name) {
+    public Port getOutputPortByName(final String name) {
         return null;
     }
 
     @Override
-    public void addFunnel(Funnel funnel) {
+    public void addFunnel(final Funnel funnel) {
 
     }
 
     @Override
-    public void addFunnel(Funnel funnel, boolean autoStart) {
+    public void addFunnel(final Funnel funnel, final boolean autoStart) {
 
     }
 
@@ -454,33 +457,33 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public Funnel getFunnel(String id) {
+    public Funnel getFunnel(final String id) {
         return null;
     }
 
     @Override
-    public void removeFunnel(Funnel funnel) {
+    public void removeFunnel(final Funnel funnel) {
 
     }
 
     @Override
-    public void addControllerService(ControllerServiceNode service) {
+    public void addControllerService(final ControllerServiceNode service) {
         serviceMap.put(service.getIdentifier(), service);
         service.setProcessGroup(this);
     }
 
     @Override
-    public ControllerServiceNode getControllerService(String id) {
+    public ControllerServiceNode getControllerService(final String id) {
         return serviceMap.get(id);
     }
 
     @Override
-    public Set<ControllerServiceNode> getControllerServices(boolean recursive) 
{
+    public Set<ControllerServiceNode> getControllerServices(final boolean 
recursive) {
         return new HashSet<>(serviceMap.values());
     }
 
     @Override
-    public void removeControllerService(ControllerServiceNode service) {
+    public void removeControllerService(final ControllerServiceNode service) {
         serviceMap.remove(service.getIdentifier());
     }
 
@@ -490,17 +493,17 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public void remove(Snippet snippet) {
+    public void remove(final Snippet snippet) {
 
     }
 
     @Override
-    public Connectable findConnectable(String identifier) {
+    public Connectable findConnectable(final String identifier) {
         return null;
     }
 
     @Override
-    public void move(Snippet snippet, ProcessGroup destination) {
+    public void move(final Snippet snippet, final ProcessGroup destination) {
 
     }
 
@@ -510,7 +513,7 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public void verifyCanDelete(boolean ignorePortConnections) {
+    public void verifyCanDelete(final boolean ignorePortConnections) {
 
     }
 
@@ -525,31 +528,31 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public void verifyCanDelete(Snippet snippet) {
+    public void verifyCanDelete(final Snippet snippet) {
 
     }
 
     @Override
-    public void verifyCanMove(Snippet snippet, ProcessGroup newProcessGroup) {
+    public void verifyCanMove(final Snippet snippet, final ProcessGroup 
newProcessGroup) {
 
     }
 
     @Override
-    public void addTemplate(Template template) {
+    public void addTemplate(final Template template) {
         throw new UnsupportedOperationException();
     }
 
     @Override
-    public void removeTemplate(Template template) {
+    public void removeTemplate(final Template template) {
     }
 
     @Override
-    public Template getTemplate(String id) {
+    public Template getTemplate(final String id) {
         return null;
     }
 
     @Override
-    public Template findTemplate(String id) {
+    public Template findTemplate(final String id) {
         return null;
     }
 
@@ -564,10 +567,10 @@ public class MockProcessGroup implements ProcessGroup {
     }
 
     @Override
-    public void verifyCanStart(Connectable connectable) {
+    public void verifyCanStart(final Connectable connectable) {
     }
 
     @Override
-    public void verifyCanStop(Connectable connectable) {
+    public void verifyCanStop(final Connectable connectable) {
     }
 }

http://git-wip-us.apache.org/repos/asf/nifi/blob/c955ec16/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/processor/TestStandardPropertyValue.java
----------------------------------------------------------------------
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/processor/TestStandardPropertyValue.java
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/processor/TestStandardPropertyValue.java
index 75776cc..4488f68 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/processor/TestStandardPropertyValue.java
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/processor/TestStandardPropertyValue.java
@@ -148,27 +148,27 @@ public class TestStandardPropertyValue {
         }
 
         @Override
-        public Set<String> getControllerServiceIdentifiers(final Class<? 
extends ControllerService> serviceType, String groupId) {
+        public Set<String> getControllerServiceIdentifiers(final Class<? 
extends ControllerService> serviceType) {
             return null;
         }
 
         @Override
-        public boolean isControllerServiceEnabled(String serviceIdentifier) {
+        public boolean isControllerServiceEnabled(final String 
serviceIdentifier) {
             return true;
         }
 
         @Override
-        public boolean isControllerServiceEnabled(ControllerService service) {
+        public boolean isControllerServiceEnabled(final ControllerService 
service) {
             return true;
         }
 
         @Override
-        public String getControllerServiceName(String serviceIdentifier) {
+        public String getControllerServiceName(final String serviceIdentifier) 
{
             return null;
         }
 
         @Override
-        public boolean isControllerServiceEnabling(String serviceIdentifier) {
+        public boolean isControllerServiceEnabling(final String 
serviceIdentifier) {
             return false;
         }
     }

Reply via email to