nifi-minifi git commit: Preparing C2 Server development branch
Repository: nifi-minifi Updated Branches: refs/heads/minifi-c2-server 270a3081d -> 50a301728 Preparing C2 Server development branch Project: http://git-wip-us.apache.org/repos/asf/nifi-minifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi/commit/50a30172 Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi/tree/50a30172 Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi/diff/50a30172 Branch: refs/heads/minifi-c2-server Commit: 50a301728cb9b9b2bb67f7cd103fe9eb21d701d4 Parents: 270a308 Author: Kevin DoranAuthored: Wed Feb 21 17:08:52 2018 -0500 Committer: Kevin Doran Committed: Wed Feb 21 17:08:52 2018 -0500 -- minifi-c2/README.md | 3 +++ 1 file changed, 3 insertions(+) -- http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/50a30172/minifi-c2/README.md -- diff --git a/minifi-c2/README.md b/minifi-c2/README.md index 6061291..2dcc302 100644 --- a/minifi-c2/README.md +++ b/minifi-c2/README.md @@ -12,6 +12,9 @@ See the License for the specific language governing permissions and limitations under the License. --> + +NOTICE: This README file may become out of date on this branch as development to add new capabilities to the C2 server are in progress. This notice will be removed and the contents of this README file will be updated prior to merging this feature branch. + ## Apache NiFi MiNiFi Command and Control (C2) Server MiNiFi agents allow us to push data flows down to smaller devices on the edge of the network. This provides many of the niceties of processing data with NiFi in a smaller package. One big challenge with many disparate agents running on all sorts of devices is coordinating their work and pushing out revised flows.
[nifi-minifi] Git Push Summary
Repository: nifi-minifi Updated Branches: refs/heads/minifi-c2-server [created] 270a3081d
nifi git commit: NIFI-4894: - Ensuring that any proxy paths are retained when querying for bulletins.
Repository: nifi Updated Branches: refs/heads/master ff95be2a1 -> d75f118ae NIFI-4894: - Ensuring that any proxy paths are retained when querying for bulletins. This closes #2482 Signed-off-by: Scott AslanProject: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/d75f118a Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/d75f118a Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/d75f118a Branch: refs/heads/master Commit: d75f118ae116e5c352fdbd02086cafd33dca7e5f Parents: ff95be2 Author: Matt Gilman Authored: Tue Feb 20 10:28:50 2018 -0500 Committer: Scott Aslan Committed: Wed Feb 21 13:09:59 2018 -0500 -- .../main/webapp/js/nf/canvas/nf-canvas-utils.js | 3 ++- .../src/main/webapp/js/nf/nf-common.js | 21 ++-- 2 files changed, 21 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/nifi/blob/d75f118a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas-utils.js -- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas-utils.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas-utils.js index 3dce37e..9347bd4 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas-utils.js +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/canvas/nf-canvas-utils.js @@ -251,7 +251,8 @@ var query = function (ids) { var url = new URL(window.location); -var endpoint = url.origin + '/nifi-api/flow/bulletin-board?' + $.param({ +var origin = nfCommon.substringBeforeLast(url.href, '/nifi'); +var endpoint = origin + '/nifi-api/flow/bulletin-board?' + $.param({ sourceId: ids.join('|') }); http://git-wip-us.apache.org/repos/asf/nifi/blob/d75f118a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js -- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js index a1a3fc6..f89c4aa 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-ui/src/main/webapp/js/nf/nf-common.js @@ -1022,7 +1022,7 @@ }, /** - * Extracts the contents of the specified str after the strToFind. If the + * Extracts the contents of the specified str after the last strToFind. If the * strToFind is not found or the last part of the str, an empty string is * returned. * @@ -1062,13 +1062,30 @@ }, /** - * Extracts the contents of the specified str before the strToFind. If the + * Extracts the contents of the specified str before the last strToFind. If the * strToFind is not found or the first part of the str, an empty string is * returned. * * @argument {string} str The full string * @argument {string} strToFind The substring to find */ +substringBeforeLast: function (str, strToFind) { +var result = ''; +var indexOfStrToFind = str.lastIndexOf(strToFind); +if (indexOfStrToFind >= 0) { +result = str.substr(0, indexOfStrToFind); +} +return result; +}, + +/** + * Extracts the contents of the specified str before the strToFind. If the + * strToFind is not found or the first path of the str, an empty string is + * returned. + * + * @argument {string} str The full string + * @argument {string} strToFind The substring to find + */ substringBeforeFirst: function (str, strToFind) { var result = ''; var indexOfStrToFind = str.indexOf(strToFind);
nifi git commit: NIFI-4815 - Add EL support to ExecuteProcess
Repository: nifi Updated Branches: refs/heads/master bc3701569 -> ff95be2a1 NIFI-4815 - Add EL support to ExecuteProcess Signed-off-by: Matthew BurgessThis closes #2432 Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/ff95be2a Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/ff95be2a Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/ff95be2a Branch: refs/heads/master Commit: ff95be2a118ec5bde1ad88ae2ad8557cd93323a4 Parents: bc37015 Author: Pierre Villard Authored: Thu Jan 25 16:29:10 2018 +0100 Committer: Matthew Burgess Committed: Wed Feb 21 12:47:33 2018 -0500 -- .../org/apache/nifi/processors/standard/ExecuteProcess.java | 8 .../apache/nifi/processors/standard/TestExecuteProcess.java | 7 ++- 2 files changed, 10 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/nifi/blob/ff95be2a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteProcess.java -- diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteProcess.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteProcess.java index a7c41fe..c1ab946 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteProcess.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteProcess.java @@ -85,7 +85,7 @@ public class ExecuteProcess extends AbstractProcessor { .name("Command") .description("Specifies the command to be executed; if just the name of an executable is provided, it must be in the user's environment PATH.") .required(true) -.expressionLanguageSupported(false) +.expressionLanguageSupported(true) .addValidator(StandardValidators.NON_EMPTY_VALIDATOR) .build(); @@ -100,7 +100,7 @@ public class ExecuteProcess extends AbstractProcessor { public static final PropertyDescriptor WORKING_DIR = new PropertyDescriptor.Builder() .name("Working Directory") .description("The directory to use as the current working directory when executing the command") -.expressionLanguageSupported(false) +.expressionLanguageSupported(true) .addValidator(StandardValidators.createDirectoryExistsValidator(false, true)) .required(false) .build(); @@ -213,7 +213,7 @@ public class ExecuteProcess extends AbstractProcessor { final Long batchNanos = context.getProperty(BATCH_DURATION).asTimePeriod(TimeUnit.NANOSECONDS); -final String command = context.getProperty(COMMAND).getValue(); +final String command = context.getProperty(COMMAND).evaluateAttributeExpressions().getValue(); final String arguments = context.getProperty(COMMAND_ARGUMENTS).isSet() ? context.getProperty(COMMAND_ARGUMENTS).evaluateAttributeExpressions().getValue() : null; @@ -311,7 +311,7 @@ public class ExecuteProcess extends AbstractProcessor { final Boolean redirectErrorStream = context.getProperty(REDIRECT_ERROR_STREAM).asBoolean(); final ProcessBuilder builder = new ProcessBuilder(commandStrings); -final String workingDirName = context.getProperty(WORKING_DIR).getValue(); +final String workingDirName = context.getProperty(WORKING_DIR).evaluateAttributeExpressions().getValue(); if (workingDirName != null) { builder.directory(new File(workingDirName)); } http://git-wip-us.apache.org/repos/asf/nifi/blob/ff95be2a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteProcess.java -- diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteProcess.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteProcess.java index 0d2ed48..a5a08f0 100644 --- a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteProcess.java +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/TestExecuteProcess.java @@ -105,7 +105,8 @@ public class TestExecuteProcess { @Test public void validateProcessInterruptOnStop() throws Exception {
nifi-minifi-cpp git commit: MINIFICPP-409 Removing unused constants relating to Configuration Listener and its security. Removing these items from the README. Replacing stubbed out values in minifi.pr
Repository: nifi-minifi-cpp Updated Branches: refs/heads/master 0b1a01ad4 -> 86995ac02 MINIFICPP-409 Removing unused constants relating to Configuration Listener and its security. Removing these items from the README. Replacing stubbed out values in minifi.properties to reflect currently used keys. This closes #267. Signed-off-by: Aldrin PiriProject: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/commit/86995ac0 Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/tree/86995ac0 Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/diff/86995ac0 Branch: refs/heads/master Commit: 86995ac021a79c05703d78af4880184877232b79 Parents: 0b1a01a Author: Aldrin Piri Authored: Tue Feb 20 10:14:18 2018 -0500 Committer: Aldrin Piri Committed: Wed Feb 21 12:17:42 2018 -0500 -- README.md| 20 +--- conf/minifi.properties | 14 +- libminifi/include/properties/Configure.h | 11 +-- libminifi/src/Configure.cpp | 9 - 4 files changed, 11 insertions(+), 43 deletions(-) -- http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/86995ac0/README.md -- diff --git a/README.md b/README.md index 2bcb231..6f9233b 100644 --- a/README.md +++ b/README.md @@ -602,7 +602,7 @@ Each of the repositories can be configured to be volatile ( state kept in memory The content repository has a default option for "minimal.locking" set to true. This will attempt to use lock free structures. This may or may not be optimal as this requires additional additional searching of the underlying vector. This may be optimal for cases where max.count is not excessively high. In cases where object permanence is low within the repositories, minimal locking will result in better performance. If there are many processors and/or timing is such that the content repository fills up quickly, performance may be reduced. In all cases a locking cache is used to avoid the worst case complexity of O(n) for the content repository; however, this caching is more heavily used when "minimal.locking" is set to false. -### Provenance Report +### Provenance Reporter Add Provenance Reporting to config.yml Provenance Reporting: @@ -612,24 +612,6 @@ Each of the repositories can be configured to be volatile ( state kept in memory port uuid: 471deef6-2a6e-4a7d-912a-81cc17e3a204 batch size: 100 -### Http Configuration Listener - -Http Configuration Listener will pull flow file configuration from the remote command control server, -validate and apply the new flow configuration - -in minifi.properties - -nifi.configuration.listener.type=http -nifi.configuration.listener.http.url=https://localhost:8080 -nifi.configuration.listener.pull.interval=1 sec - -if you want to enable client certificate -nifi.https.need.ClientAuth=true -nifi.https.client.certificate=./conf/client.pem -nifi.https.client.private.key=./conf/client.key -nifi.https.client.pass.phrase=./conf/password -nifi.https.client.ca.certificate=./conf/nifi-cert.pem - ### REST API access Configure REST API user name and password http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/86995ac0/conf/minifi.properties -- diff --git a/conf/minifi.properties b/conf/minifi.properties index cb80fae..582a667 100644 --- a/conf/minifi.properties +++ b/conf/minifi.properties @@ -19,20 +19,24 @@ nifi.flow.configuration.file=./conf/config.yml nifi.administrative.yield.duration=30 sec # If a component has no work to do (is "bored"), how long should we wait before checking again for work? nifi.bored.yield.duration=10 millis + # Provenance Repository # nifi.provenance.repository.directory.default=${MINIFI_HOME}/provenance_repository nifi.provenance.repository.max.storage.time=1 MIN nifi.provenance.repository.max.storage.size=1 MB nifi.flowfile.repository.directory.default=${MINIFI_HOME}/flowfile_repository nifi.database.content.repository.directory.default=${MINIFI_HOME}/content_repository + #nifi.remote.input.secure=true -nifi.https.need.ClientAuth=true -nifi.https.client.certificate=./conf/client.pem -nifi.https.client.private.key=./conf/client.key -nifi.https.client.pass.phrase=./conf/password -nifi.https.client.ca.certificate=./conf/nifi-cert.pem +#nifi.security.need.ClientAuth= +#nifi.security.client.certificate= +#nifi.security.client.private.key= +#nifi.security.client.pass.phrase= +#nifi.security.client.ca.certificate= + #nifi.rest.api.user.name=admin #nifi.rest.api.password=password +
[2/2] nifi-minifi-cpp git commit: MINIFICPP-408: Resolve configuration of minificontroller. Ensure it can use context service if one exists within flow by loading configuration
MINIFICPP-408: Resolve configuration of minificontroller. Ensure it can use context service if one exists within flow by loading configuration This closes #265. Signed-off-by: Aldrin PiriProject: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/commit/0b1a01ad Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/tree/0b1a01ad Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/diff/0b1a01ad Branch: refs/heads/master Commit: 0b1a01ad4a3e070c5ab96c0f97d3240aac7b6788 Parents: 13a283d Author: Marc Parisi Authored: Tue Feb 20 09:42:09 2018 -0500 Committer: Aldrin Piri Committed: Wed Feb 21 12:10:02 2018 -0500 -- controller/Controller.h | 47 controller/MiNiFiController.cpp | 49 - libminifi/include/c2/ControllerSocketProtocol.h | 2 +- libminifi/include/io/ServerSocket.h | 20 +- libminifi/include/io/Sockets.h | 2 + .../include/io/tls/SecureDescriptorStream.h | 189 libminifi/include/io/tls/TLSServerSocket.h | 9 +- libminifi/src/c2/ControllerSocketProtocol.cpp | 87 +--- libminifi/src/io/ServerSocket.cpp | 8 +- libminifi/src/io/tls/SecureDescriptorStream.cpp | 216 +++ libminifi/src/io/tls/TLSServerSocket.cpp| 24 ++- libminifi/src/io/tls/TLSSocket.cpp | 8 +- .../test/integration/SecureSocketGetTCPTest.cpp | 1 - 13 files changed, 614 insertions(+), 48 deletions(-) -- http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/0b1a01ad/controller/Controller.h -- diff --git a/controller/Controller.h b/controller/Controller.h index 9cd3ba1..809e74c 100644 --- a/controller/Controller.h +++ b/controller/Controller.h @@ -18,6 +18,8 @@ #ifndef CONTROLLER_CONTROLLER_H_ #define CONTROLLER_CONTROLLER_H_ +#include "core/RepositoryFactory.h" +#include "core/ConfigurationFactory.h" #include "io/ClientSocket.h" #include "c2/ControllerSocketProtocol.h" @@ -197,4 +199,49 @@ int listConnections(std::unique_ptr socket, std::ostream return 0; } +std::shared_ptr getControllerService(const std::shared_ptr , const std::string _name) { + + std::string prov_repo_class = "provenancerepository"; + std::string flow_repo_class = "flowfilerepository"; + std::string nifi_configuration_class_name = "yamlconfiguration"; + std::string content_repo_class = "filesystemrepository"; + + configuration->get(minifi::Configure::nifi_provenance_repository_class_name, prov_repo_class); + // Create repos for flow record and provenance + std::shared_ptr prov_repo = core::createRepository(prov_repo_class, true, "provenance"); + prov_repo->initialize(configuration); + + configuration->get(minifi::Configure::nifi_flow_repository_class_name, flow_repo_class); + + std::shared_ptr flow_repo = core::createRepository(flow_repo_class, true, "flowfile"); + + flow_repo->initialize(configuration); + + configuration->get(minifi::Configure::nifi_content_repository_class_name, content_repo_class); + + std::shared_ptr content_repo = core::createContentRepository(content_repo_class, true, "content"); + + content_repo->initialize(configuration); + + std::string content_repo_path; + if (configuration->get(minifi::Configure::nifi_dbcontent_repository_directory_default, content_repo_path)) { +std::cout << "setting default dir to " << content_repo_path << std::endl; +minifi::setDefaultDirectory(content_repo_path); + } + + configuration->get(minifi::Configure::nifi_configuration_class_name, nifi_configuration_class_name); + + std::shared_ptr stream_factory = std::make_shared(configuration); + + std::unique_ptr flow_configuration = core::createFlowConfiguration(prov_repo, flow_repo, content_repo, configuration, stream_factory, nifi_configuration_class_name); + + std::shared_ptr controller = std::unique_ptr( + new minifi::FlowController(prov_repo, flow_repo, configuration, std::move(flow_configuration), content_repo)); + controller->load(); + auto service = controller->getControllerService(service_name); + if (service) +service->onEnable(); + return service; +} + #endif /* CONTROLLER_CONTROLLER_H_ */ http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/0b1a01ad/controller/MiNiFiController.cpp -- diff --git a/controller/MiNiFiController.cpp b/controller/MiNiFiController.cpp index 65d9dbd..811aa07 100644 --- a/controller/MiNiFiController.cpp +++ b/controller/MiNiFiController.cpp @@ -34,7 +34,7 @@ #include "core/RepositoryFactory.h" #include "FlowController.h" #include "Main.h" - +#include
[1/2] nifi-minifi-cpp git commit: MINIFICPP-406: Ensure that Context Service OR minifi properties can be used to configure secure comms ( HTTP & Socket)
Repository: nifi-minifi-cpp Updated Branches: refs/heads/master c89ef2206 -> 0b1a01ad4 MINIFICPP-406: Ensure that Context Service OR minifi properties can be used to configure secure comms ( HTTP & Socket) Project: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/commit/13a283d9 Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/tree/13a283d9 Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/diff/13a283d9 Branch: refs/heads/master Commit: 13a283d981596b71ba01aa44fe52536712be7925 Parents: c89ef22 Author: Marc ParisiAuthored: Sat Feb 17 13:00:26 2018 -0500 Committer: Marc Parisi Committed: Tue Feb 20 07:41:45 2018 -0500 -- README.md | 2 +- cmake/BuildTests.cmake | 2 + libminifi/include/io/ClientSocket.h | 2 + libminifi/include/io/StreamFactory.h| 12 +- libminifi/include/io/TLSSocket.h| 193 libminifi/include/io/tls/TLSServerSocket.h | 71 + libminifi/include/io/tls/TLSSocket.h| 58 ++-- libminifi/include/processors/GetTCP.h | 9 +- .../include/sitetosite/SiteToSiteFactory.h | 11 +- libminifi/src/c2/ControllerSocketProtocol.cpp | 2 +- libminifi/src/io/ClientSocket.cpp | 21 +- libminifi/src/io/StreamFactory.cpp | 20 +- libminifi/src/io/tls/TLSServerSocket.cpp| 114 +++ libminifi/src/io/tls/TLSSocket.cpp | 303 --- libminifi/src/processors/GetTCP.cpp | 24 +- libminifi/test/integration/IntegrationBase.h| 4 +- .../test/integration/SecureSocketGetTCPTest.cpp | 198 libminifi/test/resources/TestGetTCPSecure.yml | 90 ++ libminifi/test/resources/nifi-key.pem | 27 ++ libminifi/test/unit/GetTCPTests.cpp | 4 + libminifi/test/unit/SocketTests.cpp | 14 + libminifi/test/unit/UpdateAttributeTests.cpp| 14 +- 22 files changed, 897 insertions(+), 298 deletions(-) -- http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/13a283d9/README.md -- diff --git a/README.md b/README.md index 3228cba..2bcb231 100644 --- a/README.md +++ b/README.md @@ -478,7 +478,7 @@ Additionally, users can utilize the MiNiFi Toolkit Converter (version 0.0.1 - sc if you do not want to enable client certificate base authorization nifi.security.need.ClientAuth=false -If you are using HTTP Site to Site, you have the option of specifying an SSL Context Service definition for the RPGs. +You have the option of specifying an SSL Context Service definition for the RPGs instead of the properties above. This will link to a corresponding SSL Context service defined in the flow. To do this specify the SSL Context Service Property in your RPGs and link it to http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/13a283d9/cmake/BuildTests.cmake -- diff --git a/cmake/BuildTests.cmake b/cmake/BuildTests.cmake index 9a180f0..2a0277b 100644 --- a/cmake/BuildTests.cmake +++ b/cmake/BuildTests.cmake @@ -117,3 +117,5 @@ endforeach() add_test(NAME TestExecuteProcess COMMAND TestExecuteProcess ) +add_test(NAME SecureSocketGetTCPTest COMMAND SecureSocketGetTCPTest "${TEST_RESOURCES}/TestGetTCPSecure.yml" "${TEST_RESOURCES}/") + http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/13a283d9/libminifi/include/io/ClientSocket.h -- diff --git a/libminifi/include/io/ClientSocket.h b/libminifi/include/io/ClientSocket.h index fb5758f..263865c 100644 --- a/libminifi/include/io/ClientSocket.h +++ b/libminifi/include/io/ClientSocket.h @@ -265,6 +265,8 @@ class Socket : public BaseStream { std::atomic socket_max_; uint16_t listeners_; + + bool nonBlocking_; private: std::shared_ptr logger_; static std::string init_hostname() { http://git-wip-us.apache.org/repos/asf/nifi-minifi-cpp/blob/13a283d9/libminifi/include/io/StreamFactory.h -- diff --git a/libminifi/include/io/StreamFactory.h b/libminifi/include/io/StreamFactory.h index bcb2847..bbb09b9 100644 --- a/libminifi/include/io/StreamFactory.h +++ b/libminifi/include/io/StreamFactory.h @@ -21,7 +21,7 @@ #include "Sockets.h" #include "utils/StringUtils.h" #include "validation.h" - +#include "controllers/SSLContextService.h" namespace org { namespace apache { namespace nifi { @@ -34,6 +34,8 @@ class AbstractStreamFactory { } virtual std::unique_ptr createSocket(const
nifi git commit: NIFI-4814 - Add distinctive attribute to S2S reporting tasks
Repository: nifi Updated Branches: refs/heads/master b4b970b87 -> bc3701569 NIFI-4814 - Add distinctive attribute to S2S reporting tasks NIFI-4814 - added UUID attribute NIFI-4814 - added type attribute Signed-off-by: Matthew BurgessThis closes #2431 Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/bc370156 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/bc370156 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/bc370156 Branch: refs/heads/master Commit: bc37015693be559d6a6d533c34f8fdff4f055c6e Parents: b4b970b Author: Pierre Villard Authored: Wed Jan 24 16:15:22 2018 +0100 Committer: Matthew Burgess Committed: Wed Feb 21 11:14:38 2018 -0500 -- .../apache/nifi/reporting/SiteToSiteBulletinReportingTask.java| 3 +++ .../apache/nifi/reporting/SiteToSiteProvenanceReportingTask.java | 3 +++ .../org/apache/nifi/reporting/SiteToSiteStatusReportingTask.java | 3 +++ 3 files changed, 9 insertions(+) -- http://git-wip-us.apache.org/repos/asf/nifi/blob/bc370156/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteBulletinReportingTask.java -- diff --git a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteBulletinReportingTask.java b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteBulletinReportingTask.java index 27c8649..226e879 100644 --- a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteBulletinReportingTask.java +++ b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteBulletinReportingTask.java @@ -159,6 +159,9 @@ public class SiteToSiteBulletinReportingTask extends AbstractSiteToSiteReporting final Map attributes = new HashMap<>(); final String transactionId = UUID.randomUUID().toString(); attributes.put("reporting.task.transaction.id", transactionId); +attributes.put("reporting.task.name", getName()); +attributes.put("reporting.task.uuid", getIdentifier()); +attributes.put("reporting.task.type", this.getClass().getSimpleName()); attributes.put("mime.type", "application/json"); final byte[] data = jsonArray.toString().getBytes(StandardCharsets.UTF_8); http://git-wip-us.apache.org/repos/asf/nifi/blob/bc370156/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteProvenanceReportingTask.java -- diff --git a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteProvenanceReportingTask.java b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteProvenanceReportingTask.java index 8331b46..b458d73 100644 --- a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteProvenanceReportingTask.java +++ b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteProvenanceReportingTask.java @@ -277,6 +277,9 @@ public class SiteToSiteProvenanceReportingTask extends AbstractSiteToSiteReporti final Map attributes = new HashMap<>(); final String transactionId = UUID.randomUUID().toString(); attributes.put("reporting.task.transaction.id", transactionId); +attributes.put("reporting.task.name", getName()); +attributes.put("reporting.task.uuid", getIdentifier()); +attributes.put("reporting.task.type", this.getClass().getSimpleName()); attributes.put("mime.type", "application/json"); final byte[] data = jsonArray.toString().getBytes(StandardCharsets.UTF_8); http://git-wip-us.apache.org/repos/asf/nifi/blob/bc370156/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteStatusReportingTask.java -- diff --git
nifi git commit: NIFI-4816: Allow name to be updated for ReportingTasks
Repository: nifi Updated Branches: refs/heads/master 54b165970 -> b4b970b87 NIFI-4816: Allow name to be updated for ReportingTasks This closes #2452 Signed-off-by: Scott AslanProject: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/b4b970b8 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/b4b970b8 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/b4b970b8 Branch: refs/heads/master Commit: b4b970b8762262b51da6bb5fcfe56d026f17b2cb Parents: 54b1659 Author: Matthew Burgess Authored: Tue Feb 6 16:33:56 2018 -0500 Committer: Scott Aslan Committed: Wed Feb 21 09:42:25 2018 -0500 -- .../org/apache/nifi/controller/ConfigurationContext.java | 6 ++ .../org/apache/nifi/reporting/AbstractReportingTask.java | 11 +++ .../org/apache/nifi/util/MockConfigurationContext.java | 5 + .../controller/service/StandardConfigurationContext.java | 5 + .../org/apache/nifi/mock/MockConfigurationContext.java | 5 + 5 files changed, 32 insertions(+) -- http://git-wip-us.apache.org/repos/asf/nifi/blob/b4b970b8/nifi-api/src/main/java/org/apache/nifi/controller/ConfigurationContext.java -- diff --git a/nifi-api/src/main/java/org/apache/nifi/controller/ConfigurationContext.java b/nifi-api/src/main/java/org/apache/nifi/controller/ConfigurationContext.java index e6b3cb2..c1316b5 100644 --- a/nifi-api/src/main/java/org/apache/nifi/controller/ConfigurationContext.java +++ b/nifi-api/src/main/java/org/apache/nifi/controller/ConfigurationContext.java @@ -52,4 +52,10 @@ public interface ConfigurationContext extends PropertyContext { * period */ Long getSchedulingPeriod(TimeUnit timeUnit); + +/** + * Returns the component's (ControllerService, ReportingTask, e.g.) name + * @return the String name of this component + */ +String getName(); } http://git-wip-us.apache.org/repos/asf/nifi/blob/b4b970b8/nifi-api/src/main/java/org/apache/nifi/reporting/AbstractReportingTask.java -- diff --git a/nifi-api/src/main/java/org/apache/nifi/reporting/AbstractReportingTask.java b/nifi-api/src/main/java/org/apache/nifi/reporting/AbstractReportingTask.java index 93d23b2..339231a 100644 --- a/nifi-api/src/main/java/org/apache/nifi/reporting/AbstractReportingTask.java +++ b/nifi-api/src/main/java/org/apache/nifi/reporting/AbstractReportingTask.java @@ -18,7 +18,9 @@ package org.apache.nifi.reporting; import java.util.concurrent.TimeUnit; +import org.apache.nifi.annotation.lifecycle.OnScheduled; import org.apache.nifi.components.AbstractConfigurableComponent; +import org.apache.nifi.controller.ConfigurationContext; import org.apache.nifi.controller.ControllerServiceLookup; import org.apache.nifi.controller.NodeTypeProvider; import org.apache.nifi.logging.ComponentLog; @@ -76,6 +78,15 @@ public abstract class AbstractReportingTask extends AbstractConfigurableComponen } /** + * Sets various component information using the given context + * @param context the context to use for this reporting task + */ +@OnScheduled +public void setComponentInfo(ConfigurationContext context) { +this.name = context.getName(); +} + +/** * @param timeUnit of scheduling period * @return the amount of times that elapses between the moment that this * ReportingTask finishes its invocation of http://git-wip-us.apache.org/repos/asf/nifi/blob/b4b970b8/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java -- diff --git a/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java b/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java index 91d805e..307f474 100644 --- a/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java +++ b/nifi-mock/src/main/java/org/apache/nifi/util/MockConfigurationContext.java @@ -97,4 +97,9 @@ public class MockConfigurationContext implements ConfigurationContext { public Long getSchedulingPeriod(final TimeUnit timeUnit) { return 0L; } + +@Override +public String getName() { +return null; +} } http://git-wip-us.apache.org/repos/asf/nifi/blob/b4b970b8/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/service/StandardConfigurationContext.java -- diff --git
nifi git commit: NIFI-4429 Added GetMongoAggregation to support running Mongo aggregations.
Repository: nifi Updated Branches: refs/heads/master 160bea8bf -> 54b165970 NIFI-4429 Added GetMongoAggregation to support running Mongo aggregations. Signed-off-by: Matthew BurgessThis closes #2180 Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/54b16597 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/54b16597 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/54b16597 Branch: refs/heads/master Commit: 54b1659704aa42111e6d42bd7a2a3dfc1a65ae67 Parents: 160bea8 Author: Mike Thomsen Authored: Tue Feb 20 12:46:00 2018 -0400 Committer: Matthew Burgess Committed: Wed Feb 21 08:58:38 2018 -0500 -- .../mongodb/AbstractMongoProcessor.java | 77 +-- .../nifi/processors/mongodb/GetMongo.java | 175 .../processors/mongodb/RunMongoAggregation.java | 210 +++ .../org.apache.nifi.processor.Processor | 1 + .../additionalDetails.html | 44 .../nifi/processors/mongodb/GetMongoTest.java | 22 +- .../mongodb/RunMongoAggregationTest.java| 186 7 files changed, 609 insertions(+), 106 deletions(-) -- http://git-wip-us.apache.org/repos/asf/nifi/blob/54b16597/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/AbstractMongoProcessor.java -- diff --git a/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/AbstractMongoProcessor.java b/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/AbstractMongoProcessor.java index 10f1b61..bd2c0e3 100644 --- a/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/AbstractMongoProcessor.java +++ b/nifi-nar-bundles/nifi-mongodb-bundle/nifi-mongodb-processors/src/main/java/org/apache/nifi/processors/mongodb/AbstractMongoProcessor.java @@ -18,13 +18,13 @@ */ package org.apache.nifi.processors.mongodb; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import javax.net.ssl.SSLContext; - +import com.mongodb.MongoClient; +import com.mongodb.MongoClientOptions; +import com.mongodb.MongoClientOptions.Builder; +import com.mongodb.MongoClientURI; import com.mongodb.WriteConcern; +import com.mongodb.client.MongoCollection; +import com.mongodb.client.MongoDatabase; import org.apache.commons.lang3.StringUtils; import org.apache.nifi.annotation.lifecycle.OnScheduled; import org.apache.nifi.annotation.lifecycle.OnStopped; @@ -33,17 +33,20 @@ import org.apache.nifi.components.PropertyDescriptor; import org.apache.nifi.flowfile.FlowFile; import org.apache.nifi.processor.AbstractProcessor; import org.apache.nifi.processor.ProcessContext; +import org.apache.nifi.processor.ProcessSession; +import org.apache.nifi.processor.Relationship; import org.apache.nifi.processor.util.StandardValidators; import org.apache.nifi.security.util.SslContextFactory; import org.apache.nifi.ssl.SSLContextService; import org.bson.Document; -import com.mongodb.MongoClient; -import com.mongodb.MongoClientOptions; -import com.mongodb.MongoClientOptions.Builder; -import com.mongodb.MongoClientURI; -import com.mongodb.client.MongoCollection; -import com.mongodb.client.MongoDatabase; +import javax.net.ssl.SSLContext; +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; public abstract class AbstractMongoProcessor extends AbstractProcessor { static final String WRITE_CONCERN_ACKNOWLEDGED = "ACKNOWLEDGED"; @@ -55,6 +58,7 @@ public abstract class AbstractMongoProcessor extends AbstractProcessor { protected static final PropertyDescriptor URI = new PropertyDescriptor.Builder() .name("Mongo URI") +.displayName("Mongo URI") .description("MongoURI, typically of the form: mongodb://host1[:port1][,host2[:port2],...]") .required(true) .expressionLanguageSupported(true) @@ -62,6 +66,7 @@ public abstract class AbstractMongoProcessor extends AbstractProcessor { .build(); protected static final PropertyDescriptor DATABASE_NAME = new PropertyDescriptor.Builder() .name("Mongo Database Name") +.displayName("Mongo Database Name") .description("The name of the database to use") .required(true) .expressionLanguageSupported(true) @@ -95,6 +100,7 @@ public abstract class AbstractMongoProcessor extends AbstractProcessor { public static final