nifi-minifi git commit: Preparing C2 Server development branch

2018-02-21 Thread kdoran
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 Doran 
Authored: 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

2018-02-21 Thread kdoran
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.

2018-02-21 Thread scottyaslan
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 Aslan 


Project: 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

2018-02-21 Thread mattyb149
Repository: nifi
Updated Branches:
  refs/heads/master bc3701569 -> ff95be2a1


NIFI-4815 - Add EL support to ExecuteProcess

Signed-off-by: Matthew Burgess 

This 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

2018-02-21 Thread aldrin
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 Piri 


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/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

2018-02-21 Thread aldrin
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 Piri 


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/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)

2018-02-21 Thread aldrin
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 Parisi 
Authored: 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

2018-02-21 Thread mattyb149
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 Burgess 

This 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

2018-02-21 Thread scottyaslan
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 Aslan 


Project: 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.

2018-02-21 Thread mattyb149
Repository: nifi
Updated Branches:
  refs/heads/master 160bea8bf -> 54b165970


NIFI-4429 Added GetMongoAggregation to support running Mongo aggregations.

Signed-off-by: Matthew Burgess 

This 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