Github user markap14 commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/2219#discussion_r159513444
  
    --- Diff: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/StandardFlowSynchronizer.java
 ---
    @@ -217,10 +225,22 @@ public void sync(final FlowController controller, 
final DataFlow proposedFlow, f
                             unrootedControllerServiceElements = 
DomUtils.getChildElementsByTagName(controllerServicesElement, 
"controllerService");
                         }
     
    +                    final boolean registriesPresent;
    +                    final Element registriesElement = 
DomUtils.getChild(rootElement, "registries");
    +                    if (registriesElement == null) {
    +                        registriesPresent = false;
    +                    } else {
    +                        final List<Element> flowRegistryElems = 
DomUtils.getChildElementsByTagName(registriesElement, "flowRegistry");
    +                        registriesPresent = !flowRegistryElems.isEmpty();
    +                    }
    +
                         logger.trace("Parsing process group from DOM");
                         final Element rootGroupElement = (Element) 
rootElement.getElementsByTagName("rootGroup").item(0);
                         final ProcessGroupDTO rootGroupDto = 
FlowFromDOMFactory.getProcessGroup(null, rootGroupElement, encryptor, 
encodingVersion);
    -                    existingFlowEmpty = taskElements.isEmpty() && 
unrootedControllerServiceElements.isEmpty() && isEmpty(rootGroupDto);
    +                    existingFlowEmpty = taskElements.isEmpty()
    +                        && unrootedControllerServiceElements.isEmpty()
    +                        && isEmpty(rootGroupDto)
    +                        && registriesPresent;
    --- End diff --
    
    Indeed it should - great catch! Will address.


---

Reply via email to