NIFI-533: Fixed code to conform to checkstyle
Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/dc7f7a82 Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/dc7f7a82 Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/dc7f7a82 Branch: refs/heads/develop Commit: dc7f7a82a68e7e19d0aeb52bd9bca44c277f4fba Parents: 94945a6 384b2ac Author: Mark Payne <[email protected]> Authored: Mon Apr 27 14:51:51 2015 -0400 Committer: Mark Payne <[email protected]> Committed: Mon Apr 27 14:51:51 2015 -0400 ---------------------------------------------------------------------- nifi-nar-maven-plugin/pom.xml | 181 +- .../src/main/java/org/apache/nifi/NarMojo.java | 4 +- nifi-parent/DISCLAIMER | 15 + nifi-parent/LICENSE | 202 +++ nifi-parent/NOTICE | 5 + nifi-parent/README.md | 65 + nifi-parent/pom.xml | 392 +++++ nifi/LICENSE | 22 + .../annotation/behavior/DynamicProperties.java | 9 +- .../annotation/behavior/DynamicProperty.java | 29 +- .../behavior/DynamicRelationship.java | 15 +- .../annotation/behavior/ReadsAttribute.java | 19 +- .../annotation/behavior/ReadsAttributes.java | 13 +- .../annotation/behavior/SideEffectFree.java | 23 +- .../annotation/behavior/TriggerSerially.java | 9 +- .../TriggerWhenAnyDestinationAvailable.java | 9 +- .../annotation/behavior/TriggerWhenEmpty.java | 14 +- .../annotation/behavior/WritesAttribute.java | 20 +- .../annotation/behavior/WritesAttributes.java | 13 +- .../documentation/CapabilityDescription.java | 7 +- .../nifi/annotation/documentation/SeeAlso.java | 21 +- .../nifi/annotation/documentation/Tags.java | 14 +- .../nifi/annotation/lifecycle/OnAdded.java | 24 +- .../nifi/annotation/lifecycle/OnDisabled.java | 35 +- .../nifi/annotation/lifecycle/OnEnabled.java | 43 +- .../nifi/annotation/lifecycle/OnRemoved.java | 27 +- .../nifi/annotation/lifecycle/OnScheduled.java | 44 +- .../nifi/annotation/lifecycle/OnShutdown.java | 23 +- .../nifi/annotation/lifecycle/OnStopped.java | 24 +- .../annotation/lifecycle/OnUnscheduled.java | 31 +- .../apache/nifi/authorization/Authority.java | 12 +- .../nifi/authorization/AuthorityProvider.java | 99 +- .../AuthorityProviderConfigurationContext.java | 12 +- .../authorization/DownloadAuthorization.java | 33 +- .../AbstractConfigurableComponent.java | 14 +- .../apache/nifi/components/AllowableValue.java | 30 +- .../nifi/components/ConfigurableComponent.java | 16 +- .../nifi/components/PropertyDescriptor.java | 79 +- .../apache/nifi/components/PropertyValue.java | 40 +- .../nifi/components/ValidationContext.java | 73 +- .../nifi/components/ValidationResult.java | 16 +- .../controller/AbstractControllerService.java | 26 +- .../nifi/controller/ConfigurationContext.java | 10 +- .../nifi/controller/ControllerService.java | 48 +- .../ControllerServiceInitializationContext.java | 16 +- .../controller/ControllerServiceLookup.java | 49 +- .../apache/nifi/controller/FlowFileQueue.java | 36 +- .../org/apache/nifi/controller/Snippet.java | 48 +- .../org/apache/nifi/controller/Triggerable.java | 15 +- .../controller/annotation/OnConfigured.java | 5 +- .../repository/ContentRepository.java | 109 +- .../controller/repository/FlowFileRecord.java | 14 +- .../repository/FlowFileRepository.java | 27 +- .../repository/FlowFileSwapManager.java | 6 +- .../controller/repository/QueueProvider.java | 4 +- .../controller/repository/RepositoryRecord.java | 36 +- .../repository/claim/ContentClaim.java | 6 +- .../repository/claim/ContentClaimManager.java | 45 +- .../controller/status/ProcessGroupStatus.java | 44 +- .../history/ComponentStatusRepository.java | 58 +- .../status/history/MetricDescriptor.java | 25 +- .../status/history/StatusHistory.java | 14 +- .../status/history/StatusSnapshot.java | 12 +- .../nifi/expression/AttributeExpression.java | 30 +- .../expression/AttributeValueDecorator.java | 4 +- .../expression/ExpressionLanguageCompiler.java | 10 +- .../java/org/apache/nifi/flowfile/FlowFile.java | 16 +- .../org/apache/nifi/logging/ComponentLog.java | 50 +- .../org/apache/nifi/logging/ProcessorLog.java | 14 +- .../AbstractSessionFactoryProcessor.java | 11 +- .../org/apache/nifi/processor/DataUnit.java | 3 - .../apache/nifi/processor/FlowFileFilter.java | 6 +- .../apache/nifi/processor/ProcessContext.java | 31 +- .../apache/nifi/processor/ProcessSession.java | 119 +- .../org/apache/nifi/processor/Processor.java | 2 +- .../ProcessorInitializationContext.java | 12 +- .../annotation/CapabilityDescription.java | 3 +- .../nifi/processor/annotation/EventDriven.java | 4 +- .../nifi/processor/annotation/OnAdded.java | 3 +- .../nifi/processor/annotation/OnRemoved.java | 3 +- .../nifi/processor/annotation/OnScheduled.java | 5 +- .../nifi/processor/annotation/OnShutdown.java | 3 +- .../nifi/processor/annotation/OnStopped.java | 3 +- .../processor/annotation/OnUnscheduled.java | 3 +- .../processor/annotation/SideEffectFree.java | 3 +- .../processor/annotation/SupportsBatching.java | 3 +- .../apache/nifi/processor/annotation/Tags.java | 8 +- .../processor/annotation/TriggerSerially.java | 5 +- .../TriggerWhenAnyDestinationAvailable.java | 4 +- .../processor/annotation/TriggerWhenEmpty.java | 3 +- .../nifi/processor/io/InputStreamCallback.java | 4 +- .../nifi/processor/io/OutputStreamCallback.java | 4 +- .../nifi/processor/io/StreamCallback.java | 10 +- .../nifi/provenance/ProvenanceEventBuilder.java | 120 +- .../nifi/provenance/ProvenanceEventRecord.java | 137 +- .../provenance/ProvenanceEventRepository.java | 66 +- .../lineage/ComputeLineageResult.java | 26 +- .../lineage/ComputeLineageSubmission.java | 28 +- .../apache/nifi/provenance/lineage/Lineage.java | 8 +- .../nifi/provenance/lineage/LineageNode.java | 22 +- .../apache/nifi/provenance/search/Query.java | 7 +- .../nifi/provenance/search/QueryResult.java | 30 +- .../nifi/provenance/search/QuerySubmission.java | 18 +- .../nifi/provenance/search/SearchableField.java | 20 +- .../apache/nifi/remote/RemoteDestination.java | 47 +- .../nifi/reporting/AbstractReportingTask.java | 26 +- .../nifi/reporting/BulletinRepository.java | 32 +- .../org/apache/nifi/reporting/EventAccess.java | 12 +- .../apache/nifi/reporting/ReportingContext.java | 36 +- .../ReportingInitializationContext.java | 33 +- .../apache/nifi/reporting/ReportingTask.java | 6 +- .../org/apache/nifi/search/SearchContext.java | 18 +- .../org/apache/nifi/search/SearchResult.java | 16 +- .../org/apache/nifi/web/ComponentDetails.java | 35 +- .../apache/nifi/web/ConfigurationAction.java | 30 +- .../nifi/web/NiFiWebConfigurationContext.java | 68 +- .../web/NiFiWebConfigurationRequestContext.java | 5 +- .../org/apache/nifi/web/NiFiWebContext.java | 18 +- .../apache/nifi/web/NiFiWebRequestContext.java | 8 +- .../nifi/web/ProcessorConfigurationAction.java | 24 +- .../main/java/org/apache/nifi/web/Revision.java | 4 +- .../org/apache/nifi/web/UiExtensionType.java | 11 +- .../org/apache/nifi/web/ViewableContent.java | 41 +- .../nifi/components/TestPropertyDescriptor.java | 18 +- nifi/nifi-assembly/LICENSE | 22 + nifi/nifi-assembly/NOTICE | 35 +- nifi/nifi-assembly/pom.xml | 928 +++++----- .../apache/nifi/bootstrap/BootstrapCodec.java | 118 +- .../org/apache/nifi/bootstrap/NiFiListener.java | 196 +-- .../java/org/apache/nifi/bootstrap/RunNiFi.java | 1641 +++++++++--------- .../org/apache/nifi/bootstrap/ShutdownHook.java | 120 +- .../exception/InvalidCommandException.java | 33 +- .../nifi/provenance/AsyncLineageSubmission.java | 1 + .../nifi/provenance/AsyncQuerySubmission.java | 7 +- .../nifi/provenance/SearchableFields.java | 21 +- .../nifi/provenance/StandardLineageResult.java | 8 +- .../nifi-expression-language/pom.xml | 7 + .../language/InvalidPreparedQuery.java | 13 +- .../attribute/expression/language/Query.java | 81 +- .../functions/GreaterThanEvaluator.java | 3 - .../functions/GreaterThanOrEqualEvaluator.java | 3 - .../evaluation/functions/IsEmptyEvaluator.java | 5 +- .../evaluation/functions/LessThanEvaluator.java | 3 - .../functions/LessThanOrEqualEvaluator.java | 3 - .../functions/ReplaceEmptyEvaluator.java | 7 +- .../evaluation/reduce/CountEvaluator.java | 10 +- .../evaluation/reduce/JoinEvaluator.java | 17 +- .../evaluation/selection/MappingEvaluator.java | 7 +- .../selection/MultiMatchAttributeEvaluator.java | 2 +- .../exception/IllegalAttributeException.java | 1 + .../expression/language/TestQuery.java | 385 ++-- .../language/TestStandardPreparedQuery.java | 26 +- .../apache/nifi/util/FlowFilePackagerV1.java | 2 +- .../apache/nifi/util/FlowFileUnpackagerV1.java | 2 +- .../nifi-hl7-query-language/pom.xml | 204 +-- .../org/apache/nifi/hl7/hapi/EmptyField.java | 16 +- .../org/apache/nifi/hl7/hapi/HapiField.java | 95 +- .../org/apache/nifi/hl7/hapi/HapiMessage.java | 115 +- .../org/apache/nifi/hl7/hapi/HapiSegment.java | 70 +- .../apache/nifi/hl7/hapi/SingleValueField.java | 31 +- .../java/org/apache/nifi/hl7/io/HL7Reader.java | 4 +- .../hl7/io/exception/InvalidHL7Exception.java | 29 +- .../org/apache/nifi/hl7/model/HL7Component.java | 6 +- .../org/apache/nifi/hl7/model/HL7Field.java | 1 - .../org/apache/nifi/hl7/model/HL7Message.java | 8 +- .../org/apache/nifi/hl7/model/HL7Segment.java | 8 +- .../org/apache/nifi/hl7/query/Declaration.java | 12 +- .../org/apache/nifi/hl7/query/HL7Query.java | 646 ++++--- .../org/apache/nifi/hl7/query/QueryResult.java | 15 +- .../org/apache/nifi/hl7/query/ResultHit.java | 7 +- .../org/apache/nifi/hl7/query/Selection.java | 31 +- .../hl7/query/evaluator/BooleanEvaluator.java | 6 +- .../nifi/hl7/query/evaluator/Evaluator.java | 11 +- .../hl7/query/evaluator/IntegerEvaluator.java | 7 +- .../hl7/query/evaluator/StringEvaluator.java | 8 +- .../comparison/AbstractComparisonEvaluator.java | 163 +- .../comparison/AbstractNumericComparison.java | 85 +- .../evaluator/comparison/EqualsEvaluator.java | 16 +- .../comparison/GreaterThanEvaluator.java | 16 +- .../comparison/GreaterThanOrEqualEvaluator.java | 16 +- .../evaluator/comparison/IsNullEvaluator.java | 83 +- .../evaluator/comparison/LessThanEvaluator.java | 15 +- .../comparison/LessThanOrEqualEvaluator.java | 15 +- .../comparison/NotEqualsEvaluator.java | 16 +- .../evaluator/comparison/NotEvaluator.java | 23 +- .../evaluator/comparison/NotNullEvaluator.java | 75 +- .../literal/IntegerLiteralEvaluator.java | 22 +- .../literal/StringLiteralEvaluator.java | 21 +- .../hl7/query/evaluator/logic/AndEvaluator.java | 37 +- .../hl7/query/evaluator/logic/OrEvaluator.java | 37 +- .../message/DeclaredReferenceEvaluator.java | 33 +- .../query/evaluator/message/DotEvaluator.java | 111 +- .../query/evaluator/message/FieldEvaluator.java | 69 +- .../evaluator/message/MessageEvaluator.java | 12 +- .../evaluator/message/SegmentEvaluator.java | 41 +- .../exception/HL7QueryParsingException.java | 33 +- .../nifi/hl7/query/result/MissedResult.java | 59 +- .../hl7/query/result/StandardQueryResult.java | 75 +- .../hl7/query/result/StandardResultHit.java | 31 +- .../org/apache/nifi/hl7/query/TestHL7Query.java | 524 +++--- .../nifi/processor/util/FlowFileFilters.java | 2 +- .../nifi/processor/util/SSLProperties.java | 8 +- .../nifi/processor/util/StandardValidators.java | 140 +- .../processor/util/TestStandardValidators.java | 18 +- .../org/apache/nifi/util/NiFiProperties.java | 14 +- .../nifi/security/util/CertificateUtils.java | 21 +- .../nifi/security/util/SecurityStoreTypes.java | 8 +- .../nifi/security/util/SslContextFactory.java | 36 +- .../nifi-site-to-site-client/pom.xml | 64 +- .../remote/AbstractCommunicationsSession.java | 9 +- .../org/apache/nifi/remote/Communicant.java | 23 +- .../main/java/org/apache/nifi/remote/Peer.java | 20 +- .../org/apache/nifi/remote/PeerDescription.java | 7 +- .../java/org/apache/nifi/remote/PeerStatus.java | 7 +- .../nifi/remote/RemoteResourceInitiator.java | 48 +- .../org/apache/nifi/remote/Transaction.java | 295 ++-- .../nifi/remote/TransactionCompletion.java | 49 +- .../apache/nifi/remote/TransferDirection.java | 13 +- .../nifi/remote/client/SiteToSiteClient.java | 831 ++++----- .../remote/client/SiteToSiteClientConfig.java | 170 +- .../client/socket/EndpointConnection.java | 15 +- .../client/socket/EndpointConnectionPool.java | 627 ++++--- .../nifi/remote/client/socket/SocketClient.java | 319 ++-- .../apache/nifi/remote/codec/FlowFileCodec.java | 15 +- .../remote/codec/StandardFlowFileCodec.java | 33 +- .../remote/exception/HandshakeException.java | 9 +- .../exception/PortNotRunningException.java | 7 +- .../remote/exception/ProtocolException.java | 4 +- .../remote/exception/UnknownPortException.java | 6 +- .../SocketChannelCommunicationsSession.java | 23 +- .../remote/io/socket/SocketChannelInput.java | 11 +- .../remote/io/socket/SocketChannelOutput.java | 11 +- .../SSLSocketChannelCommunicationsSession.java | 23 +- .../io/socket/ssl/SSLSocketChannelInput.java | 9 +- .../io/socket/ssl/SSLSocketChannelOutput.java | 5 +- .../nifi/remote/protocol/ClientProtocol.java | 18 +- .../remote/protocol/CommunicationsInput.java | 5 +- .../remote/protocol/CommunicationsSession.java | 6 +- .../apache/nifi/remote/protocol/DataPacket.java | 33 +- .../protocol/socket/HandshakeProperty.java | 38 +- .../nifi/remote/protocol/socket/Response.java | 11 +- .../remote/protocol/socket/ResponseCode.java | 65 +- .../protocol/socket/SocketClientProtocol.java | 388 +++-- .../socket/SocketClientTransaction.java | 468 ++--- .../SocketClientTransactionCompletion.java | 2 +- .../nifi/remote/util/NiFiRestApiUtil.java | 24 +- .../nifi/remote/util/PeerStatusCache.java | 3 +- .../nifi/remote/util/StandardDataPacket.java | 44 +- .../socket/TestEndpointConnectionStatePool.java | 17 +- .../client/socket/TestSiteToSiteClient.java | 42 +- .../nifi/io/nio/AbstractChannelReader.java | 10 +- .../java/org/apache/nifi/io/nio/BufferPool.java | 10 +- .../apache/nifi/io/nio/ChannelDispatcher.java | 14 +- .../org/apache/nifi/io/nio/ChannelListener.java | 7 +- .../nifi/io/nio/DatagramChannelReader.java | 12 +- .../apache/nifi/io/nio/SocketChannelReader.java | 12 +- .../nifi/io/nio/consumer/StreamConsumer.java | 12 +- .../nifi/io/socket/SSLContextFactory.java | 12 +- .../io/socket/ServerSocketConfiguration.java | 6 +- .../nifi/io/socket/SocketConfiguration.java | 6 +- .../org/apache/nifi/io/socket/SocketUtils.java | 6 +- .../io/socket/multicast/MulticastListener.java | 5 +- .../apache/nifi/io/nio/example/TCPClient.java | 3 +- .../flowfile/attributes/CoreAttributes.java | 27 +- .../attributes/FlowFileAttributeKey.java | 1 + .../apache/nifi/remote/VersionNegotiator.java | 10 +- .../nifi/remote/io/CompressionInputStream.java | 5 +- .../nifi/remote/io/CompressionOutputStream.java | 2 +- .../remote/io/socket/BufferStateManager.java | 2 +- .../io/socket/SocketChannelInputStream.java | 9 +- .../io/socket/SocketChannelOutputStream.java | 3 +- .../remote/io/socket/ssl/SSLSocketChannel.java | 4 +- .../socket/ssl/SSLSocketChannelInputStream.java | 2 +- .../nifi/stream/io/ByteArrayOutputStream.java | 6 +- .../nifi/stream/io/ByteCountingInputStream.java | 5 + .../stream/io/ByteCountingOutputStream.java | 6 + .../stream/io/LeakyBucketStreamThrottler.java | 8 +- .../nifi/stream/io/LimitingInputStream.java | 2 +- .../stream/io/MinimumLengthInputStream.java | 129 +- .../org/apache/nifi/stream/io/StreamUtils.java | 52 +- .../io/util/NonThreadSafeCircularBuffer.java | 2 +- .../java/org/apache/nifi/util/EscapeUtils.java | 15 +- .../java/org/apache/nifi/util/FormatUtils.java | 16 +- .../apache/nifi/util/NaiveSearchRingBuffer.java | 14 +- .../java/org/apache/nifi/util/ObjectHolder.java | 1 - .../java/org/apache/nifi/util/RingBuffer.java | 19 +- .../java/org/apache/nifi/util/StopWatch.java | 8 +- .../main/java/org/apache/nifi/util/Tuple.java | 6 - .../concurrency/DebugDisabledTimedLock.java | 11 +- .../util/concurrency/DebugEnabledTimedLock.java | 16 +- .../org/apache/nifi/util/file/FileUtils.java | 57 +- .../file/monitor/SynchronousFileWatcher.java | 4 +- .../org/apache/nifi/util/search/Search.java | 6 +- .../org/apache/nifi/util/search/SearchTerm.java | 14 +- .../file/monitor/TestCompoundUpdateMonitor.java | 1 - .../monitor/TestSynchronousFileWatcher.java | 1 - .../nifi/util/timebuffer/TestRingBuffer.java | 6 +- .../org/apache/nifi/web/util/ClientUtils.java | 38 +- .../org/wali/MinimalLockingWriteAheadLog.java | 70 +- .../src/main/java/org/wali/SerDe.java | 40 +- .../java/org/wali/WriteAheadRepository.java | 16 +- nifi/nifi-docs/pom.xml | 9 + nifi/nifi-external/nifi-spark-receiver/pom.xml | 22 +- .../org/apache/nifi/spark/NiFiDataPacket.java | 23 +- .../org/apache/nifi/spark/NiFiReceiver.java | 236 +-- ...kControllerServiceInitializationContext.java | 8 +- .../nifi/util/MockControllerServiceLookup.java | 14 +- .../java/org/apache/nifi/util/MockFlowFile.java | 20 +- .../apache/nifi/util/MockProcessContext.java | 15 +- .../apache/nifi/util/MockProcessSession.java | 33 +- .../MockProcessorInitializationContext.java | 4 +- .../org/apache/nifi/util/MockProcessorLog.java | 124 -- .../nifi/util/MockProvenanceReporter.java | 4 +- .../apache/nifi/util/MockReportingContext.java | 6 +- .../MockReportingInitializationContext.java | 2 +- .../apache/nifi/util/MockValidationContext.java | 20 +- .../org/apache/nifi/util/ReflectionUtils.java | 21 +- .../apache/nifi/util/SharedSessionState.java | 1 - .../nifi/util/StandardProcessorTestRunner.java | 123 +- .../java/org/apache/nifi/util/TestRunner.java | 428 ++--- .../util/TestStandardProcessorTestRunner.java | 30 +- .../src/main/resources/META-INF/NOTICE | 74 + .../nifi-aws-bundle/nifi-aws-processors/pom.xml | 19 +- .../processors/aws/AbstractAWSProcessor.java | 99 +- .../processors/aws/s3/AbstractS3Processor.java | 152 +- .../nifi/processors/aws/s3/FetchS3Object.java | 78 +- .../nifi/processors/aws/s3/PutS3Object.java | 100 +- .../aws/sns/AbstractSNSProcessor.java | 42 +- .../apache/nifi/processors/aws/sns/PutSNS.java | 98 +- .../aws/sqs/AbstractSQSProcessor.java | 24 +- .../nifi/processors/aws/sqs/DeleteSQS.java | 40 +- .../apache/nifi/processors/aws/sqs/GetSQS.java | 137 +- .../apache/nifi/processors/aws/sqs/PutSQS.java | 69 +- .../processors/aws/s3/TestFetchS3Object.java | 31 +- .../nifi/processors/aws/s3/TestPutS3Object.java | 45 +- .../nifi/processors/aws/sns/TestPutSNS.java | 25 +- .../nifi/processors/aws/sqs/TestGetSQS.java | 23 +- .../nifi/processors/aws/sqs/TestPutSQS.java | 23 +- nifi/nifi-nar-bundles/nifi-aws-bundle/pom.xml | 18 +- .../nifi-framework/nifi-administration/pom.xml | 8 + .../org/apache/nifi/admin/RepositoryUtils.java | 7 +- .../nifi/admin/UserDataSourceFactoryBean.java | 12 - .../org/apache/nifi/admin/dao/ActionDAO.java | 28 +- .../org/apache/nifi/admin/dao/AuthorityDAO.java | 19 +- .../java/org/apache/nifi/admin/dao/UserDAO.java | 52 +- .../nifi/admin/dao/impl/StandardActionDAO.java | 93 +- .../apache/nifi/admin/service/AuditService.java | 28 +- .../apache/nifi/admin/service/UserService.java | 70 +- .../service/action/AbstractUserAction.java | 18 +- .../service/action/AdministrationAction.java | 8 +- .../service/action/AuthorizeUserAction.java | 6 +- .../admin/service/action/DeleteUserAction.java | 2 +- .../service/action/FindUserByIdAction.java | 5 +- .../service/action/SeedUserAccountsAction.java | 4 +- .../service/impl/StandardAuditService.java | 11 - .../admin/service/impl/StandardUserService.java | 29 +- .../admin/service/transaction/Transaction.java | 6 +- .../AuthorityProviderFactoryBean.java | 47 +- .../org/apache/nifi/user/AccountStatus.java | 4 +- .../java/org/apache/nifi/user/NiFiUser.java | 2 +- .../service/action/AuthorizeUserActionTest.java | 22 +- .../service/action/CreateUserActionTest.java | 14 +- .../service/action/DisableUserActionTest.java | 11 +- .../action/InvalidateUserAccountActionTest.java | 9 +- .../action/RequestUserAccountActionTest.java | 6 +- .../action/SeedUserAccountsActionTest.java | 3 +- .../action/SetUserAuthoritiesActionTest.java | 6 +- .../nifi/web/api/dto/BulletinBoardDTO.java | 8 +- .../apache/nifi/web/api/dto/BulletinDTO.java | 38 +- .../nifi/web/api/dto/BulletinQueryDTO.java | 24 +- .../org/apache/nifi/web/api/dto/ClusterDTO.java | 8 +- .../nifi/web/api/dto/ComponentHistoryDTO.java | 8 +- .../apache/nifi/web/api/dto/ConnectableDTO.java | 36 +- .../apache/nifi/web/api/dto/ConnectionDTO.java | 24 +- .../web/api/dto/ControllerConfigurationDTO.java | 44 +- .../apache/nifi/web/api/dto/ControllerDTO.java | 56 +- .../nifi/web/api/dto/ControllerServiceDTO.java | 68 +- ...ontrollerServiceReferencingComponentDTO.java | 69 +- .../org/apache/nifi/web/api/dto/CounterDTO.java | 16 +- .../apache/nifi/web/api/dto/CountersDTO.java | 8 +- .../nifi/web/api/dto/DocumentedTypeDTO.java | 12 +- .../apache/nifi/web/api/dto/FlowSnippetDTO.java | 37 +- .../org/apache/nifi/web/api/dto/LabelDTO.java | 14 +- .../nifi/web/api/dto/NiFiComponentDTO.java | 5 +- .../org/apache/nifi/web/api/dto/NodeDTO.java | 40 +- .../apache/nifi/web/api/dto/NodeEventDTO.java | 12 +- .../web/api/dto/NodeSystemDiagnosticsDTO.java | 8 +- .../org/apache/nifi/web/api/dto/PortDTO.java | 34 +- .../apache/nifi/web/api/dto/PositionDTO.java | 8 +- .../nifi/web/api/dto/PreviousValueDTO.java | 12 +- .../nifi/web/api/dto/ProcessGroupDTO.java | 46 +- .../nifi/web/api/dto/ProcessorConfigDTO.java | 59 +- .../apache/nifi/web/api/dto/ProcessorDTO.java | 22 +- .../nifi/web/api/dto/PropertyDescriptorDTO.java | 63 +- .../nifi/web/api/dto/PropertyHistoryDTO.java | 4 +- .../nifi/web/api/dto/RelationshipDTO.java | 12 +- .../api/dto/RemoteProcessGroupContentsDTO.java | 8 +- .../nifi/web/api/dto/RemoteProcessGroupDTO.java | 70 +- .../web/api/dto/RemoteProcessGroupPortDTO.java | 42 +- .../nifi/web/api/dto/ReportingTaskDTO.java | 272 ++- .../apache/nifi/web/api/dto/RevisionDTO.java | 5 +- .../org/apache/nifi/web/api/dto/SnippetDTO.java | 68 +- .../nifi/web/api/dto/SystemDiagnosticsDTO.java | 116 +- .../apache/nifi/web/api/dto/TemplateDTO.java | 24 +- .../org/apache/nifi/web/api/dto/UserDTO.java | 42 +- .../apache/nifi/web/api/dto/UserGroupDTO.java | 16 +- .../nifi/web/api/dto/action/ActionDTO.java | 40 +- .../nifi/web/api/dto/action/HistoryDTO.java | 12 +- .../web/api/dto/action/HistoryQueryDTO.java | 32 +- .../component/details/ExtensionDetailsDTO.java | 4 +- .../details/RemoteProcessGroupDetailsDTO.java | 4 +- .../dto/action/details/ConfigureDetailsDTO.java | 12 +- .../dto/action/details/ConnectDetailsDTO.java | 28 +- .../api/dto/action/details/MoveDetailsDTO.java | 16 +- .../api/dto/action/details/PurgeDetailsDTO.java | 4 +- .../web/api/dto/provenance/AttributeDTO.java | 12 +- .../web/api/dto/provenance/ProvenanceDTO.java | 36 +- .../api/dto/provenance/ProvenanceEventDTO.java | 186 +- .../dto/provenance/ProvenanceOptionsDTO.java | 4 +- .../dto/provenance/ProvenanceRequestDTO.java | 24 +- .../dto/provenance/ProvenanceResultsDTO.java | 28 +- .../ProvenanceSearchableFieldDTO.java | 16 +- .../api/dto/provenance/lineage/LineageDTO.java | 36 +- .../provenance/lineage/LineageRequestDTO.java | 12 +- .../provenance/lineage/LineageResultsDTO.java | 12 +- .../provenance/lineage/ProvenanceLinkDTO.java | 20 +- .../provenance/lineage/ProvenanceNodeDTO.java | 36 +- .../dto/search/ComponentSearchResultDTO.java | 16 +- .../web/api/dto/search/NodeSearchResultDTO.java | 8 +- .../web/api/dto/search/SearchResultsDTO.java | 28 +- .../dto/search/UserGroupSearchResultDTO.java | 4 +- .../web/api/dto/search/UserSearchResultDTO.java | 8 +- .../dto/status/ClusterConnectionStatusDTO.java | 14 +- .../api/dto/status/ClusterPortStatusDTO.java | 14 +- .../status/ClusterProcessGroupStatusDTO.java | 89 + .../dto/status/ClusterProcessorStatusDTO.java | 20 +- .../ClusterRemoteProcessGroupStatusDTO.java | 14 +- .../web/api/dto/status/ClusterStatusDTO.java | 4 +- .../api/dto/status/ClusterStatusHistoryDTO.java | 12 +- .../web/api/dto/status/ConnectionStatusDTO.java | 42 +- .../web/api/dto/status/ControllerStatusDTO.java | 42 +- .../api/dto/status/NodeConnectionStatusDTO.java | 8 +- .../web/api/dto/status/NodePortStatusDTO.java | 8 +- .../dto/status/NodeProcessGroupStatusDTO.java | 57 + .../api/dto/status/NodeProcessorStatusDTO.java | 8 +- .../status/NodeRemoteProcessGroupStatusDTO.java | 8 +- .../nifi/web/api/dto/status/NodeStatusDTO.java | 8 +- .../api/dto/status/NodeStatusHistoryDTO.java | 8 +- .../nifi/web/api/dto/status/PortStatusDTO.java | 36 +- .../api/dto/status/ProcessGroupStatusDTO.java | 81 +- .../web/api/dto/status/ProcessorStatusDTO.java | 46 +- .../web/api/dto/status/RemotePortStatusDTO.java | 20 +- .../dto/status/RemoteProcessGroupStatusDTO.java | 38 +- .../nifi/web/api/dto/status/StatusDTO.java | 4 +- .../web/api/dto/status/StatusDescriptorDTO.java | 16 +- .../web/api/dto/status/StatusHistoryDTO.java | 16 +- .../api/dto/status/StatusHistoryDetailDTO.java | 8 +- .../web/api/dto/status/StatusSnapshotDTO.java | 8 +- .../nifi/web/api/entity/AuthorityEntity.java | 8 +- .../entity/ClusterProcessGroupStatusEntity.java | 45 + .../api/entity/ClusterSearchResultsEntity.java | 4 +- .../nifi/web/api/entity/ConnectionEntity.java | 4 +- .../nifi/web/api/entity/ConnectionsEntity.java | 4 +- .../web/api/entity/ControllerServiceEntity.java | 6 +- ...ollerServiceReferencingComponentsEntity.java | 5 +- .../entity/ControllerServiceTypesEntity.java | 4 +- .../api/entity/ControllerServicesEntity.java | 4 +- .../nifi/web/api/entity/CounterEntity.java | 4 +- .../nifi/web/api/entity/CountersEntity.java | 6 +- .../org/apache/nifi/web/api/entity/Entity.java | 4 +- .../nifi/web/api/entity/FunnelsEntity.java | 4 +- .../nifi/web/api/entity/InputPortEntity.java | 4 +- .../nifi/web/api/entity/InputPortsEntity.java | 4 +- .../nifi/web/api/entity/LabelsEntity.java | 4 +- .../nifi/web/api/entity/OutputPortEntity.java | 4 +- .../nifi/web/api/entity/OutputPortsEntity.java | 4 +- .../web/api/entity/PrioritizerTypesEntity.java | 4 +- .../web/api/entity/ProcessorTypesEntity.java | 4 +- .../nifi/web/api/entity/ProcessorsEntity.java | 4 +- .../api/entity/PropertyDescriptorEntity.java | 1 - .../nifi/web/api/entity/ProvenanceEntity.java | 4 +- .../api/entity/RemoteProcessGroupsEntity.java | 4 +- .../web/api/entity/ReportingTaskEntity.java | 6 +- .../api/entity/ReportingTaskTypesEntity.java | 4 +- .../web/api/entity/ReportingTasksEntity.java | 4 +- .../web/api/entity/SearchResultsEntity.java | 4 +- .../nifi/web/api/entity/TemplatesEntity.java | 4 +- .../web/api/entity/UserSearchResultsEntity.java | 8 +- .../apache/nifi/web/api/entity/UsersEntity.java | 4 +- .../apache/nifi/documentation/DocGenerator.java | 12 +- .../html/HtmlDocumentationWriter.java | 231 +-- .../html/HtmlProcessorDocumentationWriter.java | 77 +- .../FullyDocumentedControllerService.java | 51 +- .../example/FullyDocumentedProcessor.java | 156 +- .../example/FullyDocumentedReportingTask.java | 32 +- .../documentation/example/NakedProcessor.java | 8 +- .../documentation/example/SampleService.java | 2 +- .../html/HtmlDocumentationWriterTest.java | 94 +- .../html/ProcessorDocumentationWriterTest.java | 135 +- .../nifi/documentation/html/XmlValidator.java | 29 +- .../protocol/ClusterManagerProtocolSender.java | 22 +- .../cluster/protocol/ConnectionRequest.java | 6 +- .../cluster/protocol/ConnectionResponse.java | 54 +- .../apache/nifi/cluster/protocol/Heartbeat.java | 19 +- .../nifi/cluster/protocol/NodeBulletins.java | 2 +- .../nifi/cluster/protocol/NodeIdentifier.java | 102 +- .../cluster/protocol/NodeProtocolSender.java | 43 +- .../nifi/cluster/protocol/ProtocolContext.java | 12 +- .../cluster/protocol/ProtocolException.java | 9 +- .../nifi/cluster/protocol/ProtocolHandler.java | 17 +- .../nifi/cluster/protocol/ProtocolListener.java | 31 +- .../protocol/ProtocolMessageMarshaller.java | 7 +- .../protocol/ProtocolMessageUnmarshaller.java | 13 +- .../nifi/cluster/protocol/StandardDataFlow.java | 34 +- .../UnknownServiceAddressException.java | 9 +- .../impl/ClusterManagerProtocolSenderImpl.java | 101 +- .../ClusterManagerProtocolSenderListener.java | 28 +- .../protocol/impl/ClusterServiceDiscovery.java | 5 +- .../protocol/impl/ClusterServiceLocator.java | 124 +- .../impl/ClusterServicesBroadcaster.java | 86 +- .../protocol/impl/CopyingInputStream.java | 25 +- .../impl/MulticastProtocolListener.java | 66 +- .../protocol/impl/NodeProtocolSenderImpl.java | 61 +- .../impl/NodeProtocolSenderListener.java | 16 +- .../protocol/impl/SocketProtocolListener.java | 52 +- .../protocol/jaxb/JaxbProtocolContext.java | 21 +- .../jaxb/message/AdaptedConnectionRequest.java | 7 +- .../jaxb/message/AdaptedConnectionResponse.java | 19 +- .../protocol/jaxb/message/AdaptedCounter.java | 11 +- .../protocol/jaxb/message/AdaptedDataFlow.java | 9 +- .../protocol/jaxb/message/AdaptedHeartbeat.java | 13 +- .../jaxb/message/AdaptedNodeBulletins.java | 11 +- .../jaxb/message/AdaptedNodeIdentifier.java | 13 +- .../jaxb/message/ConnectionRequestAdapter.java | 4 +- .../jaxb/message/ConnectionResponseAdapter.java | 12 +- .../protocol/jaxb/message/DataFlowAdapter.java | 10 +- .../protocol/jaxb/message/HeartbeatAdapter.java | 14 +- .../jaxb/message/JaxbProtocolUtils.java | 6 +- .../jaxb/message/NodeBulletinsAdapter.java | 10 +- .../jaxb/message/NodeIdentifierAdapter.java | 6 +- .../protocol/jaxb/message/ObjectFactory.java | 35 +- .../message/ConnectionRequestMessage.java | 11 +- .../message/ConnectionResponseMessage.java | 27 +- .../ControllerStartupFailureMessage.java | 7 +- .../protocol/message/DisconnectMessage.java | 8 +- .../protocol/message/ExceptionMessage.java | 9 +- .../protocol/message/FlowRequestMessage.java | 6 +- .../protocol/message/FlowResponseMessage.java | 4 +- .../protocol/message/HeartbeatMessage.java | 4 +- .../message/MulticastProtocolMessage.java | 17 +- .../protocol/message/NodeBulletinsMessage.java | 4 +- .../cluster/protocol/message/PingMessage.java | 13 +- .../message/PrimaryRoleAssignmentMessage.java | 4 +- .../protocol/message/ProtocolMessage.java | 22 +- .../message/ReconnectionFailureMessage.java | 8 +- .../message/ReconnectionRequestMessage.java | 19 +- .../message/ReconnectionResponseMessage.java | 2 +- .../message/ServiceBroadcastMessage.java | 9 +- .../MulticastConfigurationFactoryBean.java | 12 +- .../ServerSocketConfigurationFactoryBean.java | 13 +- .../spring/SocketConfigurationFactoryBean.java | 16 +- .../ClusterManagerProtocolSenderImplTest.java | 58 +- .../impl/ClusterServiceDiscoveryTest.java | 56 +- .../impl/ClusterServiceLocatorTest.java | 64 +- .../impl/ClusterServicesBroadcasterTest.java | 63 +- .../impl/MulticastProtocolListenerTest.java | 59 +- .../impl/NodeProtocolSenderImplTest.java | 83 +- .../testutils/ReflexiveProtocolHandler.java | 6 +- .../nifi/cluster/context/ClusterContext.java | 36 +- .../cluster/context/ClusterContextImpl.java | 10 +- .../context/ClusterContextThreadLocal.java | 12 +- .../cluster/firewall/ClusterNodeFirewall.java | 5 +- .../impl/FileBasedClusterNodeFirewall.java | 8 +- .../nifi/cluster/flow/ClusterDataFlow.java | 8 +- .../apache/nifi/cluster/flow/DataFlowDao.java | 2 +- .../cluster/flow/DataFlowManagementService.java | 23 +- .../nifi/cluster/flow/impl/DataFlowDaoImpl.java | 52 +- .../impl/DataFlowManagementServiceImpl.java | 38 +- .../nifi/cluster/manager/ClusterManager.java | 8 +- .../nifi/cluster/manager/NodeResponse.java | 18 +- .../cluster/manager/impl/WebClusterManager.java | 428 ++--- .../java/org/apache/nifi/cluster/node/Node.java | 2 +- ...anagerProtocolServiceLocatorFactoryBean.java | 2 +- .../spring/WebClusterManagerFactoryBean.java | 8 +- .../nifi-framework-core-api/pom.xml | 4 +- .../apache/nifi/connectable/Connectable.java | 75 +- .../controller/AbstractConfiguredComponent.java | 13 +- .../apache/nifi/controller/AbstractPort.java | 32 +- .../nifi/controller/ConfiguredComponent.java | 4 +- .../nifi/controller/ContentAvailability.java | 24 +- .../nifi/controller/ProcessScheduler.java | 58 +- .../apache/nifi/controller/ProcessorNode.java | 18 +- .../nifi/controller/ReportingTaskNode.java | 48 +- .../nifi/controller/StandardFlowFileQueue.java | 6 +- .../apache/nifi/controller/StandardFunnel.java | 7 +- .../controller/ValidationContextFactory.java | 4 +- ...ControllerServiceAlreadyExistsException.java | 4 - ...ControllerServiceInstantiationException.java | 13 - .../reporting/ReportingTaskProvider.java | 90 +- .../repository/FlowFileEventRepository.java | 15 +- .../service/ControllerServiceNode.java | 47 +- .../service/ControllerServiceProvider.java | 168 +- .../service/ControllerServiceReference.java | 17 +- .../service/ControllerServiceState.java | 16 +- .../org/apache/nifi/groups/ProcessGroup.java | 221 +-- .../apache/nifi/groups/RemoteProcessGroup.java | 56 +- .../RemoteProcessGroupPortDescriptor.java | 42 +- .../org/apache/nifi/logging/LogRepository.java | 18 +- .../nifi/nar/NarThreadContextClassLoader.java | 5 +- .../org/apache/nifi/remote/RemoteGroupPort.java | 8 +- .../org/apache/nifi/remote/RootGroupPort.java | 28 +- .../nifi/remote/protocol/ServerProtocol.java | 62 +- .../nifi-framework/nifi-framework-core/pom.xml | 1 + .../nifi/connectable/StandardConnection.java | 15 +- .../nifi/controller/FileSystemSwapManager.java | 49 +- .../apache/nifi/controller/FlowController.java | 383 ++-- .../nifi/controller/FlowFromDOMFactory.java | 56 +- .../nifi/controller/FlowUnmarshaller.java | 12 +- .../nifi/controller/StandardFlowSerializer.java | 65 +- .../nifi/controller/StandardFlowService.java | 23 +- .../controller/StandardFlowSynchronizer.java | 210 +-- .../nifi/controller/StandardProcessorNode.java | 110 +- .../apache/nifi/controller/StandardSnippet.java | 75 +- .../org/apache/nifi/controller/Template.java | 2 +- .../apache/nifi/controller/TemplateManager.java | 48 +- .../reporting/AbstractReportingTaskNode.java | 84 +- .../reporting/StandardReportingContext.java | 12 +- .../StandardReportingInitializationContext.java | 12 +- .../repository/FileSystemRepository.java | 35 +- .../controller/repository/ProcessContext.java | 21 +- .../repository/ProvenanceEventEnricher.java | 6 +- .../repository/RepositoryPurgeException.java | 14 - .../repository/RingBufferEventRepository.java | 2 +- .../repository/StandardFlowFileRecord.java | 4 +- .../repository/StandardProcessSession.java | 147 +- .../repository/StandardProvenanceReporter.java | 15 +- .../repository/StandardRepositoryRecord.java | 28 +- .../repository/VolatileContentRepository.java | 6 +- .../repository/VolatileFlowFileRepository.java | 2 +- .../WriteAheadFlowFileRepository.java | 22 +- .../repository/claim/StandardContentClaim.java | 11 +- .../claim/StandardContentClaimManager.java | 10 - .../repository/io/ByteCountingOutputStream.java | 4 +- .../io/FlowFileAccessInputStream.java | 6 +- .../scheduling/ConnectableProcessContext.java | 8 +- .../scheduling/EventDrivenSchedulingAgent.java | 38 +- .../scheduling/QuartzSchedulingAgent.java | 2 +- .../controller/scheduling/ScheduleState.java | 6 +- .../scheduling/StandardProcessScheduler.java | 115 +- .../scheduling/TimerDrivenSchedulingAgent.java | 52 +- .../service/ControllerServiceLoader.java | 53 +- ...dControllerServiceInitializationContext.java | 6 +- .../service/StandardControllerServiceNode.java | 87 +- .../StandardControllerServiceProvider.java | 304 ++-- .../StandardControllerServiceReference.java | 4 +- .../history/StandardMetricDescriptor.java | 23 +- .../status/history/StandardStatusSnapshot.java | 8 + .../VolatileComponentStatusRepository.java | 441 ++--- .../tasks/ContinuallyRunConnectableTask.java | 11 +- .../tasks/ContinuallyRunProcessorTask.java | 16 +- .../controller/tasks/ReportingTaskWrapper.java | 6 +- .../apache/nifi/encrypt/StringEncryptor.java | 2 +- .../java/org/apache/nifi/engine/FlowEngine.java | 26 +- .../nifi/events/VolatileBulletinRepository.java | 2 +- .../nifi/fingerprint/FingerprintFactory.java | 88 +- .../nifi/groups/StandardProcessGroup.java | 46 +- .../nifi/persistence/FlowConfigurationDAO.java | 6 +- .../nifi/processor/SimpleProcessLogger.java | 5 - .../nifi/processor/StandardProcessContext.java | 6 +- .../nifi/processor/StandardPropertyValue.java | 6 +- .../processor/StandardSchedulingContext.java | 2 +- .../processor/StandardValidationContext.java | 18 +- .../org/apache/nifi/remote/RemoteNiFiUtils.java | 120 +- .../nifi/remote/StandardRemoteProcessGroup.java | 48 +- .../org/apache/nifi/services/FlowService.java | 11 +- .../nifi/spring/FlowControllerFactoryBean.java | 2 +- .../spring/StandardFlowServiceFactoryBean.java | 2 +- .../java/org/apache/nifi/util/DomUtils.java | 6 +- .../org/apache/nifi/util/ReflectionUtils.java | 156 +- .../java/org/apache/nifi/util/SnippetUtils.java | 32 +- .../src/main/resources/FlowConfiguration.xsd | 38 +- .../nifi/cluster/HeartbeatPayloadTest.java | 4 +- .../repository/TestStandardProcessSession.java | 220 ++- .../StandardControllerServiceProviderTest.java | 46 +- .../TestStandardControllerServiceProvider.java | 104 +- .../controller/service/mock/DummyProcessor.java | 13 +- .../nifi/controller/service/mock/ServiceA.java | 21 +- .../service/util/TestControllerService.java | 58 +- .../processor/TestStandardPropertyValue.java | 4 +- .../org/apache/nifi/nar/ExtensionManager.java | 14 +- .../org/apache/nifi/nar/NarClassLoader.java | 24 +- .../org/apache/nifi/nar/NarClassLoaders.java | 40 +- .../java/org/apache/nifi/nar/NarUnpacker.java | 14 +- .../java/org/apache/nifi/util/FileUtils.java | 28 +- .../nifi-framework/nifi-runtime/pom.xml | 2 +- .../java/org/apache/nifi/BootstrapListener.java | 501 +++--- .../src/main/java/org/apache/nifi/NiFi.java | 70 +- .../util/SslContextCreationException.java | 1 + .../security/util/SslContextFactory.java | 39 +- .../framework/security/util/SslException.java | 1 + .../security/util/SslServerSocketFactory.java | 19 +- ...SslServerSocketFactoryCreationException.java | 4 +- .../security/util/SslSocketFactory.java | 17 +- .../util/SslSocketFactoryCreationException.java | 1 + .../security/util/SslContextFactoryTest.java | 18 +- .../nifi-framework/nifi-site-to-site/pom.xml | 4 +- .../util/RemoteProcessGroupUtils.java | 120 +- .../nifi/remote/RemoteResourceFactory.java | 114 +- .../nifi/remote/RemoteResourceManager.java | 98 +- .../apache/nifi/remote/RemoteSiteListener.java | 2 +- .../nifi/remote/SocketRemoteSiteListener.java | 226 +-- .../nifi/remote/StandardRemoteGroupPort.java | 200 ++- .../nifi/remote/StandardRootGroupPort.java | 243 +-- .../exception/UnsupportedCodecException.java | 5 +- .../socket/ClusterManagerServerProtocol.java | 50 +- .../socket/SocketFlowFileServerProtocol.java | 254 +-- .../remote/TestStandardSiteToSiteProtocol.java | 28 +- .../io/socket/TestSocketChannelStreams.java | 62 +- .../io/socket/ssl/TestSSLSocketChannel.java | 114 +- .../java/org/apache/nifi/action/Action.java | 4 +- .../java/org/apache/nifi/action/Component.java | 3 +- .../java/org/apache/nifi/action/Operation.java | 1 + .../component/details/ComponentDetails.java | 2 +- .../component/details/ExtensionDetails.java | 2 +- .../details/RemoteProcessGroupDetails.java | 2 +- .../nifi/action/details/ActionDetails.java | 2 +- .../nifi/action/details/ConfigureDetails.java | 2 +- .../nifi/action/details/ConnectDetails.java | 2 +- .../apache/nifi/action/details/MoveDetails.java | 2 +- .../nifi/action/details/PurgeDetails.java | 10 +- .../org/apache/nifi/web/server/JettyServer.java | 127 +- .../nifi-web/nifi-ui-extension/pom.xml | 16 +- .../apache/nifi/ui/extension/UiExtension.java | 8 +- .../nifi/ui/extension/UiExtensionMapping.java | 17 +- .../nifi/audit/ControllerServiceAuditor.java | 25 +- .../org/apache/nifi/audit/FunnelAuditor.java | 4 +- .../java/org/apache/nifi/audit/NiFiAuditor.java | 2 +- .../java/org/apache/nifi/audit/PortAuditor.java | 4 +- .../apache/nifi/audit/ProcessGroupAuditor.java | 2 +- .../org/apache/nifi/audit/ProcessorAuditor.java | 2 +- .../apache/nifi/audit/RelationshipAuditor.java | 2 +- .../nifi/audit/RemoteProcessGroupAuditor.java | 8 +- .../apache/nifi/audit/ReportingTaskAuditor.java | 3 +- .../org/apache/nifi/audit/SnippetAuditor.java | 2 +- .../org/apache/nifi/web/NiFiServiceFacade.java | 513 +++--- .../nifi/web/StandardNiFiContentAccess.java | 18 +- .../nifi/web/StandardNiFiServiceFacade.java | 192 +- .../StandardNiFiWebConfigurationContext.java | 104 +- .../apache/nifi/web/StandardNiFiWebContext.java | 4 +- .../nifi/web/api/ApplicationResource.java | 2 +- .../apache/nifi/web/api/ClusterResource.java | 94 +- .../apache/nifi/web/api/ControllerResource.java | 8 +- .../nifi/web/api/ControllerServiceResource.java | 174 +- .../org/apache/nifi/web/api/FunnelResource.java | 3 +- .../apache/nifi/web/api/HistoryResource.java | 6 +- .../apache/nifi/web/api/InputPortResource.java | 3 +- .../org/apache/nifi/web/api/LabelResource.java | 3 +- .../apache/nifi/web/api/OutputPortResource.java | 3 +- .../apache/nifi/web/api/ProcessorResource.java | 20 +- .../web/api/RemoteProcessGroupResource.java | 4 +- .../nifi/web/api/ReportingTaskResource.java | 131 +- .../apache/nifi/web/api/TemplateResource.java | 3 +- .../org/apache/nifi/web/api/dto/DtoFactory.java | 90 +- .../ApplicationStartupContextListener.java | 17 +- .../nifi/web/controller/ControllerFacade.java | 47 +- .../org/apache/nifi/web/dao/ConnectionDAO.java | 37 +- .../nifi/web/dao/ControllerServiceDAO.java | 40 +- .../java/org/apache/nifi/web/dao/FunnelDAO.java | 25 +- .../java/org/apache/nifi/web/dao/LabelDAO.java | 21 +- .../java/org/apache/nifi/web/dao/PortDAO.java | 29 +- .../org/apache/nifi/web/dao/ProcessorDAO.java | 33 +- .../nifi/web/dao/RemoteProcessGroupDAO.java | 51 +- .../apache/nifi/web/dao/ReportingTaskDAO.java | 2 +- .../org/apache/nifi/web/dao/SnippetDAO.java | 25 +- .../org/apache/nifi/web/dao/TemplateDAO.java | 2 +- .../dao/impl/StandardControllerServiceDAO.java | 49 +- .../nifi/web/dao/impl/StandardProcessorDAO.java | 2 +- .../dao/impl/StandardRemoteProcessGroupDAO.java | 1 - .../web/dao/impl/StandardReportingTaskDAO.java | 4 +- .../nifi/web/dao/impl/StandardSnippetDAO.java | 8 +- .../ReportingTaskProviderFactoryBean.java | 1 - .../org/apache/nifi/web/util/Availability.java | 1 - .../org/apache/nifi/web/util/SnippetUtils.java | 139 +- .../src/main/webapp/WEB-INF/web.xml | 4 + .../nifi/integration/util/NiFiTestServer.java | 58 +- .../java/org/apache/nifi/web/ContentAccess.java | 6 +- .../apache/nifi/web/ContentRequestContext.java | 24 +- .../apache/nifi/web/DownloadableContent.java | 12 +- .../nifi-web/nifi-web-content-viewer/pom.xml | 14 + .../nifi/web/ContentViewerController.java | 55 +- .../src/main/resources/META-INF/LICENSE | 232 +++ .../src/main/resources/META-INF/NOTICE | 12 +- .../src/main/webapp/js/hexview/LICENSE | 32 - .../main/webapp/js/hexview/hexview.default.css | 34 +- .../src/main/webapp/js/hexview/hexview.js | 33 + .../apache/nifi/web/ConfigurationRequest.java | 9 +- .../apache/nifi/web/ConfigurationSnapshot.java | 3 +- .../org/apache/nifi/web/FlowModification.java | 16 +- .../nifi/web/OptimisticLockingManager.java | 25 +- .../web/StandardOptimisticLockingManager.java | 32 +- .../org/apache/nifi/web/UpdateRevision.java | 6 +- .../org/apache/nifi/web/security/DnUtils.java | 14 +- .../anonymous/NiFiAnonymousUserFilter.java | 4 +- .../NiFiAuthenticationEntryPoint.java | 11 +- .../authorization/NiFiAuthorizationService.java | 38 +- .../nifi/web/security/user/NiFiUserDetails.java | 16 +- .../nifi/web/security/user/NiFiUserUtils.java | 6 +- .../x509/SubjectDnX509PrincipalExtractor.java | 6 - .../security/x509/X509AuthenticationFilter.java | 50 +- .../security/x509/X509CertificateExtractor.java | 4 +- .../x509/ocsp/OcspCertificateValidator.java | 43 +- .../NiFiAuthorizationServiceTest.java | 91 +- .../nifi-framework/nifi-web/nifi-web-ui/pom.xml | 18 + .../src/main/webapp/WEB-INF/pages/summary.jsp | 1 + .../cluster-process-group-summary-dialog.jsp | 36 + .../partials/summary/summary-content.jsp | 3 + .../nifi-web-ui/src/main/webapp/css/summary.css | 83 + .../src/main/webapp/images/iconProcessGroup.png | Bin 0 -> 1314 bytes .../webapp/js/nf/summary/nf-summary-table.js | 448 ++++- .../src/main/resources/META-INF/NOTICE | 68 + .../org/apache/nifi/processors/GeoEnrichIP.java | 51 +- .../nifi/processors/maxmind/DatabaseReader.java | 44 +- .../nifi-hadoop-bundle/nifi-hadoop-nar/pom.xml | 28 +- .../hadoop/AbstractHadoopProcessor.java | 15 +- .../hadoop/CreateHadoopSequenceFile.java | 28 +- .../nifi/processors/hadoop/FetchHDFS.java | 141 +- .../apache/nifi/processors/hadoop/GetHDFS.java | 160 +- .../processors/hadoop/GetHDFSSequenceFile.java | 18 +- .../nifi/processors/hadoop/KeyValueReader.java | 6 +- .../apache/nifi/processors/hadoop/ListHDFS.java | 759 ++++---- .../nifi/processors/hadoop/ValueReader.java | 5 +- .../hadoop/util/ByteFilteringOutputStream.java | 24 +- .../processors/hadoop/util/HDFSListing.java | 94 +- .../hadoop/util/InputStreamWritable.java | 6 +- .../nifi/processors/hadoop/util/LongSerDe.java | 28 +- .../hadoop/util/OutputStreamWritable.java | 3 +- .../hadoop/util/SequenceFileWriter.java | 12 +- .../processors/hadoop/util/StringSerDe.java | 24 +- .../src/main/resources/META-INF/NOTICE | 29 + .../nifi-hl7-bundle/nifi-hl7-processors/pom.xml | 114 +- .../processors/hl7/ExtractHL7Attributes.java | 365 ++-- .../apache/nifi/processors/hl7/RouteHL7.java | 300 ++-- .../hl7/TestExtractHL7Attributes.java | 30 +- .../apache/nifi/processors/kafka/GetKafka.java | 438 ++--- .../apache/nifi/processors/kafka/PutKafka.java | 285 +-- .../additionalDetails.html | 28 +- .../additionalDetails.html | 30 +- .../nifi/processors/kafka/TestGetKafka.java | 58 +- .../nifi/processors/kafka/TestPutKafka.java | 189 +- nifi/nifi-nar-bundles/nifi-kafka-bundle/pom.xml | 14 +- .../processors/kite/AbstractKiteProcessor.java | 10 +- .../apache/nifi/processors/kite/AvroUtil.java | 18 +- .../nifi/processors/kite/ConvertCSVToAvro.java | 348 ++-- .../nifi/processors/kite/ConvertJSONToAvro.java | 2 +- .../processors/kite/StoreInKiteDataset.java | 208 +-- .../processors/kite/TestCSVToAvroProcessor.java | 181 +- .../kite/TestConfigurationProperty.java | 65 +- .../nifi/processors/kite/TestGetSchema.java | 117 +- .../kite/TestJSONToAvroProcessor.java | 58 +- .../kite/TestKiteProcessorsCluster.java | 125 +- .../kite/TestKiteStorageProcessor.java | 225 ++- .../apache/nifi/processors/kite/TestUtil.java | 114 +- .../nifi-yandex-processors/pom.xml | 4 +- .../nifi/processors/yandex/YandexTranslate.java | 381 ++-- .../processors/yandex/model/Translation.java | 55 +- .../nifi/processors/yandex/util/Languages.java | 124 +- .../processors/yandex/TestYandexTranslate.java | 317 ++-- .../nifi-language-translation-bundle/pom.xml | 28 +- .../nifi/provenance/IndexConfiguration.java | 12 +- .../PersistentProvenanceRepository.java | 648 +++---- .../provenance/RepositoryConfiguration.java | 100 +- .../nifi/provenance/StandardRecordReader.java | 221 ++- .../nifi/provenance/StandardRecordWriter.java | 110 +- .../provenance/expiration/ExpirationAction.java | 6 +- .../provenance/lucene/DeleteIndexAction.java | 77 +- .../nifi/provenance/lucene/DocsReader.java | 99 +- .../nifi/provenance/lucene/FieldNames.java | 1 + .../nifi/provenance/lucene/IndexManager.java | 467 +++++ .../nifi/provenance/lucene/IndexSearch.java | 67 +- .../nifi/provenance/lucene/IndexingAction.java | 232 +-- .../nifi/provenance/lucene/LineageQuery.java | 6 +- .../nifi/provenance/lucene/LuceneUtil.java | 26 +- .../provenance/rollover/CompressionAction.java | 59 - .../provenance/rollover/RolloverAction.java | 35 - .../provenance/serialization/RecordReader.java | 72 + .../provenance/serialization/RecordReaders.java | 123 +- .../provenance/serialization/RecordWriter.java | 25 +- .../provenance/serialization/RecordWriters.java | 13 +- .../nifi/provenance/toc/StandardTocReader.java | 108 ++ .../nifi/provenance/toc/StandardTocWriter.java | 119 ++ .../apache/nifi/provenance/toc/TocReader.java | 62 + .../org/apache/nifi/provenance/toc/TocUtil.java | 40 + .../apache/nifi/provenance/toc/TocWriter.java | 50 + .../TestPersistentProvenanceRepository.java | 192 +- .../TestStandardRecordReaderWriter.java | 189 ++ .../org/apache/nifi/provenance/TestUtil.java | 82 + .../provenance/toc/TestStandardTocReader.java | 91 + .../provenance/toc/TestStandardTocWriter.java | 42 + .../src/main/resources/META-INF/NOTICE | 57 + .../nifi-twitter-processors/pom.xml | 10 +- .../nifi/processors/twitter/GetTwitter.java | 450 ++--- .../web/StandardContentViewerController.java | 9 +- .../main/webapp/META-INF/nifi-content-viewer | 14 + .../nifi-standard-processors/pom.xml | 3 + .../standard/AbstractJsonPathProcessor.java | 16 +- .../standard/Base64EncodeContent.java | 11 +- .../nifi/processors/standard/BinFiles.java | 155 +- .../processors/standard/CompressContent.java | 29 +- .../nifi/processors/standard/ControlRate.java | 36 +- .../standard/ConvertCharacterSet.java | 43 +- .../processors/standard/DetectDuplicate.java | 28 +- .../processors/standard/DistributeLoad.java | 76 +- .../nifi/processors/standard/EncodeContent.java | 27 +- .../processors/standard/EncryptContent.java | 23 +- .../processors/standard/EvaluateJsonPath.java | 99 +- .../standard/EvaluateRegularExpression.java | 31 +- .../nifi/processors/standard/EvaluateXPath.java | 80 +- .../processors/standard/EvaluateXQuery.java | 57 +- .../processors/standard/ExecuteProcess.java | 10 +- .../standard/ExecuteStreamCommand.java | 50 +- .../nifi/processors/standard/ExtractText.java | 23 +- .../processors/standard/GenerateFlowFile.java | 7 +- .../apache/nifi/processors/standard/GetFTP.java | 14 +- .../nifi/processors/standard/GetFile.java | 26 +- .../processors/standard/GetFileTransfer.java | 9 +- .../nifi/processors/standard/GetHTTP.java | 69 +- .../nifi/processors/standard/GetJMSTopic.java | 47 +- .../nifi/processors/standard/GetSFTP.java | 16 +- .../processors/standard/HandleHttpRequest.java | 463 ++--- .../processors/standard/HandleHttpResponse.java | 126 +- .../nifi/processors/standard/HashAttribute.java | 64 +- .../nifi/processors/standard/HashContent.java | 18 +- .../processors/standard/IdentifyMimeType.java | 17 +- .../nifi/processors/standard/InvokeHTTP.java | 127 +- .../nifi/processors/standard/JmsConsumer.java | 104 +- .../nifi/processors/standard/ListenHTTP.java | 18 +- .../nifi/processors/standard/ListenUDP.java | 269 ++- .../nifi/processors/standard/LogAttribute.java | 5 +- .../nifi/processors/standard/MergeContent.java | 174 +- .../nifi/processors/standard/ModifyBytes.java | 3 - .../processors/standard/MonitorActivity.java | 27 +- .../nifi/processors/standard/PostHTTP.java | 111 +- .../nifi/processors/standard/PutEmail.java | 199 +-- .../apache/nifi/processors/standard/PutFTP.java | 23 +- .../nifi/processors/standard/PutFile.java | 29 +- .../processors/standard/PutFileTransfer.java | 36 +- .../apache/nifi/processors/standard/PutJMS.java | 49 +- .../nifi/processors/standard/PutSFTP.java | 3 +- .../nifi/processors/standard/ReplaceText.java | 36 +- .../standard/ReplaceTextWithMapping.java | 45 +- .../processors/standard/RouteOnAttribute.java | 41 +- .../processors/standard/RouteOnContent.java | 18 +- .../nifi/processors/standard/ScanAttribute.java | 15 +- .../nifi/processors/standard/ScanContent.java | 21 +- .../processors/standard/SegmentContent.java | 39 +- .../nifi/processors/standard/SplitContent.java | 39 +- .../nifi/processors/standard/SplitJson.java | 27 +- .../nifi/processors/standard/SplitText.java | 50 +- .../nifi/processors/standard/SplitXml.java | 18 +- .../nifi/processors/standard/TransformXml.java | 20 +- .../nifi/processors/standard/UnpackContent.java | 54 +- .../nifi/processors/standard/ValidateXml.java | 10 +- .../servlets/ContentAcknowledgmentServlet.java | 11 +- .../standard/servlets/ListenHTTPServlet.java | 29 +- .../nifi/processors/standard/util/Bin.java | 38 +- .../processors/standard/util/BinManager.java | 19 +- .../standard/util/DocumentReaderCallback.java | 13 +- .../processors/standard/util/FTPTransfer.java | 3 +- .../nifi/processors/standard/util/FTPUtils.java | 59 +- .../processors/standard/util/FileTransfer.java | 29 +- .../processors/standard/util/JmsFactory.java | 3 +- .../standard/util/JmsProcessingSummary.java | 100 +- .../processors/standard/util/JmsProperties.java | 5 +- .../util/JsonPathExpressionValidator.java | 86 +- .../standard/util/NLKBufferedReader.java | 14 +- .../standard/util/SFTPConnection.java | 9 - .../processors/standard/util/SFTPTransfer.java | 26 +- .../processors/standard/util/SFTPUtils.java | 12 - .../util/ValidatingBase32InputStream.java | 4 +- .../util/ValidatingBase64InputStream.java | 3 +- .../additionalDetails.html | 6 +- .../additionalDetails.html | 2 +- .../org/apache/tika/mime/custom-mimetypes.xml | 144 +- .../processors/standard/CaptureServlet.java | 9 +- .../processors/standard/HelloWorldServlet.java | 3 +- .../standard/TestBase64EncodeContent.java | 1 - .../standard/TestCompressContent.java | 13 +- .../processors/standard/TestControlRate.java | 3 +- .../standard/TestDetectDuplicate.java | 9 +- .../processors/standard/TestDistributeLoad.java | 1 - .../processors/standard/TestEncryptContent.java | 1 - .../standard/TestEvaluateJsonPath.java | 3 - .../processors/standard/TestEvaluateXPath.java | 1 - .../processors/standard/TestExecuteProcess.java | 18 +- .../standard/TestExecuteStreamCommand.java | 4 +- .../processors/standard/TestExtractText.java | 23 +- .../nifi/processors/standard/TestGetHTTP.java | 59 +- .../standard/TestHandleHttpRequest.java | 30 +- .../standard/TestHandleHttpResponse.java | 64 +- .../processors/standard/TestHashAttribute.java | 2 +- .../processors/standard/TestHashContent.java | 1 - .../standard/TestIdentifyMimeType.java | 1 - .../processors/standard/TestInvokeHTTP.java | 57 +- .../processors/standard/TestJmsConsumer.java | 192 +- .../nifi/processors/standard/TestListenUDP.java | 1 - .../processors/standard/TestMergeContent.java | 20 +- .../processors/standard/TestModifyBytes.java | 1 - .../standard/TestMonitorActivity.java | 18 +- .../nifi/processors/standard/TestPostHTTP.java | 87 +- .../nifi/processors/standard/TestPutEmail.java | 77 +- .../standard/TestReplaceTextLineByLine.java | 1 - .../standard/TestReplaceTextWithMapping.java | 4 +- .../standard/TestRouteOnAttribute.java | 1 - .../processors/standard/TestRouteOnContent.java | 1 - .../processors/standard/TestScanAttribute.java | 1 - .../processors/standard/TestSegmentContent.java | 1 - .../nifi/processors/standard/TestServer.java | 65 +- .../processors/standard/TestSplitContent.java | 21 +- .../nifi/processors/standard/TestSplitText.java | 10 - .../nifi/processors/standard/TestSplitXml.java | 1 - .../processors/standard/TestTransformXml.java | 5 - .../processors/standard/TestUnpackContent.java | 2 - .../processors/standard/TestValidateXml.java | 1 - .../standard/UserAgentTestingServlet.java | 1 - .../test/resources/TestJson/json-sample.json | 814 ++++----- .../ControllerStatusReportingTask.java | 19 +- .../apache/nifi/controller/MonitorMemory.java | 3 +- .../distributed/cache/client/Deserializer.java | 8 +- .../cache/client/DistributedMapCacheClient.java | 69 +- .../cache/client/DistributedSetCacheClient.java | 27 +- .../distributed/cache/client/Serializer.java | 9 +- .../distributed/cache/client/CommsSession.java | 16 +- .../DistributedMapCacheClientService.java | 7 +- .../DistributedSetCacheClientService.java | 6 +- .../cache/client/SSLCommsSession.java | 25 +- .../cache/client/StandardCommsSession.java | 1 + .../additionalDetails.html | 60 +- .../cache/protocol/ProtocolHandshake.java | 37 +- .../protocol/exception/HandshakeException.java | 3 +- .../cache/server/AbstractCacheServer.java | 25 +- .../distributed/cache/server/CacheRecord.java | 12 +- .../distributed/cache/server/CacheServer.java | 3 +- .../cache/server/DistributedCacheServer.java | 3 +- .../cache/server/DistributedSetCacheServer.java | 13 +- .../cache/server/EvictionPolicy.java | 24 +- .../cache/server/SetCacheServer.java | 25 +- .../server/map/DistributedMapCacheServer.java | 12 +- .../distributed/cache/server/map/MapCache.java | 5 + .../cache/server/map/MapCacheRecord.java | 19 +- .../cache/server/map/MapCacheServer.java | 11 +- .../cache/server/map/MapPutResult.java | 5 +- .../cache/server/map/PersistentMapCache.java | 51 +- .../cache/server/map/SimpleMapCache.java | 67 +- .../cache/server/set/PersistentSetCache.java | 57 +- .../distributed/cache/server/set/SetCache.java | 5 +- .../cache/server/set/SetCacheRecord.java | 15 +- .../cache/server/set/SetCacheResult.java | 11 +- .../cache/server/set/SimpleSetCache.java | 41 +- .../additionalDetails.html | 62 +- .../cache/server/TestServerAndClient.java | 15 +- .../nifi-http-context-map-api/pom.xml | 34 +- .../org/apache/nifi/http/HttpContextMap.java | 45 +- .../nifi-http-context-map/pom.xml | 20 +- .../nifi/http/StandardHttpContextMap.java | 83 +- .../index.html | 36 +- .../nifi/ssl/StandardSSLContextService.java | 3 +- .../apache/nifi/ssl/SSLContextServiceTest.java | 4 +- .../apache/nifi/update/attributes/Criteria.java | 24 +- .../update/attributes/serde/CriteriaSerDe.java | 8 +- .../processors/attributes/UpdateAttribute.java | 59 +- .../update/attributes/api/RuleResource.java | 10 +- nifi/pom.xml | 222 +-- 1072 files changed, 26375 insertions(+), 25142 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/dc7f7a82/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/FlowController.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/dc7f7a82/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/util/SnippetUtils.java ---------------------------------------------------------------------- diff --cc nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/util/SnippetUtils.java index d8cb69a,b0e7f3c..9f751e4 --- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/util/SnippetUtils.java +++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/util/SnippetUtils.java @@@ -253,20 -253,20 +253,20 @@@ public final class SnippetUtils } existingServiceDtos.add(serviceNodeDto); - for ( final Map.Entry<PropertyDescriptor, String> entry : serviceNode.getProperties().entrySet() ) { + for (final Map.Entry<PropertyDescriptor, String> entry : serviceNode.getProperties().entrySet()) { final PropertyDescriptor descriptor = entry.getKey(); final String propertyValue = entry.getValue(); - - if ( descriptor.getControllerServiceDefinition() != null && propertyValue != null ) { + - if (descriptor.getControllerServiceDefinition() != null) { ++ if (descriptor.getControllerServiceDefinition() != null && propertyValue != null) { final ControllerServiceNode referencedNode = flowController.getControllerServiceNode(propertyValue); - if ( referencedNode == null ) { + if (referencedNode == null) { throw new IllegalStateException("Controller Service with ID " + propertyValue + " is referenced in template but cannot be found"); } - + final String referencedNodeId = referencedNode.getIdentifier(); - + final boolean alreadyPresent = isServicePresent(referencedNodeId, snippet.getControllerServices()); - if ( !alreadyPresent ) { + if (!alreadyPresent) { addControllerServicesToSnippet(snippet, referencedNode); } } @@@ -477,8 -476,8 +476,8 @@@ // if there is any controller service that maps to another controller service, update the id's updateControllerServiceIdentifiers(snippetContentsCopy, serviceIdMap); - - // + - // ++ // // Copy ProcessGroups // // instantiate the process groups, renaming as necessary http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/dc7f7a82/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/AbstractHadoopProcessor.java ---------------------------------------------------------------------- diff --cc nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/AbstractHadoopProcessor.java index 44ebbf8,3294ead..91c21a0 --- a/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/AbstractHadoopProcessor.java +++ b/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/AbstractHadoopProcessor.java @@@ -217,31 -216,4 +216,31 @@@ public abstract class AbstractHadoopPro }; } - ++ + /** + * Returns the relative path of the child that does not include the filename + * or the root path. - * @param root - * @param child - * @return ++ * @param root the path to relativize from ++ * @param child the path to relativize ++ * @return the relative path + */ + public static String getPathDifference(final Path root, final Path child) { + final int depthDiff = child.depth() - root.depth(); + if (depthDiff <= 1) { + return "".intern(); + } + String lastRoot = root.getName(); + Path childsParent = child.getParent(); + final StringBuilder builder = new StringBuilder(); + builder.append(childsParent.getName()); + for (int i = (depthDiff - 3); i >= 0; i--) { + childsParent = childsParent.getParent(); + String name = childsParent.getName(); + if (name.equals(lastRoot) && childsParent.toString().endsWith(root.toString())) { + break; + } + builder.insert(0, Path.SEPARATOR).insert(0, name); + } + return builder.toString(); + } } http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/dc7f7a82/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/FetchHDFS.java ---------------------------------------------------------------------- diff --cc nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/FetchHDFS.java index 06bb3c6,0000000..b5efce0 mode 100644,000000..100644 --- a/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/FetchHDFS.java +++ b/nifi/nifi-nar-bundles/nifi-hadoop-bundle/nifi-hdfs-processors/src/main/java/org/apache/nifi/processors/hadoop/FetchHDFS.java @@@ -1,126 -1,0 +1,125 @@@ +/* + * 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.hadoop; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.net.URI; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.concurrent.TimeUnit; + +import org.apache.hadoop.fs.FSDataInputStream; +import org.apache.hadoop.fs.FileSystem; +import org.apache.hadoop.fs.Path; +import org.apache.hadoop.security.AccessControlException; +import org.apache.nifi.annotation.behavior.SupportsBatching; +import org.apache.nifi.annotation.behavior.WritesAttribute; +import org.apache.nifi.annotation.documentation.CapabilityDescription; +import org.apache.nifi.annotation.documentation.SeeAlso; +import org.apache.nifi.annotation.documentation.Tags; +import org.apache.nifi.components.PropertyDescriptor; +import org.apache.nifi.flowfile.FlowFile; +import org.apache.nifi.processor.ProcessContext; +import org.apache.nifi.processor.ProcessSession; +import org.apache.nifi.processor.Relationship; +import org.apache.nifi.processor.exception.ProcessException; +import org.apache.nifi.processor.util.StandardValidators; +import org.apache.nifi.util.StopWatch; + +@SupportsBatching +@Tags({"hadoop", "hdfs", "get", "ingest", "fetch", "source"}) +@CapabilityDescription("Retrieves a file from HDFS. The content of the incoming FlowFile is replaced by the content of the file in HDFS. " - + "The file in HDFS is left intact without any changes being made to it.") ++ + "The file in HDFS is left intact without any changes being made to it.") +@WritesAttribute(attribute="hdfs.failure.reason", description="When a FlowFile is routed to 'failure', this attribute is added indicating why the file could " - + "not be fetched from HDFS") ++ + "not be fetched from HDFS") +@SeeAlso({ListHDFS.class, GetHDFS.class, PutHDFS.class}) +public class FetchHDFS extends AbstractHadoopProcessor { ++ static final PropertyDescriptor FILENAME = new PropertyDescriptor.Builder() ++ .name("HDFS Filename") ++ .description("The name of the HDFS file to retrieve") ++ .required(true) ++ .expressionLanguageSupported(true) ++ .defaultValue("${path}/${filename}") ++ .addValidator(StandardValidators.NON_EMPTY_VALIDATOR) ++ .build(); + - static final PropertyDescriptor FILENAME = new PropertyDescriptor.Builder() - .name("HDFS Filename") - .description("The name of the HDFS file to retrieve") - .required(true) - .expressionLanguageSupported(true) - .defaultValue("${path}/${filename}") - .addValidator(StandardValidators.NON_EMPTY_VALIDATOR) - .build(); - - static final Relationship REL_SUCCESS = new Relationship.Builder() - .name("success") - .description("FlowFiles will be routed to this relationship once they have been updated with the content of the HDFS file") - .build(); - static final Relationship REL_FAILURE = new Relationship.Builder() - .name("failure") - .description("FlowFiles will be routed to this relationship if the content of the HDFS file cannot be retrieved and trying again will likely not be helpful. " - + "This would occur, for instance, if the file is not found or if there is a permissions issue") - .build(); - static final Relationship REL_COMMS_FAILURE = new Relationship.Builder() - .name("comms.failure") - .description("FlowFiles will be routed to this relationship if the content of the HDFS file cannot be retrieve due to a communications failure. " - + "This generally indicates that the Fetch should be tried again.") - .build(); ++ static final Relationship REL_SUCCESS = new Relationship.Builder() ++ .name("success") ++ .description("FlowFiles will be routed to this relationship once they have been updated with the content of the HDFS file") ++ .build(); ++ static final Relationship REL_FAILURE = new Relationship.Builder() ++ .name("failure") ++ .description("FlowFiles will be routed to this relationship if the content of the HDFS file cannot be retrieved and trying again will likely not be helpful. " ++ + "This would occur, for instance, if the file is not found or if there is a permissions issue") ++ .build(); ++ static final Relationship REL_COMMS_FAILURE = new Relationship.Builder() ++ .name("comms.failure") ++ .description("FlowFiles will be routed to this relationship if the content of the HDFS file cannot be retrieve due to a communications failure. " ++ + "This generally indicates that the Fetch should be tried again.") ++ .build(); + - @Override - protected List<PropertyDescriptor> getSupportedPropertyDescriptors() { - final List<PropertyDescriptor> properties = new ArrayList<>(); - properties.add(HADOOP_CONFIGURATION_RESOURCES); - properties.add(FILENAME); - return properties; - } - - @Override - public Set<Relationship> getRelationships() { - final Set<Relationship> relationships = new HashSet<>(); - relationships.add(REL_SUCCESS); - relationships.add(REL_FAILURE); - relationships.add(REL_COMMS_FAILURE); - return relationships; - } - - @Override - public void onTrigger(final ProcessContext context, final ProcessSession session) throws ProcessException { - FlowFile flowFile = session.get(); - if ( flowFile == null ) { - return; - } - - final FileSystem hdfs = hdfsResources.get().getValue(); - final Path path = new Path(context.getProperty(FILENAME).evaluateAttributeExpressions(flowFile).getValue()); - final URI uri = path.toUri(); - - final StopWatch stopWatch = new StopWatch(true); - try (final FSDataInputStream inStream = hdfs.open(path, 16384)) { - flowFile = session.importFrom(inStream, flowFile); - stopWatch.stop(); - getLogger().info("Successfully received content from {} for {} in {}", new Object[] {uri, flowFile, stopWatch.getDuration()}); - session.getProvenanceReporter().modifyContent(flowFile, "Fetched content from " + uri, stopWatch.getDuration(TimeUnit.MILLISECONDS)); - session.transfer(flowFile, REL_SUCCESS); - } catch (final FileNotFoundException | AccessControlException e) { - getLogger().error("Failed to retrieve content from {} for {} due to {}; routing to failure", new Object[] {uri, flowFile, e}); - flowFile = session.putAttribute(flowFile, "hdfs.failure.reason", e.getMessage()); - flowFile = session.penalize(flowFile); - session.transfer(flowFile, REL_FAILURE); - } catch (final IOException e) { - getLogger().error("Failed to retrieve content from {} for {} due to {}; routing to comms.failure", new Object[] {uri, flowFile, e}); - flowFile = session.penalize(flowFile); - session.transfer(flowFile, REL_COMMS_FAILURE); - } - } ++ @Override ++ protected List<PropertyDescriptor> getSupportedPropertyDescriptors() { ++ final List<PropertyDescriptor> properties = new ArrayList<>(); ++ properties.add(HADOOP_CONFIGURATION_RESOURCES); ++ properties.add(FILENAME); ++ return properties; ++ } ++ ++ @Override ++ public Set<Relationship> getRelationships() { ++ final Set<Relationship> relationships = new HashSet<>(); ++ relationships.add(REL_SUCCESS); ++ relationships.add(REL_FAILURE); ++ relationships.add(REL_COMMS_FAILURE); ++ return relationships; ++ } ++ ++ @Override ++ public void onTrigger(final ProcessContext context, final ProcessSession session) throws ProcessException { ++ FlowFile flowFile = session.get(); ++ if ( flowFile == null ) { ++ return; ++ } ++ ++ final FileSystem hdfs = hdfsResources.get().getValue(); ++ final Path path = new Path(context.getProperty(FILENAME).evaluateAttributeExpressions(flowFile).getValue()); ++ final URI uri = path.toUri(); ++ ++ final StopWatch stopWatch = new StopWatch(true); ++ try (final FSDataInputStream inStream = hdfs.open(path, 16384)) { ++ flowFile = session.importFrom(inStream, flowFile); ++ stopWatch.stop(); ++ getLogger().info("Successfully received content from {} for {} in {}", new Object[] {uri, flowFile, stopWatch.getDuration()}); ++ session.getProvenanceReporter().modifyContent(flowFile, "Fetched content from " + uri, stopWatch.getDuration(TimeUnit.MILLISECONDS)); ++ session.transfer(flowFile, REL_SUCCESS); ++ } catch (final FileNotFoundException | AccessControlException e) { ++ getLogger().error("Failed to retrieve content from {} for {} due to {}; routing to failure", new Object[] {uri, flowFile, e}); ++ flowFile = session.putAttribute(flowFile, "hdfs.failure.reason", e.getMessage()); ++ flowFile = session.penalize(flowFile); ++ session.transfer(flowFile, REL_FAILURE); ++ } catch (final IOException e) { ++ getLogger().error("Failed to retrieve content from {} for {} due to {}; routing to comms.failure", new Object[] {uri, flowFile, e}); ++ flowFile = session.penalize(flowFile); ++ session.transfer(flowFile, REL_COMMS_FAILURE); ++ } ++ } + +}
