You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by al...@apache.org on 2015/04/22 23:13:05 UTC
[15/49] incubator-nifi git commit: NIFI-271 checkpoint push because
there are so many changes. Long way to go but got through dto library
NIFI-271 checkpoint push because there are so many changes. Long way to go but got through dto library
Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/9faaef8c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/9faaef8c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/9faaef8c
Branch: refs/heads/develop
Commit: 9faaef8cfae703c5b3a77796620c03787767cc28
Parents: 8a296aa
Author: joewitt <jo...@apache.org>
Authored: Tue Apr 21 02:15:46 2015 -0400
Committer: joewitt <jo...@apache.org>
Committed: Tue Apr 21 02:15:46 2015 -0400
----------------------------------------------------------------------
nifi-parent/pom.xml | 19 +-
.../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 +-
.../apache/nifi/util/FlowFilePackagerV1.java | 2 +-
.../apache/nifi/util/FlowFileUnpackagerV1.java | 2 +-
.../nifi-hl7-query-language/pom.xml | 204 +--
.../src/checkstyle/suppressions.xml | 22 +
.../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 +++---
.../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 +-
.../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 +-
.../stream/io/ByteCountingOutputStream.java | 2 -
.../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 +-
nifi/nifi-docs/pom.xml | 9 +
.../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 | 12 +-
.../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 +-
.../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 +-
.../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 | 8 +-
.../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 +-
.../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 +-
.../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/web/ContentAccess.java | 6 +-
.../apache/nifi/web/ContentRequestContext.java | 24 +-
.../apache/nifi/web/DownloadableContent.java | 12 +-
.../cache/protocol/ProtocolHandshake.java | 37 +-
.../protocol/exception/HandshakeException.java | 3 +-
.../apache/nifi/update/attributes/Criteria.java | 24 +-
.../update/attributes/serde/CriteriaSerDe.java | 8 +-
242 files changed, 4484 insertions(+), 5584 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/9faaef8c/nifi-parent/pom.xml
----------------------------------------------------------------------
diff --git a/nifi-parent/pom.xml b/nifi-parent/pom.xml
index fc1a19d..ba9f7ae 100644
--- a/nifi-parent/pom.xml
+++ b/nifi-parent/pom.xml
@@ -198,6 +198,13 @@
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>2.15</version>
+ <dependencies>
+ <dependency>
+ <groupId>com.puppycrawl.tools</groupId>
+ <artifactId>checkstyle</artifactId>
+ <version>6.5</version>
+ </dependency>
+ </dependencies>
</plugin>
</plugins>
</pluginManagement>
@@ -310,7 +317,6 @@
<property name="allowSamelineMultipleAnnotations" value="true" />
</module>
<module name="NonEmptyAtclauseDescription" />
- <module name="JavadocTagContinuationIndentation" />
<module name="JavadocMethod">
<property name="allowMissingJavadoc" value="true" />
<property name="allowMissingParamTags" value="true" />
@@ -325,15 +331,8 @@
</checkstyleRules>
<violationSeverity>warning</violationSeverity>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
- <excludes>**/HelpMojo.java</excludes>
+ <excludes>**/HelpMojo.java,**/generated-sources</excludes>
</configuration>
- <dependencies>
- <dependency>
- <groupId>com.puppycrawl.tools</groupId>
- <artifactId>checkstyle</artifactId>
- <version>6.3</version>
- </dependency>
- </dependencies>
<executions>
<execution>
<id>check-style</id>
@@ -379,7 +378,7 @@
<plugin>
<groupId>org.apache.nifi</groupId>
<artifactId>nifi-nar-maven-plugin</artifactId>
- <version>1.0.0-incubating</version>
+ <version>1.0.1-incubating-SNAPSHOT</version>
<extensions>true</extensions>
</plugin>
</plugins>
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/9faaef8c/nifi/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/BootstrapCodec.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/BootstrapCodec.java b/nifi/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/BootstrapCodec.java
index f03bf1e..3817875 100644
--- a/nifi/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/BootstrapCodec.java
+++ b/nifi/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/BootstrapCodec.java
@@ -27,66 +27,66 @@ import java.util.Arrays;
import org.apache.nifi.bootstrap.exception.InvalidCommandException;
-
public class BootstrapCodec {
- private final RunNiFi runner;
- private final BufferedReader reader;
- private final BufferedWriter writer;
-
- public BootstrapCodec(final RunNiFi runner, final InputStream in, final OutputStream out) {
- this.runner = runner;
- this.reader = new BufferedReader(new InputStreamReader(in));
- this.writer = new BufferedWriter(new OutputStreamWriter(out));
- }
-
- public void communicate() throws IOException {
- final String line = reader.readLine();
- final String[] splits = line.split(" ");
- if ( splits.length < 0 ) {
- throw new IOException("Received invalid command from NiFi: " + line);
- }
-
- final String cmd = splits[0];
- final String[] args;
- if ( splits.length == 1 ) {
- args = new String[0];
- } else {
- args = Arrays.copyOfRange(splits, 1, splits.length);
- }
-
- try {
- processRequest(cmd, args);
- } catch (final InvalidCommandException ice) {
- throw new IOException("Received invalid command from NiFi: " + line + " : " + ice.getMessage() == null ? "" : "Details: " + ice.toString());
- }
- }
- private void processRequest(final String cmd, final String[] args) throws InvalidCommandException, IOException {
- switch (cmd) {
- case "PORT": {
- if ( args.length != 2 ) {
- throw new InvalidCommandException();
- }
-
- final int port;
- try {
- port = Integer.parseInt( args[0] );
- } catch (final NumberFormatException nfe) {
- throw new InvalidCommandException("Invalid Port number; should be integer between 1 and 65535");
- }
-
- if ( port < 1 || port > 65535 ) {
- throw new InvalidCommandException("Invalid Port number; should be integer between 1 and 65535");
- }
+ private final RunNiFi runner;
+ private final BufferedReader reader;
+ private final BufferedWriter writer;
+
+ public BootstrapCodec(final RunNiFi runner, final InputStream in, final OutputStream out) {
+ this.runner = runner;
+ this.reader = new BufferedReader(new InputStreamReader(in));
+ this.writer = new BufferedWriter(new OutputStreamWriter(out));
+ }
+
+ public void communicate() throws IOException {
+ final String line = reader.readLine();
+ final String[] splits = line.split(" ");
+ if (splits.length < 0) {
+ throw new IOException("Received invalid command from NiFi: " + line);
+ }
+
+ final String cmd = splits[0];
+ final String[] args;
+ if (splits.length == 1) {
+ args = new String[0];
+ } else {
+ args = Arrays.copyOfRange(splits, 1, splits.length);
+ }
+
+ try {
+ processRequest(cmd, args);
+ } catch (final InvalidCommandException ice) {
+ throw new IOException("Received invalid command from NiFi: " + line + " : " + ice.getMessage() == null ? "" : "Details: " + ice.toString());
+ }
+ }
+
+ private void processRequest(final String cmd, final String[] args) throws InvalidCommandException, IOException {
+ switch (cmd) {
+ case "PORT": {
+ if (args.length != 2) {
+ throw new InvalidCommandException();
+ }
+
+ final int port;
+ try {
+ port = Integer.parseInt(args[0]);
+ } catch (final NumberFormatException nfe) {
+ throw new InvalidCommandException("Invalid Port number; should be integer between 1 and 65535");
+ }
+
+ if (port < 1 || port > 65535) {
+ throw new InvalidCommandException("Invalid Port number; should be integer between 1 and 65535");
+ }
+
+ final String secretKey = args[1];
- final String secretKey = args[1];
-
- runner.setNiFiCommandControlPort(port, secretKey);
- writer.write("OK");
- writer.newLine();
- writer.flush();
- }
- break;
- }
- }
+ runner.setNiFiCommandControlPort(port, secretKey);
+ writer.write("OK");
+ writer.newLine();
+ writer.flush();
+ }
+ break;
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/9faaef8c/nifi/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/NiFiListener.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/NiFiListener.java b/nifi/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/NiFiListener.java
index f05d45a..1713478 100644
--- a/nifi/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/NiFiListener.java
+++ b/nifi/nifi-bootstrap/src/main/java/org/apache/nifi/bootstrap/NiFiListener.java
@@ -28,101 +28,103 @@ import java.util.concurrent.TimeUnit;
import org.apache.nifi.bootstrap.util.LimitingInputStream;
public class NiFiListener {
- private ServerSocket serverSocket;
- private volatile Listener listener;
-
- int start(final RunNiFi runner) throws IOException {
- serverSocket = new ServerSocket();
- serverSocket.bind(new InetSocketAddress("localhost", 0));
-
- final int localPort = serverSocket.getLocalPort();
- listener = new Listener(serverSocket, runner);
- final Thread listenThread = new Thread(listener);
- listenThread.setName("Listen to NiFi");
- listenThread.start();
- return localPort;
- }
-
- public void stop() throws IOException {
- final Listener listener = this.listener;
- if ( listener == null ) {
- return;
- }
-
- listener.stop();
- }
-
- private class Listener implements Runnable {
- private final ServerSocket serverSocket;
- private final ExecutorService executor;
- private final RunNiFi runner;
- private volatile boolean stopped = false;
-
- public Listener(final ServerSocket serverSocket, final RunNiFi runner) {
- this.serverSocket = serverSocket;
- this.executor = Executors.newFixedThreadPool(2);
- this.runner = runner;
- }
-
- public void stop() throws IOException {
- stopped = true;
-
- executor.shutdown();
- try {
- executor.awaitTermination(3, TimeUnit.SECONDS);
- } catch (final InterruptedException ie) {
- }
-
- serverSocket.close();
- }
-
- @Override
- public void run() {
- while (!serverSocket.isClosed()) {
- try {
- if ( stopped ) {
- return;
- }
-
- final Socket socket;
- try {
- socket = serverSocket.accept();
- } catch (final IOException ioe) {
- if ( stopped ) {
- return;
- }
-
- throw ioe;
- }
-
- executor.submit(new Runnable() {
- @Override
- public void run() {
- try {
- // we want to ensure that we don't try to read data from an InputStream directly
- // by a BufferedReader because any user on the system could open a socket and send
- // a multi-gigabyte file without any new lines in order to crash the Bootstrap,
- // which in turn may cause the Shutdown Hook to shutdown NiFi.
- // So we will limit the amount of data to read to 4 KB
- final InputStream limitingIn = new LimitingInputStream(socket.getInputStream(), 4096);
- final BootstrapCodec codec = new BootstrapCodec(runner, limitingIn, socket.getOutputStream());
- codec.communicate();
- } catch (final Throwable t) {
- System.out.println("Failed to communicate with NiFi due to " + t);
- t.printStackTrace();
- } finally {
- try {
- socket.close();
- } catch (final IOException ioe) {
- }
- }
- }
- });
- } catch (final Throwable t) {
- System.err.println("Failed to receive information from NiFi due to " + t);
- t.printStackTrace();
- }
- }
- }
- }
+
+ private ServerSocket serverSocket;
+ private volatile Listener listener;
+
+ int start(final RunNiFi runner) throws IOException {
+ serverSocket = new ServerSocket();
+ serverSocket.bind(new InetSocketAddress("localhost", 0));
+
+ final int localPort = serverSocket.getLocalPort();
+ listener = new Listener(serverSocket, runner);
+ final Thread listenThread = new Thread(listener);
+ listenThread.setName("Listen to NiFi");
+ listenThread.start();
+ return localPort;
+ }
+
+ public void stop() throws IOException {
+ final Listener listener = this.listener;
+ if (listener == null) {
+ return;
+ }
+
+ listener.stop();
+ }
+
+ private class Listener implements Runnable {
+
+ private final ServerSocket serverSocket;
+ private final ExecutorService executor;
+ private final RunNiFi runner;
+ private volatile boolean stopped = false;
+
+ public Listener(final ServerSocket serverSocket, final RunNiFi runner) {
+ this.serverSocket = serverSocket;
+ this.executor = Executors.newFixedThreadPool(2);
+ this.runner = runner;
+ }
+
+ public void stop() throws IOException {
+ stopped = true;
+
+ executor.shutdown();
+ try {
+ executor.awaitTermination(3, TimeUnit.SECONDS);
+ } catch (final InterruptedException ie) {
+ }
+
+ serverSocket.close();
+ }
+
+ @Override
+ public void run() {
+ while (!serverSocket.isClosed()) {
+ try {
+ if (stopped) {
+ return;
+ }
+
+ final Socket socket;
+ try {
+ socket = serverSocket.accept();
+ } catch (final IOException ioe) {
+ if (stopped) {
+ return;
+ }
+
+ throw ioe;
+ }
+
+ executor.submit(new Runnable() {
+ @Override
+ public void run() {
+ try {
+ // we want to ensure that we don't try to read data from an InputStream directly
+ // by a BufferedReader because any user on the system could open a socket and send
+ // a multi-gigabyte file without any new lines in order to crash the Bootstrap,
+ // which in turn may cause the Shutdown Hook to shutdown NiFi.
+ // So we will limit the amount of data to read to 4 KB
+ final InputStream limitingIn = new LimitingInputStream(socket.getInputStream(), 4096);
+ final BootstrapCodec codec = new BootstrapCodec(runner, limitingIn, socket.getOutputStream());
+ codec.communicate();
+ } catch (final Throwable t) {
+ System.out.println("Failed to communicate with NiFi due to " + t);
+ t.printStackTrace();
+ } finally {
+ try {
+ socket.close();
+ } catch (final IOException ioe) {
+ }
+ }
+ }
+ });
+ } catch (final Throwable t) {
+ System.err.println("Failed to receive information from NiFi due to " + t);
+ t.printStackTrace();
+ }
+ }
+ }
+ }
}