Repository: incubator-nifi Updated Branches: refs/heads/NIFI-633 [created] de46a7c30
NIFI-633 - Documentation Generation: Logger fixing mock initializers for Processor/ControllerService/ReportingTask to provide a valid logger Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/de46a7c3 Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/de46a7c3 Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/de46a7c3 Branch: refs/heads/NIFI-633 Commit: de46a7c30ce60ba49138684c13f466397ca1df61 Parents: fdc801b Author: danbress <dbr...@onyxconsults.com> Authored: Wed May 27 21:57:15 2015 -0400 Committer: danbress <dbr...@onyxconsults.com> Committed: Wed May 27 21:57:15 2015 -0400 ---------------------------------------------------------------------- .../nifi-framework/nifi-documentation/pom.xml | 4 ++ ...kControllerServiceInitializationContext.java | 5 ++- .../MockProcessorInitializationContext.java | 5 ++- .../MockReportingInitializationContext.java | 5 ++- .../example/ControllerServiceWithLogger.java | 31 +++++++++++++++ .../example/ProcessorWithLogger.java | 37 ++++++++++++++++++ .../example/ReportingTaskWithLogger.java | 36 ++++++++++++++++++ .../html/HtmlDocumentationWriterTest.java | 40 ++++++++++++++++++-- .../html/ProcessorDocumentationWriterTest.java | 18 ++++++++- 9 files changed, 171 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de46a7c3/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml ---------------------------------------------------------------------- diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml index 8ae18e7..55331f1 100644 --- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml +++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/pom.xml @@ -32,6 +32,10 @@ </dependency> <dependency> <groupId>org.apache.nifi</groupId> + <artifactId>nifi-framework-core</artifactId> + </dependency> + <dependency> + <groupId>org.apache.nifi</groupId> <artifactId>nifi-processor-utils</artifactId> <scope>test</scope> </dependency> http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de46a7c3/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockControllerServiceInitializationContext.java ---------------------------------------------------------------------- diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockControllerServiceInitializationContext.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockControllerServiceInitializationContext.java index 69ce8d9..fc94e37 100644 --- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockControllerServiceInitializationContext.java +++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockControllerServiceInitializationContext.java @@ -19,6 +19,7 @@ package org.apache.nifi.documentation.mock; import org.apache.nifi.controller.ControllerServiceInitializationContext; import org.apache.nifi.controller.ControllerServiceLookup; import org.apache.nifi.logging.ComponentLog; +import org.apache.nifi.processor.SimpleProcessLogger; /** * A Mock ControllerServiceInitializationContext so that ControllerServices can @@ -30,7 +31,7 @@ public class MockControllerServiceInitializationContext implements ControllerSer @Override public String getIdentifier() { - return ""; + return "mock-controller-service"; } @Override @@ -40,7 +41,7 @@ public class MockControllerServiceInitializationContext implements ControllerSer @Override public ComponentLog getLogger() { - return null; + return new SimpleProcessLogger(getIdentifier(), getIdentifier()); } } http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de46a7c3/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockProcessorInitializationContext.java ---------------------------------------------------------------------- diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockProcessorInitializationContext.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockProcessorInitializationContext.java index d77d7dd..b8df625 100644 --- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockProcessorInitializationContext.java +++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockProcessorInitializationContext.java @@ -19,6 +19,7 @@ package org.apache.nifi.documentation.mock; import org.apache.nifi.controller.ControllerServiceLookup; import org.apache.nifi.logging.ProcessorLog; import org.apache.nifi.processor.ProcessorInitializationContext; +import org.apache.nifi.processor.SimpleProcessLogger; /** * A Mock ProcessorInitializationContext that can be used so that Processors can @@ -30,12 +31,12 @@ public class MockProcessorInitializationContext implements ProcessorInitializati @Override public String getIdentifier() { - return ""; + return "mock-processor"; } @Override public ProcessorLog getLogger() { - return null; + return new SimpleProcessLogger(getIdentifier(), getIdentifier()); } @Override http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de46a7c3/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockReportingInitializationContext.java ---------------------------------------------------------------------- diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockReportingInitializationContext.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockReportingInitializationContext.java index dc6e236..0324d9d 100644 --- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockReportingInitializationContext.java +++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/main/java/org/apache/nifi/documentation/mock/MockReportingInitializationContext.java @@ -20,6 +20,7 @@ import java.util.concurrent.TimeUnit; import org.apache.nifi.controller.ControllerServiceLookup; import org.apache.nifi.logging.ComponentLog; +import org.apache.nifi.processor.SimpleProcessLogger; import org.apache.nifi.reporting.ReportingInitializationContext; import org.apache.nifi.scheduling.SchedulingStrategy; @@ -32,7 +33,7 @@ public class MockReportingInitializationContext implements ReportingInitializati @Override public String getIdentifier() { - return ""; + return "mock-reporting-task"; } @Override @@ -62,6 +63,6 @@ public class MockReportingInitializationContext implements ReportingInitializati @Override public ComponentLog getLogger() { - return null; + return new SimpleProcessLogger(getIdentifier(), getIdentifier()); } } http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de46a7c3/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/ControllerServiceWithLogger.java ---------------------------------------------------------------------- diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/ControllerServiceWithLogger.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/ControllerServiceWithLogger.java new file mode 100644 index 0000000..054bea4 --- /dev/null +++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/ControllerServiceWithLogger.java @@ -0,0 +1,31 @@ +/* + * 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.documentation.example; + +import org.apache.nifi.controller.AbstractControllerService; +import org.apache.nifi.controller.ControllerServiceInitializationContext; +import org.apache.nifi.reporting.InitializationException; + +public class ControllerServiceWithLogger extends AbstractControllerService { + + @Override + public void init(ControllerServiceInitializationContext context) + throws InitializationException { + context.getLogger().info("initializing..."); + + } +} http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de46a7c3/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/ProcessorWithLogger.java ---------------------------------------------------------------------- diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/ProcessorWithLogger.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/ProcessorWithLogger.java new file mode 100644 index 0000000..aca90ad --- /dev/null +++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/ProcessorWithLogger.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.nifi.documentation.example; + +import org.apache.nifi.processor.AbstractProcessor; +import org.apache.nifi.processor.ProcessContext; +import org.apache.nifi.processor.ProcessSession; +import org.apache.nifi.processor.ProcessorInitializationContext; +import org.apache.nifi.processor.exception.ProcessException; + +public class ProcessorWithLogger extends AbstractProcessor { + + @Override + protected void init(ProcessorInitializationContext context) { + context.getLogger().info("Initializing..."); + } + + @Override + public void onTrigger(ProcessContext context, ProcessSession session) + throws ProcessException { + + } +} http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de46a7c3/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/ReportingTaskWithLogger.java ---------------------------------------------------------------------- diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/ReportingTaskWithLogger.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/ReportingTaskWithLogger.java new file mode 100644 index 0000000..e58c637 --- /dev/null +++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/example/ReportingTaskWithLogger.java @@ -0,0 +1,36 @@ +/* + * 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.documentation.example; + +import org.apache.nifi.reporting.AbstractReportingTask; +import org.apache.nifi.reporting.InitializationException; +import org.apache.nifi.reporting.ReportingContext; +import org.apache.nifi.reporting.ReportingInitializationContext; + +public class ReportingTaskWithLogger extends AbstractReportingTask { + + @Override + public void init(ReportingInitializationContext config) + throws InitializationException { + config.getLogger().info("Initializing..."); + } + + @Override + public void onTrigger(ReportingContext context) { + + } +} http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de46a7c3/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/HtmlDocumentationWriterTest.java ---------------------------------------------------------------------- diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/HtmlDocumentationWriterTest.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/HtmlDocumentationWriterTest.java index e897262..9179ed2 100644 --- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/HtmlDocumentationWriterTest.java +++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/HtmlDocumentationWriterTest.java @@ -16,22 +16,24 @@ */ package org.apache.nifi.documentation.html; +import static org.apache.nifi.documentation.html.XmlValidator.assertContains; +import static org.junit.Assert.assertEquals; + import java.io.ByteArrayOutputStream; import java.io.IOException; import org.apache.nifi.controller.ControllerService; import org.apache.nifi.documentation.DocumentationWriter; +import org.apache.nifi.documentation.example.ControllerServiceWithLogger; import org.apache.nifi.documentation.example.FullyDocumentedControllerService; import org.apache.nifi.documentation.example.FullyDocumentedReportingTask; +import org.apache.nifi.documentation.example.ReportingTaskWithLogger; import org.apache.nifi.documentation.mock.MockControllerServiceInitializationContext; import org.apache.nifi.documentation.mock.MockReportingInitializationContext; import org.apache.nifi.reporting.InitializationException; import org.apache.nifi.reporting.ReportingTask; import org.junit.Test; -import static org.apache.nifi.documentation.html.XmlValidator.assertContains; -import static org.junit.Assert.assertEquals; - public class HtmlDocumentationWriterTest { @Test @@ -98,4 +100,36 @@ public class HtmlDocumentationWriterTest { assertContains(results, "true"); assertContains(results, "false"); } + + @Test + public void testControllerServiceWithLogger() throws InitializationException, IOException { + + ControllerService controllerService = new ControllerServiceWithLogger(); + controllerService.initialize(new MockControllerServiceInitializationContext()); + + DocumentationWriter writer = new HtmlDocumentationWriter(); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + + writer.write(controllerService, baos, false); + + String results = new String(baos.toByteArray()); + XmlValidator.assertXmlValid(results); + } + + @Test + public void testReportingTaskWithLogger() throws InitializationException, IOException { + + ReportingTask controllerService = new ReportingTaskWithLogger(); + controllerService.initialize(new MockReportingInitializationContext()); + + DocumentationWriter writer = new HtmlDocumentationWriter(); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + + writer.write(controllerService, baos, false); + + String results = new String(baos.toByteArray()); + XmlValidator.assertXmlValid(results); + } } http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/de46a7c3/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/ProcessorDocumentationWriterTest.java ---------------------------------------------------------------------- diff --git a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/ProcessorDocumentationWriterTest.java b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/ProcessorDocumentationWriterTest.java index 6016f95..c421148 100644 --- a/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/ProcessorDocumentationWriterTest.java +++ b/nifi/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-documentation/src/test/java/org/apache/nifi/documentation/html/ProcessorDocumentationWriterTest.java @@ -26,6 +26,7 @@ import org.apache.nifi.annotation.documentation.CapabilityDescription; import org.apache.nifi.documentation.DocumentationWriter; import org.apache.nifi.documentation.example.FullyDocumentedProcessor; import org.apache.nifi.documentation.example.NakedProcessor; +import org.apache.nifi.documentation.example.ProcessorWithLogger; import org.apache.nifi.documentation.mock.MockProcessorInitializationContext; import org.junit.Test; @@ -97,6 +98,21 @@ public class ProcessorDocumentationWriterTest { // relationships assertContains(results, "This processor has no relationships."); - } + } + + @Test + public void testProcessorWithLoggerInitialization() throws IOException { + ProcessorWithLogger processor = new ProcessorWithLogger(); + processor.initialize(new MockProcessorInitializationContext()); + + DocumentationWriter writer = new HtmlProcessorDocumentationWriter(); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + + writer.write(processor, baos, false); + String results = new String(baos.toByteArray()); + XmlValidator.assertXmlValid(results); + + } }