Repository: incubator-nifi
Updated Branches:
  refs/heads/NIFI-250 c63a8c05f -> ffa919a34


NIFI-250: Fixed NPE


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/ffa919a3
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/ffa919a3
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/ffa919a3

Branch: refs/heads/NIFI-250
Commit: ffa919a349906ef3a8fe178ab448fe69bf1bd4b6
Parents: c63a8c0
Author: Mark Payne <[email protected]>
Authored: Thu Mar 19 14:12:11 2015 -0400
Committer: Mark Payne <[email protected]>
Committed: Thu Mar 19 14:12:11 2015 -0400

----------------------------------------------------------------------
 .../controller/StandardFlowSynchronizer.java    | 60 ++++++++++----------
 1 file changed, 30 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/ffa919a3/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/StandardFlowSynchronizer.java
----------------------------------------------------------------------
diff --git 
a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/StandardFlowSynchronizer.java
 
b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/StandardFlowSynchronizer.java
index 087272c..6d7b6d6 100644
--- 
a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/StandardFlowSynchronizer.java
+++ 
b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/StandardFlowSynchronizer.java
@@ -213,11 +213,11 @@ public class StandardFlowSynchronizer implements 
FlowSynchronizer {
         // create document by parsing proposed flow bytes
         logger.trace("Parsing proposed flow bytes as DOM document");
         final Document configuration = parseFlowBytes(proposedFlow.getFlow());
-
-        synchronized (configuration) {
-            // attempt to sync controller with proposed flow
-            try {
-                if (configuration != null) {
+        
+        // attempt to sync controller with proposed flow
+        try {
+            if (configuration != null) {
+                synchronized (configuration) {
                     // get the root element
                     final Element rootElement = (Element) 
configuration.getElementsByTagName("flowController").item(0);
     
@@ -269,35 +269,35 @@ public class StandardFlowSynchronizer implements 
FlowSynchronizer {
                        }
                     }
                 }
+            }
     
-                logger.trace("Synching templates");
-                if ((existingTemplates == null || existingTemplates.length == 
0) && proposedFlow.getTemplates() != null && proposedFlow.getTemplates().length 
> 0) {
-                    // need to load templates
-                    final TemplateManager templateManager = 
controller.getTemplateManager();
-                    final List<Template> proposedTemplateList = 
TemplateManager.parseBytes(proposedFlow.getTemplates());
-                    for (final Template template : proposedTemplateList) {
-                        templateManager.addTemplate(template.getDetails());
-                    }
+            logger.trace("Synching templates");
+            if ((existingTemplates == null || existingTemplates.length == 0) 
&& proposedFlow.getTemplates() != null && proposedFlow.getTemplates().length > 
0) {
+                // need to load templates
+                final TemplateManager templateManager = 
controller.getTemplateManager();
+                final List<Template> proposedTemplateList = 
TemplateManager.parseBytes(proposedFlow.getTemplates());
+                for (final Template template : proposedTemplateList) {
+                    templateManager.addTemplate(template.getDetails());
                 }
-    
-                // clear the snippets that are currently in memory
-                logger.trace("Clearing existing snippets");
-                final SnippetManager snippetManager = 
controller.getSnippetManager();
-                snippetManager.clear();
-    
-                // if proposed flow has any snippets, load them
-                logger.trace("Loading proposed snippets");
-                final byte[] proposedSnippets = proposedFlow.getSnippets();
-                if (proposedSnippets != null && proposedSnippets.length > 0) {
-                    for (final StandardSnippet snippet : 
SnippetManager.parseBytes(proposedSnippets)) {
-                        snippetManager.addSnippet(snippet);
-                    }
+            }
+
+            // clear the snippets that are currently in memory
+            logger.trace("Clearing existing snippets");
+            final SnippetManager snippetManager = 
controller.getSnippetManager();
+            snippetManager.clear();
+
+            // if proposed flow has any snippets, load them
+            logger.trace("Loading proposed snippets");
+            final byte[] proposedSnippets = proposedFlow.getSnippets();
+            if (proposedSnippets != null && proposedSnippets.length > 0) {
+                for (final StandardSnippet snippet : 
SnippetManager.parseBytes(proposedSnippets)) {
+                    snippetManager.addSnippet(snippet);
                 }
-    
-                logger.debug("Finished synching flows");
-            } catch (final Exception ex) {
-                throw new FlowSynchronizationException(ex);
             }
+
+            logger.debug("Finished synching flows");
+        } catch (final Exception ex) {
+            throw new FlowSynchronizationException(ex);
         }
     }
 

Reply via email to