[
https://issues.apache.org/jira/browse/NIFI-571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14578097#comment-14578097
]
Mark Payne commented on NIFI-571:
---------------------------------
Joe,
If you have Service A that depends on Service C, and Service B that depends on
Service C... then you can end up with Service C in the list twice. But we then
check isEnabled() before trying to enable it. So having it in the list twice is
not a problem.
> Findbugs issue in StandardControllerServiceProvider
> ---------------------------------------------------
>
> Key: NIFI-571
> URL: https://issues.apache.org/jira/browse/NIFI-571
> Project: Apache NiFi
> Issue Type: Bug
> Components: Core Framework
> Affects Versions: 0.0.2
> Reporter: Mark Latimer
> Assignee: Mark Payne
> Priority: Minor
> Fix For: 0.2.0
>
> Attachments:
> 0001-NIFI-571-Removed-checking-List-List-ControllerServic.patch,
> 0001-type-check-StandardControllerServiceProvider.patch,
> 0002-type-check-TestStandardControllerService.patch,
> 0003-Check-list-of-lists-for-ControllerServiceNode.patch
>
>
> I am trying and mostly failing to understand a findbugs issue in
> StandardControllerServiceProvider.
> The error reported is an invalid type error where a ControllerServiceNode is
> checked against a List of Lists of ControllerServicesNodes. I am inclined to
> agree this a level of indirection off.
> {code}
> static List<List<ControllerServiceNode>> determineEnablingOrder(final
> Map<String, ControllerServiceNode> serviceNodeMap) {
> final List<List<ControllerServiceNode>> orderedNodeLists = new
> ArrayList<List<ControllerServiceNode>>();
> for (final ControllerServiceNode node : serviceNodeMap.values()) {
> //Node is a ControllerServiceNode but orderedList is a List of Lists of
> ControllerService nodes
> if (orderedNodeLists.contains(node)) {
> continue; // this node is already in the list.
> }
> final List<ControllerServiceNode> branch = new
> ArrayList<ControllerServiceNode>();
> determineEnablingOrder(serviceNodeMap, node, branch, new
> HashSet<ControllerServiceNode>());
> orderedNodeLists.add(branch);
> }
> return orderedNodeLists;
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)