nifi git commit: NIFI-3853: - Filtering out certain control characters and unpaired Unicode surrogate codepoints prior to saving the flow.xml.
Repository: nifi Updated Branches: refs/heads/master bf15502e1 -> 6ffb78d40 NIFI-3853: - Filtering out certain control characters and unpaired Unicode surrogate codepoints prior to saving the flow.xml. This closes #1784. Signed-off-by: Andy LoPrestoProject: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/6ffb78d4 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/6ffb78d4 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/6ffb78d4 Branch: refs/heads/master Commit: 6ffb78d40465daff3b77a3b426732b5b515e3233 Parents: bf15502 Author: Matt Gilman Authored: Thu May 11 14:51:50 2017 -0400 Committer: Andy LoPresto Committed: Mon May 15 19:02:03 2017 -0700 -- nifi-docs/src/main/asciidoc/user-guide.adoc | 4 + .../controller/AbstractConfiguredComponent.java | 7 +- .../apache/nifi/controller/AbstractPort.java| 35 +++ .../apache/nifi/util/CharacterFilterUtils.java | 50 + .../nifi/util/CharacterFilterUtilsTest.java | 33 ++ .../nifi/controller/StandardProcessorNode.java | 3 +- .../nifi/controller/label/StandardLabel.java| 5 +- .../reporting/AbstractReportingTaskNode.java| 12 +-- .../serialization/StandardFlowSerializer.java | 3 +- .../service/StandardControllerServiceNode.java | 3 +- .../StandardFlowSerializerTest.java | 102 +++ 11 files changed, 226 insertions(+), 31 deletions(-) -- http://git-wip-us.apache.org/repos/asf/nifi/blob/6ffb78d4/nifi-docs/src/main/asciidoc/user-guide.adoc -- diff --git a/nifi-docs/src/main/asciidoc/user-guide.adoc b/nifi-docs/src/main/asciidoc/user-guide.adoc index 23ec96d..96e6714 100644 --- a/nifi-docs/src/main/asciidoc/user-guide.adoc +++ b/nifi-docs/src/main/asciidoc/user-guide.adoc @@ -478,6 +478,10 @@ option but rather has a `View Configuration` option. Processor configuration can running. You must first stop the Processor and wait for all of its active tasks to complete before configuring the Processor again. +Note that entering certain control characters are not supported and will be automatically filtered out when entered. The following characters and any +unpaired Unicode surrogate codepoints will not be retained in any configuration: + + [#x0], [#x1], [#x2], [#x3], [#x4], [#x5], [#x6], [#x7], [#x8], [#xB], [#xC], [#xE], [#xF], [#x10], [#x11], [#x12], [#x13], [#x14], [#x15], [#x16], [#x17], [#x18], [#x19], [#x1A], [#x1B], [#x1C], [#x1D], [#x1E], [#x1F], [#xFFFE], [#x] Settings Tab http://git-wip-us.apache.org/repos/asf/nifi/blob/6ffb78d4/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/controller/AbstractConfiguredComponent.java -- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/controller/AbstractConfiguredComponent.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/controller/AbstractConfiguredComponent.java index 50a71e7..d43e172 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/controller/AbstractConfiguredComponent.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core-api/src/main/java/org/apache/nifi/controller/AbstractConfiguredComponent.java @@ -29,6 +29,7 @@ import org.apache.nifi.controller.service.ControllerServiceProvider; import org.apache.nifi.nar.ExtensionManager; import org.apache.nifi.nar.NarCloseable; import org.apache.nifi.registry.VariableRegistry; +import org.apache.nifi.util.CharacterFilterUtils; import org.apache.nifi.util.file.classloader.ClassLoaderUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -105,7 +106,7 @@ public abstract class AbstractConfiguredComponent implements ConfigurableCompone @Override public void setName(final String name) { -this.name.set(Objects.requireNonNull(name).intern()); + this.name.set(CharacterFilterUtils.filterInvalidXmlCharacters(Objects.requireNonNull(name).intern())); } @Override @@ -115,7 +116,7 @@ public abstract class AbstractConfiguredComponent implements ConfigurableCompone @Override public void setAnnotationData(final String data) { -annotationData.set(data); + annotationData.set(CharacterFilterUtils.filterInvalidXmlCharacters(data)); } @Override @@ -140,7 +141,7 @@ public abstract class AbstractConfiguredComponent implements ConfigurableCompone if
[jira] [Commented] (MINIFI-223) Support HTTP(s) as transport mechanism for Site to Site
[ https://issues.apache.org/jira/browse/MINIFI-223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16011259#comment-16011259 ] Aldrin Piri commented on MINIFI-223: [~bqiu] is this something you are actively working on? I do not believe we have this completed as I scanned through the commit log. > Support HTTP(s) as transport mechanism for Site to Site > --- > > Key: MINIFI-223 > URL: https://issues.apache.org/jira/browse/MINIFI-223 > Project: Apache NiFi MiNiFi > Issue Type: Improvement > Components: C++, Data Transmission >Reporter: Aldrin Piri >Assignee: bqiu > > The C++ implementation would benefit from having an HTTP(S) implementation of > Site to Site as was described in > https://cwiki.apache.org/confluence/display/NIFI/Support+HTTP(S)+as+a+transport+mechanism+for+Site-to-Site > and performed in NIFI-1857 -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Closed] (MINIFI-173) Upgrade logback
[ https://issues.apache.org/jira/browse/MINIFI-173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aldrin Piri closed MINIFI-173. -- > Upgrade logback > --- > > Key: MINIFI-173 > URL: https://issues.apache.org/jira/browse/MINIFI-173 > Project: Apache NiFi MiNiFi > Issue Type: Improvement >Reporter: Joseph Percivall >Assignee: Aldrin Piri > Fix For: 0.2.0 > > > Due to this regression[1] in 1.1.8, the logback logs are printed to the > command line when using SizeAndTimeBasedRollingPolicy and we use > SizeAndTimeBasedRollingPolicy in our default config. > http://jira.qos.ch/projects/LOGBACK/versions/11410 > [1] http://jira.qos.ch/browse/LOGBACK-1236 -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (MINIFI-173) Upgrade logback
[ https://issues.apache.org/jira/browse/MINIFI-173?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16011180#comment-16011180 ] Aldrin Piri commented on MINIFI-173: This was incorporated by NIFI-255 as part of the upgrade process and PR https://github.com/apache/nifi-minifi/pull/84 > Upgrade logback > --- > > Key: MINIFI-173 > URL: https://issues.apache.org/jira/browse/MINIFI-173 > Project: Apache NiFi MiNiFi > Issue Type: Improvement >Reporter: Joseph Percivall > Fix For: 0.2.0 > > > Due to this regression[1] in 1.1.8, the logback logs are printed to the > command line when using SizeAndTimeBasedRollingPolicy and we use > SizeAndTimeBasedRollingPolicy in our default config. > http://jira.qos.ch/projects/LOGBACK/versions/11410 > [1] http://jira.qos.ch/browse/LOGBACK-1236 -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Assigned] (MINIFI-173) Upgrade logback
[ https://issues.apache.org/jira/browse/MINIFI-173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aldrin Piri reassigned MINIFI-173: -- Assignee: Aldrin Piri > Upgrade logback > --- > > Key: MINIFI-173 > URL: https://issues.apache.org/jira/browse/MINIFI-173 > Project: Apache NiFi MiNiFi > Issue Type: Improvement >Reporter: Joseph Percivall >Assignee: Aldrin Piri > Fix For: 0.2.0 > > > Due to this regression[1] in 1.1.8, the logback logs are printed to the > command line when using SizeAndTimeBasedRollingPolicy and we use > SizeAndTimeBasedRollingPolicy in our default config. > http://jira.qos.ch/projects/LOGBACK/versions/11410 > [1] http://jira.qos.ch/browse/LOGBACK-1236 -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Resolved] (MINIFI-173) Upgrade logback
[ https://issues.apache.org/jira/browse/MINIFI-173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aldrin Piri resolved MINIFI-173. Resolution: Done > Upgrade logback > --- > > Key: MINIFI-173 > URL: https://issues.apache.org/jira/browse/MINIFI-173 > Project: Apache NiFi MiNiFi > Issue Type: Improvement >Reporter: Joseph Percivall > Fix For: 0.2.0 > > > Due to this regression[1] in 1.1.8, the logback logs are printed to the > command line when using SizeAndTimeBasedRollingPolicy and we use > SizeAndTimeBasedRollingPolicy in our default config. > http://jira.qos.ch/projects/LOGBACK/versions/11410 > [1] http://jira.qos.ch/browse/LOGBACK-1236 -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (MINIFI-173) Upgrade logback
[ https://issues.apache.org/jira/browse/MINIFI-173?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aldrin Piri updated MINIFI-173: --- Fix Version/s: 0.2.0 > Upgrade logback > --- > > Key: MINIFI-173 > URL: https://issues.apache.org/jira/browse/MINIFI-173 > Project: Apache NiFi MiNiFi > Issue Type: Improvement >Reporter: Joseph Percivall > Fix For: 0.2.0 > > > Due to this regression[1] in 1.1.8, the logback logs are printed to the > command line when using SizeAndTimeBasedRollingPolicy and we use > SizeAndTimeBasedRollingPolicy in our default config. > http://jira.qos.ch/projects/LOGBACK/versions/11410 > [1] http://jira.qos.ch/browse/LOGBACK-1236 -- This message was sent by Atlassian JIRA (v6.3.15#6346)
nifi git commit: NIFI-3763 Add new processor to log user defined messages built with NiFi Expression Language
Repository: nifi Updated Branches: refs/heads/master 1811ba568 -> bf15502e1 NIFI-3763 Add new processor to log user defined messages built with NiFi Expression Language Signed-off-by: Matt BurgessThis closes #1737 Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/bf15502e Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/bf15502e Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/bf15502e Branch: refs/heads/master Commit: bf15502e1994c68d706a2a2749495b57fd9a11e4 Parents: 1811ba5 Author: Peter G. Horvath Authored: Mon May 15 18:10:26 2017 +0200 Committer: Matt Burgess Committed: Mon May 15 14:18:57 2017 -0400 -- .../src/main/resources/conf/logback.xml | 1 + .../nifi/processors/standard/LogMessage.java| 211 +++ .../org.apache.nifi.processor.Processor | 1 + .../processors/standard/TestLogMessage.java | 130 4 files changed, 343 insertions(+) -- http://git-wip-us.apache.org/repos/asf/nifi/blob/bf15502e/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/conf/logback.xml -- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/conf/logback.xml b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/conf/logback.xml index f2da200..da1adf0 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/conf/logback.xml +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-resources/src/main/resources/conf/logback.xml @@ -86,6 +86,7 @@ + http://git-wip-us.apache.org/repos/asf/nifi/blob/bf15502e/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/LogMessage.java -- diff --git a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/LogMessage.java b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/LogMessage.java new file mode 100644 index 000..2d6b318 --- /dev/null +++ b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/LogMessage.java @@ -0,0 +1,211 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.processors.standard; + +import org.apache.nifi.annotation.behavior.EventDriven; +import org.apache.nifi.annotation.behavior.InputRequirement; +import org.apache.nifi.annotation.behavior.InputRequirement.Requirement; +import org.apache.nifi.annotation.behavior.SideEffectFree; +import org.apache.nifi.annotation.behavior.SupportsBatching; +import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.Tags; +import org.apache.nifi.components.PropertyDescriptor; +import org.apache.nifi.flowfile.FlowFile; +import org.apache.nifi.logging.ComponentLog; +import org.apache.nifi.processor.AbstractProcessor; +import org.apache.nifi.processor.ProcessContext; +import org.apache.nifi.processor.ProcessSession; +import org.apache.nifi.processor.ProcessorInitializationContext; +import org.apache.nifi.processor.Relationship; +import org.apache.nifi.processor.exception.ProcessException; +import org.apache.nifi.processor.util.StandardValidators; +import org.eclipse.jetty.util.StringUtil; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +@EventDriven +@SideEffectFree +@SupportsBatching +@Tags({"attributes", "logging"}) +@InputRequirement(Requirement.INPUT_REQUIRED) +@CapabilityDescription("Emits a log message at the specified log level") +public class LogMessage
nifi git commit: NIFI-2624: Avro logical types for ExecuteSQL and QueryDatabaseTable
Repository: nifi Updated Branches: refs/heads/master 20a1fc24d -> 1811ba568 NIFI-2624: Avro logical types for ExecuteSQL and QueryDatabaseTable - Added Logical type support for DECIMAL/NUMBER, DATE, TIME and TIMESTAMP column types. - Added Logical type 'decimal' to AvroReader so that Avro records with logical types written by ExecuteSQL and QueryDatabaseTable can be consumed by AvroReader. - Added JdbcCommon.AvroConversionOptions to consolidate conversion options. - Added 'Use Avro Logical Types' property to ExecuteSQL and QueryDatabaseTable to toggle whether to use Logical types. - Added 'mime.type' FlowFile attribute as 'application/avro-binary' so that output FlowFiles can be displayed by content viewer. Signed-off-by: Matt BurgessThis closes #1798 Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/1811ba56 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/1811ba56 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/1811ba56 Branch: refs/heads/master Commit: 1811ba568152d0586c29861899e7ceb2c6b06d24 Parents: 20a1fc2 Author: Koji Kawamura Authored: Tue Jan 24 12:16:52 2017 +0900 Committer: Matt Burgess Committed: Mon May 15 14:15:23 2017 -0400 -- .../java/org/apache/nifi/avro/AvroTypeUtil.java | 30 .../nifi-standard-processors/pom.xml| 4 +- .../AbstractDatabaseFetchProcessor.java | 10 -- .../nifi/processors/standard/ExecuteSQL.java| 22 +-- .../processors/standard/QueryDatabaseTable.java | 15 +- .../processors/standard/util/JdbcCommon.java| 179 +-- .../standard/util/TestJdbcCommon.java | 122 - .../avro/TestAvroReaderWithEmbeddedSchema.java | 5 + .../apache/nifi/avro/TestWriteAvroResult.java | 16 +- .../src/test/resources/avro/logical-types.avsc | 7 + 10 files changed, 364 insertions(+), 46 deletions(-) -- http://git-wip-us.apache.org/repos/asf/nifi/blob/1811ba56/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-avro-record-utils/src/main/java/org/apache/nifi/avro/AvroTypeUtil.java -- diff --git a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-avro-record-utils/src/main/java/org/apache/nifi/avro/AvroTypeUtil.java b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-avro-record-utils/src/main/java/org/apache/nifi/avro/AvroTypeUtil.java index 8ded9bc..0682b34 100644 --- a/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-avro-record-utils/src/main/java/org/apache/nifi/avro/AvroTypeUtil.java +++ b/nifi-nar-bundles/nifi-extension-utils/nifi-record-utils/nifi-avro-record-utils/src/main/java/org/apache/nifi/avro/AvroTypeUtil.java @@ -17,7 +17,9 @@ package org.apache.nifi.avro; +import org.apache.avro.Conversions; import org.apache.avro.LogicalType; +import org.apache.avro.LogicalTypes; import org.apache.avro.Schema; import org.apache.avro.Schema.Field; import org.apache.avro.Schema.Type; @@ -39,6 +41,8 @@ import org.apache.nifi.serialization.record.util.DataTypeUtils; import org.apache.nifi.serialization.record.util.IllegalTypeConversionException; import java.io.IOException; +import java.math.BigDecimal; +import java.math.MathContext; import java.nio.ByteBuffer; import java.time.Duration; import java.time.temporal.ChronoUnit; @@ -61,6 +65,7 @@ public class AvroTypeUtil { private static final String LOGICAL_TYPE_TIME_MICROS = "time-micros"; private static final String LOGICAL_TYPE_TIMESTAMP_MILLIS = "timestamp-millis"; private static final String LOGICAL_TYPE_TIMESTAMP_MICROS = "timestamp-micros"; +private static final String LOGICAL_TYPE_DECIMAL = "decimal"; public static Schema extractAvroSchema(final RecordSchema recordSchema) throws SchemaNotFoundException { if (recordSchema == null) { @@ -107,6 +112,10 @@ public class AvroTypeUtil { case LOGICAL_TYPE_TIMESTAMP_MILLIS: case LOGICAL_TYPE_TIMESTAMP_MICROS: return RecordFieldType.TIMESTAMP.getDataType(); +case LOGICAL_TYPE_DECIMAL: +// We convert Decimal to Double. +// Alternatively we could convert it to String, but numeric type is generally more preferable by users. +return RecordFieldType.DOUBLE.getDataType(); } } @@ -262,6 +271,10 @@ public class AvroTypeUtil { * Convert a raw value to an Avro object to serialize in Avro type system. * The counter-part method which reads an Avro object back to a raw value is {@link #normalizeValue(Object, Schema)}. */ +public static Object convertToAvroObject(final Object rawValue, final
[jira] [Created] (MINIFI-312) spdlog compilation failure in Alpine linux
Bryan Rosander created MINIFI-312: - Summary: spdlog compilation failure in Alpine linux Key: MINIFI-312 URL: https://issues.apache.org/jira/browse/MINIFI-312 Project: Apache NiFi MiNiFi Issue Type: Bug Reporter: Bryan Rosander Priority: Minor When trying to build an alpine-based minifi-cpp image, I ran into the following: https://github.com/foonathan/standardese/issues/55 We could probably mitigate this by upgrading to latest spdlog. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (MINIFI-311) Alpine Linux for MiNiFi CPP Docker images
Bryan Rosander created MINIFI-311: - Summary: Alpine Linux for MiNiFi CPP Docker images Key: MINIFI-311 URL: https://issues.apache.org/jira/browse/MINIFI-311 Project: Apache NiFi MiNiFi Issue Type: Improvement Reporter: Bryan Rosander Priority: Minor With MiNiFi's goals including being lightweight, it seems logical to try to keep its Docker images as small as feasible. Moving to alpine-based images is an easy step that reduces the image size quite a bit. Another thing that would make the images smaller would be to use an image with build dependencies to perform the build and one without them for the runnable image. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (MINIFI-310) Alpine Linux for MiNiFi Java Docker images
Bryan Rosander created MINIFI-310: - Summary: Alpine Linux for MiNiFi Java Docker images Key: MINIFI-310 URL: https://issues.apache.org/jira/browse/MINIFI-310 Project: Apache NiFi MiNiFi Issue Type: Improvement Reporter: Bryan Rosander Priority: Minor With MiNiFi's goals including being lightweight, it seems logical to try to keep its Docker images as small as feasible. Moving to openjdk:8-jre-alpine is an easy step that reduces the image size quite a bit. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (MINIFI-304) Test Failures manifested by logger initialization failures.
[ https://issues.apache.org/jira/browse/MINIFI-304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16010935#comment-16010935 ] ASF GitHub Bot commented on MINIFI-304: --- Github user kevdoran commented on the issue: https://github.com/apache/nifi-minifi-cpp/pull/96 LGTM, but we may also want to take a look at the CMake integration approach provided by Catch ([ParseAndAddCatchTests.cmake](https://github.com/philsquared/Catch/blob/master/contrib/ParseAndAddCatchTests.cmake)), which will automatically scan from tests and add them: https://github.com/philsquared/Catch/blob/master/docs/build-systems.md > Test Failures manifested by logger initialization failures. > > > Key: MINIFI-304 > URL: https://issues.apache.org/jira/browse/MINIFI-304 > Project: Apache NiFi MiNiFi > Issue Type: Bug > Components: C++ >Reporter: marco polo >Assignee: marco polo > > statics within spdlog would not be initialized in time depending on the order > of execution. As a result it is better to use no logging unless necessary. > There are examples which use logging, but unless explicitly needed ( and > captured into strings, for example ) we should instead turn logging off. > Breaking this out into separate executables would be idea. This ticket will > involve editing the cmake file to move tests into a separate file. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
nifi git commit: NIFI-3885 DynamoDB Processor EL Support
Repository: nifi Updated Branches: refs/heads/master 196ca237e -> 20a1fc24d NIFI-3885 DynamoDB Processor EL Support Add EL support to remaining Dynamo processor properties Signed-off-by: James WingThis closes #1793. Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/20a1fc24 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/20a1fc24 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/20a1fc24 Branch: refs/heads/master Commit: 20a1fc24d712e1be2f26a203cbbf8c789bdf940f Parents: 196ca23 Author: Tim Reardon Authored: Fri May 12 14:43:03 2017 -0400 Committer: James Wing Committed: Mon May 15 10:13:53 2017 -0700 -- .../aws/dynamodb/AbstractDynamoDBProcessor.java | 8 ++-- .../nifi/processors/aws/dynamodb/DeleteDynamoDB.java| 8 .../nifi/processors/aws/dynamodb/GetDynamoDB.java | 10 +- .../nifi/processors/aws/dynamodb/PutDynamoDB.java | 12 ++-- 4 files changed, 21 insertions(+), 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/nifi/blob/20a1fc24/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/dynamodb/AbstractDynamoDBProcessor.java -- diff --git a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/dynamodb/AbstractDynamoDBProcessor.java b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/dynamodb/AbstractDynamoDBProcessor.java index e1a31a9..3a5adf7 100644 --- a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/dynamodb/AbstractDynamoDBProcessor.java +++ b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-processors/src/main/java/org/apache/nifi/processors/aws/dynamodb/AbstractDynamoDBProcessor.java @@ -86,7 +86,7 @@ public abstract class AbstractDynamoDBProcessor extends AbstractAWSCredentialsPr public static final PropertyDescriptor TABLE = new PropertyDescriptor.Builder() .name("Table Name") .required(true) -.expressionLanguageSupported(false) +.expressionLanguageSupported(true) .addValidator(StandardValidators.NON_EMPTY_VALIDATOR) .description("The DynamoDB table name") .build(); @@ -127,6 +127,7 @@ public abstract class AbstractDynamoDBProcessor extends AbstractAWSCredentialsPr public static final PropertyDescriptor HASH_KEY_NAME = new PropertyDescriptor.Builder() .name("Hash Key Name") .required(true) +.expressionLanguageSupported(true) .addValidator(StandardValidators.NON_EMPTY_VALIDATOR) .description("The hash key name of the item") .build(); @@ -134,6 +135,7 @@ public abstract class AbstractDynamoDBProcessor extends AbstractAWSCredentialsPr public static final PropertyDescriptor RANGE_KEY_NAME = new PropertyDescriptor.Builder() .name("Range Key Name") .required(false) +.expressionLanguageSupported(true) .addValidator(StandardValidators.NON_EMPTY_VALIDATOR) .description("The range key name of the item") .build(); @@ -141,6 +143,7 @@ public abstract class AbstractDynamoDBProcessor extends AbstractAWSCredentialsPr public static final PropertyDescriptor JSON_DOCUMENT = new PropertyDescriptor.Builder() .name("Json Document attribute") .required(true) +.expressionLanguageSupported(true) .addValidator(StandardValidators.NON_EMPTY_VALIDATOR) .description("The Json document to be retrieved from the dynamodb item") .build(); @@ -148,7 +151,7 @@ public abstract class AbstractDynamoDBProcessor extends AbstractAWSCredentialsPr public static final PropertyDescriptor BATCH_SIZE = new PropertyDescriptor.Builder() .name("Batch items for each request (between 1 and 50)") .required(false) -.expressionLanguageSupported(false) +.expressionLanguageSupported(true) .addValidator(StandardValidators.createLongValidator(1, 50, true)) .defaultValue("1") .description("The items to be retrieved in one batch") @@ -159,6 +162,7 @@ public abstract class AbstractDynamoDBProcessor extends AbstractAWSCredentialsPr .description("Character set of data in the document") .addValidator(StandardValidators.CHARACTER_SET_VALIDATOR) .required(true) +.expressionLanguageSupported(true) .defaultValue(Charset.defaultCharset().name())
svn commit: r19677 - /dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-source-release.zip.sha256
Author: aldrin Date: Mon May 15 16:36:32 2017 New Revision: 19677 Log: MINIFI-309 Release artifacts for MiNiFi 0.2.0 (Java) RC1 Modified: dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-source-release.zip.sha256 Modified: dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-source-release.zip.sha256 == --- dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-source-release.zip.sha256 (original) +++ dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-source-release.zip.sha256 Mon May 15 16:36:32 2017 @@ -1 +1 @@ -e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 \ No newline at end of file +c182d71ba298a41a336da139f435f10a253997d677fc4ae8820b261ea8c3a4c2 \ No newline at end of file
[nifi-minifi] Git Push Summary
Repository: nifi-minifi Updated Tags: refs/tags/minifi-0.2.0-RC1 [created] 23e997a25
[1/2] nifi-minifi git commit: MINIFI-309-RC1 prepare release minifi-0.2.0-RC1
Repository: nifi-minifi Updated Branches: refs/heads/MINIFI-309-RC1 [created] 78856d673 MINIFI-309-RC1 prepare release minifi-0.2.0-RC1 Project: http://git-wip-us.apache.org/repos/asf/nifi-minifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi/commit/1813e87c Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi/tree/1813e87c Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi/diff/1813e87c Branch: refs/heads/MINIFI-309-RC1 Commit: 1813e87ccddffcc9ab75d25948c31901faf2f1ab Parents: 4dc0ce3 Author: Aldrin PiriAuthored: Mon May 15 11:09:32 2017 -0400 Committer: Aldrin Piri Committed: Mon May 15 11:09:32 2017 -0400 -- minifi-api/pom.xml | 2 +- minifi-assembly/pom.xml | 4 +- minifi-bootstrap/pom.xml| 2 +- minifi-c2/minifi-c2-api/pom.xml | 2 +- minifi-c2/minifi-c2-assembly/pom.xml| 8 ++-- .../minifi-c2-cache-filesystem/pom.xml | 2 +- minifi-c2/minifi-c2-cache/pom.xml | 2 +- minifi-c2/minifi-c2-docker/pom.xml | 4 +- minifi-c2/minifi-c2-integration-tests/pom.xml | 5 +-- minifi-c2/minifi-c2-jetty/pom.xml | 2 +- .../minifi-c2-provider-cache/pom.xml| 2 +- .../minifi-c2-provider-delegating/pom.xml | 2 +- .../minifi-c2-provider-nifi-rest/pom.xml| 2 +- .../minifi-c2-provider-util/pom.xml | 2 +- minifi-c2/minifi-c2-provider/pom.xml| 2 +- minifi-c2/minifi-c2-service/pom.xml | 2 +- minifi-c2/pom.xml | 2 +- minifi-commons/minifi-commons-schema/pom.xml| 2 +- minifi-commons/minifi-utils/pom.xml | 2 +- minifi-commons/pom.xml | 2 +- minifi-docker/pom.xml | 4 +- minifi-docs/pom.xml | 2 +- minifi-integration-tests/pom.xml| 5 +-- .../minifi-framework-nar/pom.xml| 2 +- .../minifi-framework-core/pom.xml | 2 +- .../minifi-framework/minifi-nar-utils/pom.xml | 2 +- .../minifi-framework/minifi-resources/pom.xml | 2 +- .../minifi-framework/minifi-runtime/pom.xml | 2 +- .../minifi-framework/pom.xml| 2 +- .../minifi-framework-bundle/pom.xml | 2 +- .../minifi-provenance-reporting-nar/pom.xml | 2 +- .../minifi-provenance-reporting-bundle/pom.xml | 2 +- .../pom.xml | 2 +- .../minifi-provenance-repository-nar/pom.xml| 2 +- .../minifi-provenance-repository-bundle/pom.xml | 2 +- .../minifi-ssl-context-service-nar/pom.xml | 2 +- minifi-nar-bundles/minifi-standard-nar/pom.xml | 2 +- .../minifi-update-attribute-nar/pom.xml | 2 +- minifi-nar-bundles/pom.xml | 2 +- minifi-toolkit/minifi-toolkit-assembly/pom.xml | 2 +- .../minifi-toolkit-configuration/pom.xml| 2 +- minifi-toolkit/pom.xml | 2 +- pom.xml | 40 ++-- 43 files changed, 70 insertions(+), 72 deletions(-) -- http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/1813e87c/minifi-api/pom.xml -- diff --git a/minifi-api/pom.xml b/minifi-api/pom.xml index e6a8dbf..a6bd1c2 100644 --- a/minifi-api/pom.xml +++ b/minifi-api/pom.xml @@ -20,7 +20,7 @@ limitations under the License. minifi org.apache.nifi.minifi -0.2.0-SNAPSHOT +0.2.0 minifi-api jar http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/1813e87c/minifi-assembly/pom.xml -- diff --git a/minifi-assembly/pom.xml b/minifi-assembly/pom.xml index f28ee89..38ffa7d 100644 --- a/minifi-assembly/pom.xml +++ b/minifi-assembly/pom.xml @@ -20,7 +20,7 @@ limitations under the License. minifi org.apache.nifi.minifi -0.2.0-SNAPSHOT +0.2.0 minifi-assembly pom @@ -139,7 +139,7 @@ limitations under the License. org.apache.nifi.minifi minifi-provenance-reporting-nar nar -0.2.0-SNAPSHOT +0.2.0 http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/1813e87c/minifi-bootstrap/pom.xml -- diff --git a/minifi-bootstrap/pom.xml b/minifi-bootstrap/pom.xml index cb57cb2..4ff447b 100644 --- a/minifi-bootstrap/pom.xml +++ b/minifi-bootstrap/pom.xml @@ -20,7 +20,7 @@ limitations under the License. minifi org.apache.nifi.minifi -0.2.0-SNAPSHOT +0.2.0
[2/2] nifi-minifi git commit: MINIFI-309-RC1 prepare for next development iteration
MINIFI-309-RC1 prepare for next development iteration Project: http://git-wip-us.apache.org/repos/asf/nifi-minifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi/commit/78856d67 Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi/tree/78856d67 Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi/diff/78856d67 Branch: refs/heads/MINIFI-309-RC1 Commit: 78856d673ce0208d9d1e8ea049ac0b128f9e73fb Parents: 1813e87 Author: Aldrin PiriAuthored: Mon May 15 11:09:42 2017 -0400 Committer: Aldrin Piri Committed: Mon May 15 11:09:42 2017 -0400 -- minifi-api/pom.xml | 2 +- minifi-assembly/pom.xml | 4 +- minifi-bootstrap/pom.xml| 2 +- minifi-c2/minifi-c2-api/pom.xml | 2 +- minifi-c2/minifi-c2-assembly/pom.xml| 2 +- .../minifi-c2-cache-filesystem/pom.xml | 2 +- minifi-c2/minifi-c2-cache/pom.xml | 2 +- minifi-c2/minifi-c2-docker/pom.xml | 4 +- minifi-c2/minifi-c2-integration-tests/pom.xml | 2 +- minifi-c2/minifi-c2-jetty/pom.xml | 2 +- .../minifi-c2-provider-cache/pom.xml| 2 +- .../minifi-c2-provider-delegating/pom.xml | 2 +- .../minifi-c2-provider-nifi-rest/pom.xml| 2 +- .../minifi-c2-provider-util/pom.xml | 2 +- minifi-c2/minifi-c2-provider/pom.xml| 2 +- minifi-c2/minifi-c2-service/pom.xml | 2 +- minifi-c2/pom.xml | 2 +- minifi-commons/minifi-commons-schema/pom.xml| 2 +- minifi-commons/minifi-utils/pom.xml | 2 +- minifi-commons/pom.xml | 2 +- minifi-docker/pom.xml | 4 +- minifi-docs/pom.xml | 2 +- minifi-integration-tests/pom.xml| 2 +- .../minifi-framework-nar/pom.xml| 2 +- .../minifi-framework-core/pom.xml | 2 +- .../minifi-framework/minifi-nar-utils/pom.xml | 2 +- .../minifi-framework/minifi-resources/pom.xml | 2 +- .../minifi-framework/minifi-runtime/pom.xml | 2 +- .../minifi-framework/pom.xml| 2 +- .../minifi-framework-bundle/pom.xml | 2 +- .../minifi-provenance-reporting-nar/pom.xml | 2 +- .../minifi-provenance-reporting-bundle/pom.xml | 2 +- .../pom.xml | 2 +- .../minifi-provenance-repository-nar/pom.xml| 2 +- .../minifi-provenance-repository-bundle/pom.xml | 2 +- .../minifi-ssl-context-service-nar/pom.xml | 2 +- minifi-nar-bundles/minifi-standard-nar/pom.xml | 2 +- .../minifi-update-attribute-nar/pom.xml | 2 +- minifi-nar-bundles/pom.xml | 2 +- minifi-toolkit/minifi-toolkit-assembly/pom.xml | 2 +- .../minifi-toolkit-configuration/pom.xml| 2 +- minifi-toolkit/pom.xml | 2 +- pom.xml | 40 ++-- 43 files changed, 65 insertions(+), 65 deletions(-) -- http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/78856d67/minifi-api/pom.xml -- diff --git a/minifi-api/pom.xml b/minifi-api/pom.xml index a6bd1c2..b8d5b7a 100644 --- a/minifi-api/pom.xml +++ b/minifi-api/pom.xml @@ -20,7 +20,7 @@ limitations under the License. minifi org.apache.nifi.minifi -0.2.0 +0.2.1-SNAPSHOT minifi-api jar http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/78856d67/minifi-assembly/pom.xml -- diff --git a/minifi-assembly/pom.xml b/minifi-assembly/pom.xml index 38ffa7d..5995ef4 100644 --- a/minifi-assembly/pom.xml +++ b/minifi-assembly/pom.xml @@ -20,7 +20,7 @@ limitations under the License. minifi org.apache.nifi.minifi -0.2.0 +0.2.1-SNAPSHOT minifi-assembly pom @@ -139,7 +139,7 @@ limitations under the License. org.apache.nifi.minifi minifi-provenance-reporting-nar nar -0.2.0 +0.2.1-SNAPSHOT http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/78856d67/minifi-bootstrap/pom.xml -- diff --git a/minifi-bootstrap/pom.xml b/minifi-bootstrap/pom.xml index 4ff447b..157f11a 100644 --- a/minifi-bootstrap/pom.xml +++ b/minifi-bootstrap/pom.xml @@ -20,7 +20,7 @@ limitations under the License. minifi org.apache.nifi.minifi -0.2.0 +0.2.1-SNAPSHOT minifi-bootstrap jar
svn commit: r19676 - /dev/nifi/nifi-minifi/0.2.0/
Author: aldrin Date: Mon May 15 16:00:40 2017 New Revision: 19676 Log: MINIFI-309 Release artifacts for MiNiFi 0.2.0 (Java) RC1 Added: dev/nifi/nifi-minifi/0.2.0/ dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz (with props) dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz.asc dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz.md5 dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz.sha1 dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz.sha256 dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.zip (with props) dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.zip.asc dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.zip.md5 dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.zip.sha1 dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.zip.sha256 dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-source-release.zip (with props) dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-source-release.zip.asc dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-source-release.zip.md5 dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-source-release.zip.sha1 dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-source-release.zip.sha256 dev/nifi/nifi-minifi/0.2.0/minifi-c2-0.2.0-bin.tar.gz (with props) dev/nifi/nifi-minifi/0.2.0/minifi-c2-0.2.0-bin.tar.gz.asc dev/nifi/nifi-minifi/0.2.0/minifi-c2-0.2.0-bin.tar.gz.md5 dev/nifi/nifi-minifi/0.2.0/minifi-c2-0.2.0-bin.tar.gz.sha1 dev/nifi/nifi-minifi/0.2.0/minifi-c2-0.2.0-bin.tar.gz.sha256 dev/nifi/nifi-minifi/0.2.0/minifi-c2-0.2.0-bin.zip (with props) dev/nifi/nifi-minifi/0.2.0/minifi-c2-0.2.0-bin.zip.asc dev/nifi/nifi-minifi/0.2.0/minifi-c2-0.2.0-bin.zip.md5 dev/nifi/nifi-minifi/0.2.0/minifi-c2-0.2.0-bin.zip.sha1 dev/nifi/nifi-minifi/0.2.0/minifi-c2-0.2.0-bin.zip.sha256 dev/nifi/nifi-minifi/0.2.0/minifi-toolkit-0.2.0-bin.tar.gz (with props) dev/nifi/nifi-minifi/0.2.0/minifi-toolkit-0.2.0-bin.tar.gz.asc dev/nifi/nifi-minifi/0.2.0/minifi-toolkit-0.2.0-bin.tar.gz.md5 dev/nifi/nifi-minifi/0.2.0/minifi-toolkit-0.2.0-bin.tar.gz.sha1 dev/nifi/nifi-minifi/0.2.0/minifi-toolkit-0.2.0-bin.tar.gz.sha256 dev/nifi/nifi-minifi/0.2.0/minifi-toolkit-0.2.0-bin.zip (with props) dev/nifi/nifi-minifi/0.2.0/minifi-toolkit-0.2.0-bin.zip.asc dev/nifi/nifi-minifi/0.2.0/minifi-toolkit-0.2.0-bin.zip.md5 dev/nifi/nifi-minifi/0.2.0/minifi-toolkit-0.2.0-bin.zip.sha1 dev/nifi/nifi-minifi/0.2.0/minifi-toolkit-0.2.0-bin.zip.sha256 Added: dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz == Binary file - no diff available. Propchange: dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz -- svn:mime-type = application/octet-stream Added: dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz.asc == --- dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz.asc (added) +++ dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz.asc Mon May 15 16:00:40 2017 @@ -0,0 +1,16 @@ +-BEGIN PGP SIGNATURE- + +iQIcBAABCgAGBQJZGc8ZAAoJEFMa66pM/l0AdIoP/jRhH1W9M28eXYTUXEyhie+s +CCR0Z3/RQ5c5+KVy7B7WU142kPQPhb27hd/klAfqcvOugM/+t29J8TvMPpq9+TrE +bk8wlZu0dX3CMvGziKRSMKUZG7uKrrr0hYyNAvQktQ45q0hjpuqtrYnh4SGsP1j3 +aEiqjQnMqafqclMdqfWP3+NQ2f+V4LKtRC1xCj8phzaAVv6CbqWW8fERwhBUxN0V +Xd0KhXHxCBD924oqYF5E4uJF/6hS2HqjseYvLnlZSMDqt3AXM85miCQDw/WtALBr +Q3TJTgeAhlXDmKVrId1GCB0usivdCSbMrTpUJoVOI4IZ7yHCasJ604wwwC2sGJa5 +SpWxi3PZPxkIDhzm63md+IWGV+uIquYDjseUNrl0sYmrpR+x7jolwl7NjhWBqC1t +CUu9XYV/MWhkSVQ+HYm+nCIvaT5+/Zw/U8egvxyNrjHP6Qwvsp60N3wbcLjcasMG +FXoZBVQzLBQfrtZ5N6RQb8i47eleR1pBEWc90g5OmAc5q/otgdBvpNDpt0H1Kzzj +wQXH671/45KtYM+fm1N3V+lGratnr9f0qOaK7WXcSR47MakGim1QB8cWy/lFy0Ce +jB28T2Fvuody8xxLL/sUdsiOi+DQQ/pamYc6Gog6iYKkA/BZ1lji4wQspGu7fSeX +AK4HDBAFvcEfNIIeazmE +=Ey4A +-END PGP SIGNATURE- Added: dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz.md5 == --- dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz.md5 (added) +++ dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz.md5 Mon May 15 16:00:40 2017 @@ -0,0 +1 @@ +7f6f0e67c643197357d07df35de7fe15 \ No newline at end of file Added: dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz.sha1 == --- dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz.sha1 (added) +++ dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz.sha1 Mon May 15 16:00:40 2017 @@ -0,0 +1 @@ +beec789f132856c2408a2a5711c9ed14e200125d \ No newline at end of file Added: dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz.sha256 == --- dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz.sha256 (added) +++ dev/nifi/nifi-minifi/0.2.0/minifi-0.2.0-bin.tar.gz.sha256 Mon May 15 16:00:40 2017 @@ -0,0 +1 @@
[jira] [Commented] (MINIFI-239) Create a C++ HTTP client processor to match the InvokeHTTP processor
[ https://issues.apache.org/jira/browse/MINIFI-239?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16010730#comment-16010730 ] marco polo commented on MINIFI-239: --- Subsequent pr https://github.com/apache/nifi-minifi-cpp/pull/83/ will address security > Create a C++ HTTP client processor to match the InvokeHTTP processor > > > Key: MINIFI-239 > URL: https://issues.apache.org/jira/browse/MINIFI-239 > Project: Apache NiFi MiNiFi > Issue Type: Task > Components: C++, Extensions >Reporter: Andrew Grande >Assignee: marco polo > > There is a ListenHTTP processor, but nothing for the client side (e.g. to > invoke REST APIs). The civetweb library is already being used, can be > leveraged to implement the InvokeHTTP parity. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (MINIFI-309) Release MiNiFi (Java) 0.2.0
[ https://issues.apache.org/jira/browse/MINIFI-309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16010545#comment-16010545 ] Aldrin Piri commented on MINIFI-309: Will be based off commit hash 4dc0ce30360f97125f0ae46b130b60e45a986a6d > Release MiNiFi (Java) 0.2.0 > --- > > Key: MINIFI-309 > URL: https://issues.apache.org/jira/browse/MINIFI-309 > Project: Apache NiFi MiNiFi > Issue Type: Task >Reporter: Aldrin Piri >Assignee: Aldrin Piri > Fix For: 0.2.0 > > > Ticket to track progress and tasks for the release of MiNiFi Java 0.2.0. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Assigned] (MINIFI-309) Release MiNiFi (Java) 0.2.0
[ https://issues.apache.org/jira/browse/MINIFI-309?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aldrin Piri reassigned MINIFI-309: -- Assignee: Aldrin Piri > Release MiNiFi (Java) 0.2.0 > --- > > Key: MINIFI-309 > URL: https://issues.apache.org/jira/browse/MINIFI-309 > Project: Apache NiFi MiNiFi > Issue Type: Task >Reporter: Aldrin Piri >Assignee: Aldrin Piri > Fix For: 0.2.0 > > > Ticket to track progress and tasks for the release of MiNiFi Java 0.2.0. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (MINIFI-272) Hierarchical C2 support
[ https://issues.apache.org/jira/browse/MINIFI-272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16010532#comment-16010532 ] ASF GitHub Bot commented on MINIFI-272: --- Github user asfgit closed the pull request at: https://github.com/apache/nifi-minifi/pull/79 > Hierarchical C2 support > --- > > Key: MINIFI-272 > URL: https://issues.apache.org/jira/browse/MINIFI-272 > Project: Apache NiFi MiNiFi > Issue Type: New Feature > Components: Command and Control >Reporter: Bryan Rosander >Assignee: Bryan Rosander > Fix For: 0.2.0 > > Attachments: c2-integration-test.png, integration test.graphml > > > MINIFI-238 introduced a C2 server that MiNiFi agents can poll for new > configuration files. In order for this to be useful on a larger scale, we'll > need a way to structure the servers such that they are reachable by the edge > nodes while still having a central place from which to distribute changed > configuration. > To that end, a delegating configuration provider should allow for arbitrary > hierarchical structures of C2 servers. > A docker-compose integration test that simulates several different possible > network and delegation configurations will help to prove out the concept. > Attached is an image of the integration test topology. There is a central > cluster network where the authoritative C2 server resides. There is a node > able to connect directly to it in the edge1 network. There is a delegating > C2 server that bridges the cluster and edge2 networks. The edge2 server > listens for http requests and delegates over https. There is a node on the > edge3 network that requests directory from the authoritative C2 server > through a squid proxy. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[3/4] nifi-minifi git commit: MINIFI-272 - Delegating C2 Provider, Caching ConfigService, Tests Proxy auth, caching fixes Added C2 readme
http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/4dc0ce30/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/DelegatingConfigurationProviderUnsecureTest.java -- diff --git a/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/DelegatingConfigurationProviderUnsecureTest.java b/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/DelegatingConfigurationProviderUnsecureTest.java new file mode 100644 index 000..8394427 --- /dev/null +++ b/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/DelegatingConfigurationProviderUnsecureTest.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.nifi.minifi.c2.integration.test; + +import com.palantir.docker.compose.DockerComposeRule; +import org.apache.nifi.minifi.c2.integration.test.health.HttpStatusCodeHealthCheck; +import org.junit.Before; +import org.junit.ClassRule; + +public class DelegatingConfigurationProviderUnsecureTest extends AbstractTestUnsecure { +@ClassRule +public static DockerComposeRule docker = DockerComposeRule.builder() + .file("target/test-classes/docker-compose-DelegatingProviderUnsecureTest.yml") +.waitingForService("c2-upstream", new HttpStatusCodeHealthCheck(DelegatingConfigurationProviderUnsecureTest::getUnsecureConfigUrl, 400)) +.waitingForService("c2", new HttpStatusCodeHealthCheck(DelegatingConfigurationProviderUnsecureTest::getUnsecureConfigUrl, 400)) +.build(); + +@Before +public void setup() { +super.setup(docker); +} +} http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/4dc0ce30/minifi-c2/minifi-c2-integration-tests/src/test/resources/c2-secure-delegating/conf/minifi-c2-context.xml -- diff --git a/minifi-c2/minifi-c2-integration-tests/src/test/resources/c2-secure-delegating/conf/minifi-c2-context.xml b/minifi-c2/minifi-c2-integration-tests/src/test/resources/c2-secure-delegating/conf/minifi-c2-context.xml new file mode 100644 index 000..e3e4976 --- /dev/null +++ b/minifi-c2/minifi-c2-integration-tests/src/test/resources/c2-secure-delegating/conf/minifi-c2-context.xml @@ -0,0 +1,56 @@ + + + +http://www.springframework.org/schema/beans; + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; + xmlns:util="http://www.springframework.org/schema/util; + xmlns:context="http://www.springframework.org/schema/context; + xmlns:aop="http://www.springframework.org/schema/aop; + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd +http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd +http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd +http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsd;> + + + + + + + + +./cache + + +${class}/${class} + + + + +https://c2-upstream:10443 + + + + + + + + + + + http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/4dc0ce30/minifi-c2/minifi-c2-integration-tests/src/test/resources/c2-secure-rest/conf/minifi-c2-context.xml -- diff --git a/minifi-c2/minifi-c2-integration-tests/src/test/resources/c2-secure-rest/conf/minifi-c2-context.xml
[4/4] nifi-minifi git commit: MINIFI-272 - Delegating C2 Provider, Caching ConfigService, Tests Proxy auth, caching fixes Added C2 readme
MINIFI-272 - Delegating C2 Provider, Caching ConfigService, Tests Proxy auth, caching fixes Added C2 readme This closes #79. Signed-off-by: Aldrin PiriProject: http://git-wip-us.apache.org/repos/asf/nifi-minifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi-minifi/commit/4dc0ce30 Tree: http://git-wip-us.apache.org/repos/asf/nifi-minifi/tree/4dc0ce30 Diff: http://git-wip-us.apache.org/repos/asf/nifi-minifi/diff/4dc0ce30 Branch: refs/heads/master Commit: 4dc0ce30360f97125f0ae46b130b60e45a986a6d Parents: b556187 Author: Bryan Rosander Authored: Tue Apr 18 15:25:08 2017 -0400 Committer: Aldrin Piri Committed: Mon May 15 09:33:46 2017 -0400 -- .../ingestors/PullHttpChangeIngestor.java | 33 +- minifi-c2/README.md | 33 + minifi-c2/c2-integration-test.graphml | 630 +++ minifi-c2/c2-integration-test.png | Bin 0 -> 26942 bytes .../nifi/minifi/c2/api/Configuration.java | 2 + .../minifi/c2/api/ConfigurationProvider.java| 8 +- .../c2/api/ConfigurationProviderException.java | 14 + .../minifi/c2/api/cache/ConfigurationCache.java | 2 +- .../minifi/c2/api/properties/C2Properties.java | 8 +- .../authorization/AuthorizationException.java | 4 +- minifi-c2/minifi-c2-assembly/pom.xml| 5 + .../src/main/resources/conf/authorizations.yaml | 11 +- .../main/resources/conf/minifi-c2-context.xml | 9 +- .../resources/files/raspi3/config.text.yml.v1 | 63 ++ .../main/resources/files/raspi3/config.yml.v1 | 63 -- .../FileSystemConfigurationCache.java | 15 +- minifi-c2/minifi-c2-integration-tests/pom.xml | 11 + ...legatingConfigurationProviderSecureTest.java | 79 +++ ...gatingConfigurationProviderUnsecureTest.java | 37 ++ .../conf/minifi-c2-context.xml | 56 ++ .../c2-secure-rest/conf/minifi-c2-context.xml | 3 + .../conf/minifi-c2-context.xml | 56 ++ .../c2-unsecure-rest/conf/minifi-c2-context.xml | 3 + .../c2-upstream-secure/conf/authorities.yaml| 17 + .../c2-upstream-secure/conf/authorizations.yaml | 32 + .../c2/files/raspi2/config.text.yml.v1 | 63 ++ .../resources/c2/files/raspi2/config.yml.v1 | 63 -- .../c2/files/raspi3/config.text.yml.v1 | 63 ++ .../c2/files/raspi3/config.text.yml.v2 | 63 ++ .../resources/c2/files/raspi3/config.yml.v1 | 63 -- .../resources/c2/files/raspi3/config.yml.v2 | 63 -- ...ker-compose-DelegatingProviderSecureTest.yml | 55 ++ ...r-compose-DelegatingProviderUnsecureTest.yml | 32 + .../nifi/minifi/c2/jetty/JettyServer.java | 8 +- .../cache/CacheConfigurationProvider.java | 14 +- .../cache/CacheConfigurationProviderTest.java | 18 +- .../minifi-c2-provider-delegating/pom.xml | 53 ++ .../DelegatingConfigurationProvider.java| 171 + .../DelegatingConfigurationProviderTest.java| 195 ++ .../minifi-c2-provider-nifi-rest/pom.xml| 5 + .../rest/NiFiRestConfigurationProvider.java | 87 ++- .../provider/nifi/rest/NiFiRestConnector.java | 80 --- .../provider/nifi/rest/TemplatesIterator.java | 5 +- .../rest/NiFiRestConfigurationProviderTest.java | 12 +- .../nifi/rest/TemplatesIteratorTest.java| 15 +- .../minifi-c2-provider-util/pom.xml | 44 ++ .../minifi/c2/provider/util/HttpConnector.java | 130 minifi-c2/minifi-c2-provider/pom.xml| 2 + minifi-c2/minifi-c2-service/pom.xml | 10 + .../nifi/minifi/c2/service/ConfigService.java | 163 - .../c2/service/ConfigurationProviderInfo.java | 51 ++ .../c2/service/ConfigurationProviderKey.java| 69 ++ .../c2/service/ConfigurationProviderValue.java | 49 ++ .../src/main/markdown/System_Admin_Guide.md | 4 + minifi-integration-tests/pom.xml| 29 + .../c2/HierarchicalC2IntegrationTest.java | 125 .../standalone/test/StandaloneYamlTest.java | 41 +- .../nifi/minifi/integration/util/LogUtil.java | 85 +++ .../c2-authoritative/conf/authorities.yaml | 21 + .../c2-authoritative/conf/authorizations.yaml | 41 ++ .../c2-authoritative/conf/c2.properties | 27 + .../c2-authoritative/conf/minifi-c2-context.xml | 63 ++ .../files/edge1/raspi3/config.text.yml.v1 | 63 ++ .../files/edge2/raspi2/config.text.yml.v1 | 63 ++ .../files/edge3/raspi3/config.text.yml.v1 | 63 ++ .../c2/hierarchical/c2-edge2/conf/c2.properties | 27 + .../c2-edge2/conf/minifi-c2-context.xml | 62 ++ .../c2/hierarchical/minifi-edge1/bootstrap.conf | 106 .../c2/hierarchical/minifi-edge1/expected.json | 8 + .../c2/hierarchical/minifi-edge2/bootstrap.conf | 99 +++ .../c2/hierarchical/minifi-edge2/expected.json | 8 + .../c2/hierarchical/minifi-edge3/bootstrap.conf |
[2/4] nifi-minifi git commit: MINIFI-272 - Delegating C2 Provider, Caching ConfigService, Tests Proxy auth, caching fixes Added C2 readme
http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/4dc0ce30/minifi-c2/minifi-c2-provider/minifi-c2-provider-nifi-rest/src/test/java/org/apache/nifi/minifi/c2/provider/nifi/rest/TemplatesIteratorTest.java -- diff --git a/minifi-c2/minifi-c2-provider/minifi-c2-provider-nifi-rest/src/test/java/org/apache/nifi/minifi/c2/provider/nifi/rest/TemplatesIteratorTest.java b/minifi-c2/minifi-c2-provider/minifi-c2-provider-nifi-rest/src/test/java/org/apache/nifi/minifi/c2/provider/nifi/rest/TemplatesIteratorTest.java index ca20e4a..c8e19b2 100644 --- a/minifi-c2/minifi-c2-provider/minifi-c2-provider-nifi-rest/src/test/java/org/apache/nifi/minifi/c2/provider/nifi/rest/TemplatesIteratorTest.java +++ b/minifi-c2/minifi-c2-provider/minifi-c2-provider-nifi-rest/src/test/java/org/apache/nifi/minifi/c2/provider/nifi/rest/TemplatesIteratorTest.java @@ -21,6 +21,7 @@ import com.fasterxml.jackson.core.JsonFactory; import com.google.common.collect.Lists; import org.apache.nifi.minifi.c2.api.ConfigurationProviderException; import org.apache.nifi.minifi.c2.api.util.Pair; +import org.apache.nifi.minifi.c2.provider.util.HttpConnector; import org.junit.Before; import org.junit.Test; @@ -38,21 +39,21 @@ import static org.mockito.Mockito.when; public class TemplatesIteratorTest { private JsonFactory jsonFactory; private HttpURLConnection httpURLConnection; -private NiFiRestConnector niFiRestConnector; +private HttpConnector httpConnector; @Before public void setup() throws ConfigurationProviderException { jsonFactory = new JsonFactory(); httpURLConnection = mock(HttpURLConnection.class); -niFiRestConnector = mock(NiFiRestConnector.class); - when(niFiRestConnector.get(TemplatesIterator.FLOW_TEMPLATES)).thenReturn(httpURLConnection); +httpConnector = mock(HttpConnector.class); + when(httpConnector.get(TemplatesIterator.FLOW_TEMPLATES)).thenReturn(httpURLConnection); } @Test(expected = NoSuchElementException.class) public void testIteratorNoSuchElementException() throws ConfigurationProviderException, IOException { when(httpURLConnection.getInputStream()).thenReturn(TemplatesIteratorTest.class.getClassLoader().getResourceAsStream("noTemplates.json")); -try (TemplatesIterator templatesIterator = new TemplatesIterator(niFiRestConnector, jsonFactory)) { +try (TemplatesIterator templatesIterator = new TemplatesIterator(httpConnector, jsonFactory)) { assertFalse(templatesIterator.hasNext()); templatesIterator.next(); } finally { @@ -64,7 +65,7 @@ public class TemplatesIteratorTest { public void testIteratorNoTemplates() throws ConfigurationProviderException, IOException { when(httpURLConnection.getInputStream()).thenReturn(TemplatesIteratorTest.class.getClassLoader().getResourceAsStream("noTemplates.json")); List> idToNameList; -try (TemplatesIterator templatesIterator = new TemplatesIterator(niFiRestConnector, jsonFactory)) { +try (TemplatesIterator templatesIterator = new TemplatesIterator(httpConnector, jsonFactory)) { idToNameList = Lists.newArrayList(templatesIterator); } assertEquals(0, idToNameList.size()); @@ -76,7 +77,7 @@ public class TemplatesIteratorTest { public void testIteratorSingleTemplate() throws ConfigurationProviderException, IOException { when(httpURLConnection.getInputStream()).thenReturn(TemplatesIteratorTest.class.getClassLoader().getResourceAsStream("oneTemplate.json")); List > idToNameList; -try (TemplatesIterator templatesIterator = new TemplatesIterator(niFiRestConnector, jsonFactory)) { +try (TemplatesIterator templatesIterator = new TemplatesIterator(httpConnector, jsonFactory)) { idToNameList = Lists.newArrayList(templatesIterator); } assertEquals(1, idToNameList.size()); @@ -91,7 +92,7 @@ public class TemplatesIteratorTest { public void testIteratorTwoTemplates() throws ConfigurationProviderException, IOException { when(httpURLConnection.getInputStream()).thenReturn(TemplatesIteratorTest.class.getClassLoader().getResourceAsStream("twoTemplates.json")); List > idToNameList; -try (TemplatesIterator templatesIterator = new TemplatesIterator(niFiRestConnector, jsonFactory)) { +try (TemplatesIterator templatesIterator = new TemplatesIterator(httpConnector, jsonFactory)) { idToNameList = Lists.newArrayList(templatesIterator); } assertEquals(2, idToNameList.size()); http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/4dc0ce30/minifi-c2/minifi-c2-provider/minifi-c2-provider-util/pom.xml -- diff --git
[1/4] nifi-minifi git commit: MINIFI-272 - Delegating C2 Provider, Caching ConfigService, Tests Proxy auth, caching fixes Added C2 readme
Repository: nifi-minifi Updated Branches: refs/heads/master b55618770 -> 4dc0ce303 http://git-wip-us.apache.org/repos/asf/nifi-minifi/blob/4dc0ce30/minifi-integration-tests/src/test/resources/c2/hierarchical/minifi-edge2/bootstrap.conf -- diff --git a/minifi-integration-tests/src/test/resources/c2/hierarchical/minifi-edge2/bootstrap.conf b/minifi-integration-tests/src/test/resources/c2/hierarchical/minifi-edge2/bootstrap.conf new file mode 100644 index 000..927891f --- /dev/null +++ b/minifi-integration-tests/src/test/resources/c2/hierarchical/minifi-edge2/bootstrap.conf @@ -0,0 +1,99 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +# Java command to use when running MiNiFi +java=java + +# Username to use when running MiNiFi. This value will be ignored on Windows. +run.as= + +# Configure where MiNiFi's lib and conf directories live +lib.dir=./lib +conf.dir=./conf + +# How long to wait after telling MiNiFi to shutdown before explicitly killing the Process +graceful.shutdown.seconds=20 + +# The location for the configuration file +nifi.minifi.config=./conf/config.yml + +# Notifiers to use for the associated agent, comma separated list of class names +#nifi.minifi.notifier.ingestors=org.apache.nifi.minifi.bootstrap.configuration.ingestors.FileChangeIngestor +#nifi.minifi.notifier.ingestors=org.apache.nifi.minifi.bootstrap.configuration.ingestors.RestChangeIngestor +nifi.minifi.notifier.ingestors=org.apache.nifi.minifi.bootstrap.configuration.ingestors.PullHttpChangeIngestor + +# File change notifier configuration + +# Path of the file to monitor for changes. When these occur, the FileChangeNotifier, if configured, will begin the configuration reloading process +#nifi.minifi.notifier.ingestors.file.config.path= +# How frequently the file specified by 'nifi.minifi.notifier.file.config.path' should be evaluated for changes. +#nifi.minifi.notifier.ingestors.file.polling.period.seconds=5 + +# Rest change notifier configuration + +# Port on which the Jetty server will bind to, keep commented for a random open port +#nifi.minifi.notifier.ingestors.receive.http.port=8338 + +#Pull HTTP change notifier configuration + +# Hostname on which to pull configurations from +nifi.minifi.notifier.ingestors.pull.http.hostname=c2-edge2 +# Port on which to pull configurations from +nifi.minifi.notifier.ingestors.pull.http.port=10080 +# Path to pull configurations from +nifi.minifi.notifier.ingestors.pull.http.path=/c2/config +# Query string to pull configurations with +nifi.minifi.notifier.ingestors.pull.http.query=net=edge2=raspi2 +# Period on which to pull configurations from, defaults to 5 minutes if commented out +nifi.minifi.notifier.ingestors.pull.http.period.ms=3000 + +# Periodic Status Reporters to use for the associated agent, comma separated list of class names +#nifi.minifi.status.reporter.components=org.apache.nifi.minifi.bootstrap.status.reporters.StatusLogger + +# Periodic Status Logger configuration + +# The FlowStatus query to submit to the MiNiFi instance +#nifi.minifi.status.reporter.log.query=instance:health,bulletins +# The log level at which the status will be logged +#nifi.minifi.status.reporter.log.level=INFO +# The period (in milliseconds) at which to log the status +#nifi.minifi.status.reporter.log.period=6 + +# Disable JSR 199 so that we can use JSP's without running a JDK +java.arg.1=-Dorg.apache.jasper.compiler.disablejsr199=true + +# JVM memory settings +java.arg.2=-Xms256m +java.arg.3=-Xmx256m + +# Enable Remote Debugging +#java.arg.debug=-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8000 + +java.arg.4=-Djava.net.preferIPv4Stack=true + +# allowRestrictedHeaders is required for Cluster/Node communications to work properly +java.arg.5=-Dsun.net.http.allowRestrictedHeaders=true +java.arg.6=-Djava.protocol.handler.pkgs=sun.net.www.protocol + +# The G1GC is still considered experimental but has proven to be very advantageous in providing great +# performance without significant "stop-the-world" delays. +#java.arg.13=-XX:+UseG1GC + +#Set headless mode by default +java.arg.14=-Djava.awt.headless=true + +java.arg.15=-Djava.security.egd=file:/dev/./urandom \
nifi git commit: NIFI-3855 Support PutSlack attachments as dynamic properties
Repository: nifi Updated Branches: refs/heads/master d09255121 -> 196ca237e NIFI-3855 Support PutSlack attachments as dynamic properties NIFI-3855 Refactor deprecated API NIFI-3855 Log separate error messages in PutSlack Signed-off-by: Matt BurgessThis closes #1774 Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/196ca237 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/196ca237 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/196ca237 Branch: refs/heads/master Commit: 196ca237e6d054198ebad343847758f001b240bf Parents: d092551 Author: Tim Reardon Authored: Tue May 9 13:42:42 2017 -0400 Committer: Matt Burgess Committed: Mon May 15 09:08:43 2017 -0400 -- .../apache/nifi/processors/slack/PutSlack.java | 69 +++-- .../additionalDetails.html | 5 ++ .../nifi/processors/slack/PutSlackTest.java | 79 3 files changed, 146 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/nifi/blob/196ca237/nifi-nar-bundles/nifi-slack-bundle/nifi-slack-processors/src/main/java/org/apache/nifi/processors/slack/PutSlack.java -- diff --git a/nifi-nar-bundles/nifi-slack-bundle/nifi-slack-processors/src/main/java/org/apache/nifi/processors/slack/PutSlack.java b/nifi-nar-bundles/nifi-slack-bundle/nifi-slack-processors/src/main/java/org/apache/nifi/processors/slack/PutSlack.java index e5e2c03..d91a52e 100644 --- a/nifi-nar-bundles/nifi-slack-bundle/nifi-slack-processors/src/main/java/org/apache/nifi/processors/slack/PutSlack.java +++ b/nifi-nar-bundles/nifi-slack-bundle/nifi-slack-processors/src/main/java/org/apache/nifi/processors/slack/PutSlack.java @@ -16,26 +16,34 @@ */ package org.apache.nifi.processors.slack; +import org.apache.nifi.annotation.behavior.DynamicProperty; import org.apache.nifi.annotation.behavior.InputRequirement; import org.apache.nifi.annotation.documentation.CapabilityDescription; import org.apache.nifi.annotation.documentation.Tags; +import org.apache.nifi.annotation.lifecycle.OnScheduled; import org.apache.nifi.components.PropertyDescriptor; import org.apache.nifi.components.ValidationContext; import org.apache.nifi.components.ValidationResult; import org.apache.nifi.components.Validator; +import org.apache.nifi.expression.AttributeExpression; 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.stream.io.DataOutputStream; import javax.json.Json; +import javax.json.JsonArrayBuilder; import javax.json.JsonObject; import javax.json.JsonObjectBuilder; +import javax.json.JsonReader; import javax.json.JsonWriter; +import javax.json.stream.JsonParsingException; + +import java.io.DataOutputStream; import java.io.IOException; +import java.io.StringReader; import java.io.StringWriter; import java.net.HttpURLConnection; import java.net.URL; @@ -44,11 +52,17 @@ import java.util.Arrays; import java.util.Collections; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; @Tags({"put", "slack", "notify"}) @CapabilityDescription("Sends a message to your team on slack.com") @InputRequirement(InputRequirement.Requirement.INPUT_REQUIRED) +@DynamicProperty(name = "A JSON object to add to Slack's \"attachments\" JSON payload.", value = "JSON-formatted string to add to Slack's payload JSON appended to the \"attachments\" JSON array.", +supportsExpressionLanguage = true, +description = "Converts the contents of each value specified by the Dynamic Property's value to JSON and appends it to the payload being sent to Slack.") public class PutSlack extends AbstractProcessor { public static final PropertyDescriptor WEBHOOK_URL = new PropertyDescriptor @@ -124,6 +138,8 @@ public class PutSlack extends AbstractProcessor { .description("FlowFiles are routed to failure if unable to be sent to Slack") .build(); +private final SortedSet attachments = Collections.synchronizedSortedSet(new TreeSet()); + public static final List descriptors = Collections.unmodifiableList( Arrays.asList(WEBHOOK_URL, WEBHOOK_TEXT, CHANNEL, USERNAME, ICON_URL, ICON_EMOJI)); @@ -140,6 +156,18 @@ public class PutSlack extends AbstractProcessor { return descriptors; } +@Override +protected PropertyDescriptor
nifi git commit: NIFI-3761 - adjust testFullyDocumentedProcessor to correctly eval to false when needed - Introduce the ability to deprecate a component - Allow documentation to inform user about depr
Repository: nifi Updated Branches: refs/heads/master 3353865ce -> d09255121 NIFI-3761 - adjust testFullyDocumentedProcessor to correctly eval to false when needed - Introduce the ability to deprecate a component - Allow documentation to inform user about deprecation of a component - This closes #1718 NIFI-391 - Add set/getDeprecationReson to DocumentedDTO and use it within DtoFactory' Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/d0925512 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/d0925512 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/d0925512 Branch: refs/heads/master Commit: d092551211afe300c3e08a017d6256cf268313b4 Parents: 3353865 Author: Andre F de MirandaAuthored: Sat Apr 29 13:09:22 2017 +1000 Committer: Matt Gilman Committed: Mon May 15 08:43:32 2017 -0400 -- .../documentation/DeprecationNotice.java| 46 .../nifi/web/api/dto/ControllerServiceDTO.java | 15 ++ .../nifi/web/api/dto/DocumentedTypeDTO.java | 16 ++ .../apache/nifi/web/api/dto/ProcessorDTO.java | 15 ++ .../nifi/web/api/dto/ReportingTaskDTO.java | 15 ++ .../html/HtmlDocumentationWriter.java | 221 +-- .../example/DeprecatedProcessor.java| 179 +++ .../html/ProcessorDocumentationWriterTest.java | 65 +- .../nifi/controller/ConfiguredComponent.java| 5 + .../nifi/controller/StandardProcessorNode.java | 7 + .../reporting/StandardReportingTaskNode.java| 6 + .../service/StandardControllerServiceNode.java | 6 + .../org/apache/nifi/web/api/dto/DtoFactory.java | 10 + 13 files changed, 536 insertions(+), 70 deletions(-) -- http://git-wip-us.apache.org/repos/asf/nifi/blob/d0925512/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/DeprecationNotice.java -- diff --git a/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/DeprecationNotice.java b/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/DeprecationNotice.java new file mode 100644 index 000..a3bbdf4 --- /dev/null +++ b/nifi-api/src/main/java/org/apache/nifi/annotation/documentation/DeprecationNotice.java @@ -0,0 +1,46 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.annotation.documentation; + +import org.apache.nifi.components.ConfigurableComponent; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Annotation that can be applied to a {@link org.apache.nifi.processor.Processor Processor}, + * {@link org.apache.nifi.controller.ControllerService ControllerService}, or + * {@link org.apache.nifi.reporting.ReportingTask ReportingTask} in order to + * warn about the deprecation of the component. The deprecation warning is informational only + * and doesn't affect the processor run time behavior in any way + */ +@Documented +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Inherited +public @interface DeprecationNotice { +Class[] value() default {}; + +String[] classNames() default {}; + +String reason() default ""; +} + http://git-wip-us.apache.org/repos/asf/nifi/blob/d0925512/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/ControllerServiceDTO.java -- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/ControllerServiceDTO.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-client-dto/src/main/java/org/apache/nifi/web/api/dto/ControllerServiceDTO.java index 087e654..ff3315d 100644 ---
nifi git commit: NIFI-3867: Add Expression Language support to HiveConnectionPool properties
Repository: nifi Updated Branches: refs/heads/master bc68eb754 -> 3353865ce NIFI-3867: Add Expression Language support to HiveConnectionPool properties Signed-off-by: Pierre VillardThis closes #1783. Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/3353865c Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/3353865c Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/3353865c Branch: refs/heads/master Commit: 3353865ce916b8b332ba62782e1d80868d83 Parents: bc68eb7 Author: Matt Burgess Authored: Thu May 11 12:56:06 2017 -0400 Committer: Pierre Villard Committed: Mon May 15 13:46:29 2017 +0200 -- .../nifi/dbcp/hive/HiveConnectionPool.java | 28 ++- .../org/apache/nifi/util/hive/HiveUtils.java| 3 ++ .../nifi/dbcp/hive/HiveConnectionPoolTest.java | 49 +++- 3 files changed, 68 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/nifi/blob/3353865c/nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/src/main/java/org/apache/nifi/dbcp/hive/HiveConnectionPool.java -- diff --git a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/src/main/java/org/apache/nifi/dbcp/hive/HiveConnectionPool.java b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/src/main/java/org/apache/nifi/dbcp/hive/HiveConnectionPool.java index 64f3027..c3724c3 100644 --- a/nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/src/main/java/org/apache/nifi/dbcp/hive/HiveConnectionPool.java +++ b/nifi-nar-bundles/nifi-hive-bundle/nifi-hive-processors/src/main/java/org/apache/nifi/dbcp/hive/HiveConnectionPool.java @@ -75,6 +75,7 @@ public class HiveConnectionPool extends AbstractControllerService implements Hiv .defaultValue(null) .addValidator(StandardValidators.NON_EMPTY_VALIDATOR) .required(true) +.expressionLanguageSupported(true) .build(); public static final PropertyDescriptor HIVE_CONFIGURATION_RESOURCES = new PropertyDescriptor.Builder() @@ -83,7 +84,10 @@ public class HiveConnectionPool extends AbstractControllerService implements Hiv .description("A file or comma separated list of files which contains the Hive configuration (hive-site.xml, e.g.). Without this, Hadoop " + "will search the classpath for a 'hive-site.xml' file or will revert to a default configuration. Note that to enable authentication " + "with Kerberos e.g., the appropriate properties must be set in the configuration files. Please see the Hive documentation for more details.") - .required(false).addValidator(HiveUtils.createMultipleFilesExistValidator()).build(); +.required(false) +.addValidator(HiveUtils.createMultipleFilesExistValidator()) +.expressionLanguageSupported(true) +.build(); public static final PropertyDescriptor DB_USER = new PropertyDescriptor.Builder() .name("hive-db-user") @@ -91,6 +95,7 @@ public class HiveConnectionPool extends AbstractControllerService implements Hiv .description("Database user name") .defaultValue(null) .addValidator(StandardValidators.NON_EMPTY_VALIDATOR) +.expressionLanguageSupported(true) .build(); public static final PropertyDescriptor DB_PASSWORD = new PropertyDescriptor.Builder() @@ -101,6 +106,7 @@ public class HiveConnectionPool extends AbstractControllerService implements Hiv .required(false) .sensitive(true) .addValidator(StandardValidators.NON_EMPTY_VALIDATOR) +.expressionLanguageSupported(true) .build(); public static final PropertyDescriptor MAX_WAIT_TIME = new PropertyDescriptor.Builder() @@ -111,7 +117,7 @@ public class HiveConnectionPool extends AbstractControllerService implements Hiv .defaultValue("500 millis") .required(true) .addValidator(StandardValidators.TIME_PERIOD_VALIDATOR) -.sensitive(false) +.expressionLanguageSupported(true) .build(); public static final PropertyDescriptor MAX_TOTAL_CONNECTIONS = new PropertyDescriptor.Builder() @@ -122,7 +128,7 @@ public class HiveConnectionPool extends AbstractControllerService implements Hiv .defaultValue("8") .required(true) .addValidator(StandardValidators.INTEGER_VALIDATOR) -.sensitive(false) +.expressionLanguageSupported(true) .build(); public static final PropertyDescriptor VALIDATION_QUERY = new
nifi git commit: NIFI-3895: Fixed AvroReader to use Schema Access Strategy default value properly.
Repository: nifi Updated Branches: refs/heads/master 0af799a63 -> bc68eb754 NIFI-3895: Fixed AvroReader to use Schema Access Strategy default value properly. Signed-off-by: Pierre VillardThis closes #1797. Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/bc68eb75 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/bc68eb75 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/bc68eb75 Branch: refs/heads/master Commit: bc68eb754faefe40238ebd2a101f80430272b0de Parents: 0af799a Author: Koji Kawamura Authored: Mon May 15 11:26:30 2017 +0900 Committer: Pierre Villard Committed: Mon May 15 13:27:26 2017 +0200 -- .../src/main/java/org/apache/nifi/avro/AvroReader.java| 3 +-- .../java/org/apache/nifi/serialization/SchemaRegistryService.java | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/nifi/blob/bc68eb75/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/avro/AvroReader.java -- diff --git a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/avro/AvroReader.java b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/avro/AvroReader.java index 8451f5a..25a115d 100644 --- a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/avro/AvroReader.java +++ b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/avro/AvroReader.java @@ -34,7 +34,6 @@ import org.apache.nifi.controller.ConfigurationContext; import org.apache.nifi.flowfile.FlowFile; import org.apache.nifi.logging.ComponentLog; import org.apache.nifi.schema.access.SchemaAccessStrategy; -import org.apache.nifi.schema.access.SchemaAccessUtils; import org.apache.nifi.schema.access.SchemaNotFoundException; import org.apache.nifi.schemaregistry.services.SchemaRegistry; import org.apache.nifi.serialization.MalformedRecordException; @@ -86,7 +85,7 @@ public class AvroReader extends SchemaRegistryService implements RecordReaderFac @Override public RecordReader createRecordReader(final FlowFile flowFile, final InputStream in, final ComponentLog logger) throws MalformedRecordException, IOException, SchemaNotFoundException { -final String schemaAccessStrategy = getConfigurationContext().getProperty(SchemaAccessUtils.SCHEMA_ACCESS_STRATEGY).getValue(); +final String schemaAccessStrategy = getConfigurationContext().getProperty(getSchemaAcessStrategyDescriptor()).getValue(); if (EMBEDDED_AVRO_SCHEMA.getValue().equals(schemaAccessStrategy)) { return new AvroReaderWithEmbeddedSchema(in); } else { http://git-wip-us.apache.org/repos/asf/nifi/blob/bc68eb75/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/serialization/SchemaRegistryService.java -- diff --git a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/serialization/SchemaRegistryService.java b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/serialization/SchemaRegistryService.java index 18e3830..0697940 100644 --- a/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/serialization/SchemaRegistryService.java +++ b/nifi-nar-bundles/nifi-standard-services/nifi-record-serialization-services-bundle/nifi-record-serialization-services/src/main/java/org/apache/nifi/serialization/SchemaRegistryService.java @@ -57,7 +57,7 @@ public abstract class SchemaRegistryService extends AbstractControllerService { private final List strategyList = Collections.unmodifiableList(Arrays.asList(SCHEMA_NAME_PROPERTY, SCHEMA_TEXT_PROPERTY, HWX_SCHEMA_REF_ATTRIBUTES, HWX_CONTENT_ENCODED_SCHEMA)); -private PropertyDescriptor getSchemaAcessStrategyDescriptor() { +protected PropertyDescriptor getSchemaAcessStrategyDescriptor() { return getPropertyDescriptor(SCHEMA_ACCESS_STRATEGY.getName()); }