You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ma...@apache.org on 2015/02/10 17:54:27 UTC
[2/3] incubator-nifi git commit: NIFI-250: Persist Controller
Services and Reporting Tasks on NCM
NIFI-250: Persist Controller Services and Reporting Tasks on NCM
Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/c25a2cae
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/c25a2cae
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/c25a2cae
Branch: refs/heads/NIFI-250
Commit: c25a2caecd31638d3564ea4892986d0580234783
Parents: 33f5516
Author: Mark Payne <ma...@hotmail.com>
Authored: Tue Feb 10 11:53:51 2015 -0500
Committer: Mark Payne <ma...@hotmail.com>
Committed: Tue Feb 10 11:53:51 2015 -0500
----------------------------------------------------------------------
.../nifi/cluster/flow/impl/DataFlowDaoImpl.java | 27 +++++++++++---------
.../cluster/manager/impl/WebClusterManager.java | 4 ++-
2 files changed, 18 insertions(+), 13 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c25a2cae/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster/src/main/java/org/apache/nifi/cluster/flow/impl/DataFlowDaoImpl.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster/src/main/java/org/apache/nifi/cluster/flow/impl/DataFlowDaoImpl.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster/src/main/java/org/apache/nifi/cluster/flow/impl/DataFlowDaoImpl.java
index 0d7caf3..dd9d2a3 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster/src/main/java/org/apache/nifi/cluster/flow/impl/DataFlowDaoImpl.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster/src/main/java/org/apache/nifi/cluster/flow/impl/DataFlowDaoImpl.java
@@ -410,13 +410,7 @@ public class DataFlowDaoImpl implements DataFlowDao {
final File stateFile = new File(dir, FLOW_PACKAGE);
stateFile.createNewFile();
- final byte[] flowBytes = getEmptyFlowBytes();
- final byte[] templateBytes = new byte[0];
- final byte[] snippetBytes = new byte[0];
- final DataFlow dataFlow = new StandardDataFlow(flowBytes, templateBytes, snippetBytes);
-
- final ClusterMetadata clusterMetadata = new ClusterMetadata();
- writeDataFlow(stateFile, dataFlow, clusterMetadata);
+ writeDataFlow(stateFile, new ClusterDataFlow(null, null, new byte[0], new byte[0]), new ClusterMetadata());
return stateFile;
}
@@ -548,7 +542,7 @@ public class DataFlowDaoImpl implements DataFlowDao {
clusterMetadata.setPrimaryNodeId(clusterDataFlow.getPrimaryNodeId());
// write to disk
- writeDataFlow(file, dataFlow, clusterMetadata);
+ writeDataFlow(file, clusterDataFlow, clusterMetadata);
}
private void writeTarEntry(final TarArchiveOutputStream tarOut, final String filename, final byte[] bytes) throws IOException {
@@ -559,14 +553,23 @@ public class DataFlowDaoImpl implements DataFlowDao {
tarOut.closeArchiveEntry();
}
- private void writeDataFlow(final File file, final DataFlow dataFlow, final ClusterMetadata clusterMetadata) throws IOException, JAXBException {
+ private void writeDataFlow(final File file, final ClusterDataFlow clusterDataFlow, final ClusterMetadata clusterMetadata) throws IOException, JAXBException {
try (final OutputStream fos = new FileOutputStream(file);
final TarArchiveOutputStream tarOut = new TarArchiveOutputStream(new BufferedOutputStream(fos))) {
- writeTarEntry(tarOut, FLOW_XML_FILENAME, dataFlow.getFlow());
- writeTarEntry(tarOut, TEMPLATES_FILENAME, dataFlow.getTemplates());
- writeTarEntry(tarOut, SNIPPETS_FILENAME, dataFlow.getSnippets());
+ final DataFlow dataFlow = clusterDataFlow.getDataFlow();
+ if ( dataFlow == null ) {
+ writeTarEntry(tarOut, FLOW_XML_FILENAME, getEmptyFlowBytes());
+ writeTarEntry(tarOut, TEMPLATES_FILENAME, new byte[0]);
+ writeTarEntry(tarOut, SNIPPETS_FILENAME, new byte[0]);
+ } else {
+ writeTarEntry(tarOut, FLOW_XML_FILENAME, dataFlow.getFlow());
+ writeTarEntry(tarOut, TEMPLATES_FILENAME, dataFlow.getTemplates());
+ writeTarEntry(tarOut, SNIPPETS_FILENAME, dataFlow.getSnippets());
+ }
+ writeTarEntry(tarOut, CONTROLLER_SERVICES_FILENAME, clusterDataFlow.getControllerServices());
+ writeTarEntry(tarOut, REPORTING_TASKS_FILENAME, clusterDataFlow.getReportingTasks());
final ByteArrayOutputStream baos = new ByteArrayOutputStream(256);
writeClusterMetadata(clusterMetadata, baos);
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c25a2cae/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/WebClusterManager.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/WebClusterManager.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/WebClusterManager.java
index f06c513..8a431ad 100644
--- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/WebClusterManager.java
+++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-cluster/src/main/java/org/apache/nifi/cluster/manager/impl/WebClusterManager.java
@@ -1378,6 +1378,7 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
final DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
final Document document = docBuilder.newDocument();
final Element rootElement = document.createElement("controllerServices");
+ document.appendChild(rootElement);
for ( final ControllerServiceNode serviceNode : getAllControllerServices() ) {
StandardFlowSerializer.addControllerService(rootElement, serviceNode, encryptor);
@@ -1390,7 +1391,8 @@ public class WebClusterManager implements HttpClusterManager, ProtocolHandler, C
final DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
final DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
final Document document = docBuilder.newDocument();
- final Element rootElement = document.createElement("controllerServices");
+ final Element rootElement = document.createElement("reportingTasks");
+ document.appendChild(rootElement);
for ( final ReportingTaskNode taskNode : getReportingTasks() ) {
StandardFlowSerializer.addReportingTask(rootElement, taskNode, encryptor);