This is an automated email from the ASF dual-hosted git repository.
hansva pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-hop.git
The following commit(s) were added to refs/heads/master by this push:
new b8a01e1 HOP-2201 : Workflow executer Transform does not show logging
(#391)
b8a01e1 is described below
commit b8a01e149f96987e31b9732717663a9cb1a581ac
Author: Matt Casters <[email protected]>
AuthorDate: Wed Nov 18 18:26:52 2020 +0100
HOP-2201 : Workflow executer Transform does not show logging (#391)
---
.../transforms/workflowexecutor/WorkflowExecutor.java | 2 +-
engine/src/main/java/org/apache/hop/run/HopRun.java | 2 +-
engine/src/main/java/org/apache/hop/workflow/Workflow.java | 7 +++++++
.../apache/hop/workflow/actions/workflow/ActionWorkflow.java | 2 +-
.../org/apache/hop/workflow/engine/WorkflowEngineFactory.java | 11 ++++++++---
engine/src/main/java/org/apache/hop/www/AddExportServlet.java | 2 +-
.../src/main/java/org/apache/hop/www/AddWorkflowServlet.java | 2 +-
.../src/main/java/org/apache/hop/www/BaseWorkflowServlet.java | 2 +-
.../main/java/org/apache/hop/www/StartWorkflowServlet.java | 2 +-
.../main/java/org/apache/hop/www/jaxrs/WorkflowResource.java | 4 ++--
.../hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java | 2 +-
11 files changed, 25 insertions(+), 13 deletions(-)
diff --git
a/engine/src/main/java/org/apache/hop/pipeline/transforms/workflowexecutor/WorkflowExecutor.java
b/engine/src/main/java/org/apache/hop/pipeline/transforms/workflowexecutor/WorkflowExecutor.java
index 86a1acf..4108813 100644
---
a/engine/src/main/java/org/apache/hop/pipeline/transforms/workflowexecutor/WorkflowExecutor.java
+++
b/engine/src/main/java/org/apache/hop/pipeline/transforms/workflowexecutor/WorkflowExecutor.java
@@ -310,7 +310,7 @@ public class WorkflowExecutor extends
BaseTransform<WorkflowExecutorMeta, Workfl
@VisibleForTesting
IWorkflowEngine<WorkflowMeta> createWorkflow( WorkflowMeta workflowMeta,
ILoggingObject parentLogging ) throws HopException {
- return WorkflowEngineFactory.createWorkflowEngine(
environmentSubstitute(meta.getRunConfigurationName()), metadataProvider,
workflowMeta );
+ return WorkflowEngineFactory.createWorkflowEngine(
environmentSubstitute(meta.getRunConfigurationName()), metadataProvider,
workflowMeta, parentLogging );
}
@VisibleForTesting
diff --git a/engine/src/main/java/org/apache/hop/run/HopRun.java
b/engine/src/main/java/org/apache/hop/run/HopRun.java
index c6c1050..7107ecb 100644
--- a/engine/src/main/java/org/apache/hop/run/HopRun.java
+++ b/engine/src/main/java/org/apache/hop/run/HopRun.java
@@ -268,7 +268,7 @@ public class HopRun implements Runnable,
IHasHopMetadataProvider {
private void runWorkflow( CommandLine cmd, ILogChannel log,
WorkflowExecutionConfiguration configuration, WorkflowMeta workflowMeta ) {
try {
String runConfigurationName =
workflowMeta.environmentSubstitute(configuration.getRunConfiguration());
- IWorkflowEngine<WorkflowMeta> workflow =
WorkflowEngineFactory.createWorkflowEngine( runConfigurationName,
metadataProvider, workflowMeta );
+ IWorkflowEngine<WorkflowMeta> workflow =
WorkflowEngineFactory.createWorkflowEngine( runConfigurationName,
metadataProvider, workflowMeta, null );
workflow.initializeVariablesFrom( null );
workflow.getWorkflowMeta().setInternalHopVariables( workflow );
workflow.injectVariables( configuration.getVariablesMap() );
diff --git a/engine/src/main/java/org/apache/hop/workflow/Workflow.java
b/engine/src/main/java/org/apache/hop/workflow/Workflow.java
index b6c3e10..f894a30 100644
--- a/engine/src/main/java/org/apache/hop/workflow/Workflow.java
+++ b/engine/src/main/java/org/apache/hop/workflow/Workflow.java
@@ -1320,6 +1320,13 @@ public abstract class Workflow extends Variables
implements IVariables, INamedPa
}
/**
+ * @param parentLoggingObject The parentLoggingObject to set
+ */
+ public void setParentLoggingObject( ILoggingObject parentLoggingObject ) {
+ this.parentLoggingObject = parentLoggingObject;
+ }
+
+ /**
* Gets the registration date. For workflow, this always returns null
*
* @return null
diff --git
a/engine/src/main/java/org/apache/hop/workflow/actions/workflow/ActionWorkflow.java
b/engine/src/main/java/org/apache/hop/workflow/actions/workflow/ActionWorkflow.java
index e484caf..9db039c 100644
---
a/engine/src/main/java/org/apache/hop/workflow/actions/workflow/ActionWorkflow.java
+++
b/engine/src/main/java/org/apache/hop/workflow/actions/workflow/ActionWorkflow.java
@@ -522,7 +522,7 @@ public class ActionWorkflow extends ActionBase implements
Cloneable, IAction {
// Create a new workflow
//
- workflow = WorkflowEngineFactory.createWorkflowEngine(
environmentSubstitute( runConfiguration ), metadataProvider, workflowMeta );
+ workflow = WorkflowEngineFactory.createWorkflowEngine(
environmentSubstitute( runConfiguration ), metadataProvider, workflowMeta, this
);
workflow.setParentWorkflow( parentWorkflow );
workflow.setLogLevel( jobLogLevel );
workflow.shareVariablesWith( this );
diff --git
a/engine/src/main/java/org/apache/hop/workflow/engine/WorkflowEngineFactory.java
b/engine/src/main/java/org/apache/hop/workflow/engine/WorkflowEngineFactory.java
index bd06e7e..badd0b5 100644
---
a/engine/src/main/java/org/apache/hop/workflow/engine/WorkflowEngineFactory.java
+++
b/engine/src/main/java/org/apache/hop/workflow/engine/WorkflowEngineFactory.java
@@ -24,6 +24,7 @@ package org.apache.hop.workflow.engine;
import org.apache.commons.lang.StringUtils;
import org.apache.hop.core.exception.HopException;
+import org.apache.hop.core.logging.ILoggingObject;
import org.apache.hop.core.plugins.IPlugin;
import org.apache.hop.core.plugins.PluginRegistry;
import org.apache.hop.metadata.api.IHopMetadataProvider;
@@ -34,10 +35,11 @@ import org.apache.hop.pipeline.engine.IPipelineEngine;
import org.apache.hop.workflow.WorkflowMeta;
import org.apache.hop.workflow.config.IWorkflowEngineRunConfiguration;
import org.apache.hop.workflow.config.WorkflowRunConfiguration;
+import org.apache.hop.workflow.engines.local.LocalWorkflowEngine;
public class WorkflowEngineFactory {
- public static final <T extends WorkflowMeta> IWorkflowEngine<T>
createWorkflowEngine( String runConfigurationName, IHopMetadataProvider
metadataProvider, T workflowMeta ) throws HopException {
+ public static final <T extends WorkflowMeta> IWorkflowEngine<T>
createWorkflowEngine( String runConfigurationName, IHopMetadataProvider
metadataProvider, T workflowMeta, ILoggingObject parentLogging ) throws
HopException {
if ( StringUtils.isEmpty(runConfigurationName)) {
throw new HopException( "You need to specify a workflow run
configuration to execute this workflow" );
}
@@ -50,7 +52,7 @@ public class WorkflowEngineFactory {
if (runConfiguration==null) {
throw new HopException( "Workflow run configuration
'"+runConfigurationName+"' could not be found" );
}
- IWorkflowEngine<T> workflowEngine = createWorkflowEngine(
runConfiguration, workflowMeta );
+ IWorkflowEngine<T> workflowEngine = createWorkflowEngine(
runConfiguration, workflowMeta, parentLogging );
// Copy the variables from the metadata
//
@@ -64,7 +66,7 @@ public class WorkflowEngineFactory {
return workflowEngine;
}
- private static final <T extends WorkflowMeta> IWorkflowEngine<T>
createWorkflowEngine( WorkflowRunConfiguration workflowRunConfiguration, T
workflowMeta ) throws HopException {
+ private static final <T extends WorkflowMeta> IWorkflowEngine<T>
createWorkflowEngine( WorkflowRunConfiguration workflowRunConfiguration, T
workflowMeta, ILoggingObject parentLogging ) throws HopException {
IWorkflowEngineRunConfiguration engineRunConfiguration =
workflowRunConfiguration.getEngineRunConfiguration();
if (engineRunConfiguration==null) {
throw new HopException( "There is no pipeline execution engine specified
in run configuration '"+workflowRunConfiguration.getName()+"'" );
@@ -82,6 +84,9 @@ public class WorkflowEngineFactory {
IWorkflowEngine<T> workflowEngine = pluginRegistry.loadClass( plugin,
IWorkflowEngine.class );
workflowEngine.setWorkflowRunConfiguration( workflowRunConfiguration );
+ if (workflowEngine instanceof LocalWorkflowEngine ) {
+ ((LocalWorkflowEngine)workflowEngine).setParentLoggingObject(
parentLogging );
+ }
workflowEngine.setWorkflowMeta( workflowMeta );
return workflowEngine;
diff --git a/engine/src/main/java/org/apache/hop/www/AddExportServlet.java
b/engine/src/main/java/org/apache/hop/www/AddExportServlet.java
index 92200f7..66503fc 100644
--- a/engine/src/main/java/org/apache/hop/www/AddExportServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/AddExportServlet.java
@@ -161,7 +161,7 @@ public class AddExportServlet extends BaseHttpServlet
implements IHopServerPlugi
//
workflowMeta.setMetadataProvider( metadataProvider );
- final IWorkflowEngine<WorkflowMeta> workflow =
WorkflowEngineFactory.createWorkflowEngine( runConfigurationName,
metadataProvider, workflowMeta );
+ final IWorkflowEngine<WorkflowMeta> workflow =
WorkflowEngineFactory.createWorkflowEngine( runConfigurationName,
metadataProvider, workflowMeta, servletLoggingObject );
// store it all in the map...
//
diff --git a/engine/src/main/java/org/apache/hop/www/AddWorkflowServlet.java
b/engine/src/main/java/org/apache/hop/www/AddWorkflowServlet.java
index e7cd869..9f71288 100644
--- a/engine/src/main/java/org/apache/hop/www/AddWorkflowServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/AddWorkflowServlet.java
@@ -113,7 +113,7 @@ public class AddWorkflowServlet extends BaseHttpServlet
implements IHopServerPlu
// Create the workflow and store in the list...
//
String runConfigurationName =
workflowExecutionConfiguration.getRunConfiguration();
- final IWorkflowEngine<WorkflowMeta> workflow =
WorkflowEngineFactory.createWorkflowEngine( runConfigurationName,
metadataProvider, workflowMeta );
+ final IWorkflowEngine<WorkflowMeta> workflow =
WorkflowEngineFactory.createWorkflowEngine( runConfigurationName,
metadataProvider, workflowMeta, servletLoggingObject );
// Setting variables
//
diff --git a/engine/src/main/java/org/apache/hop/www/BaseWorkflowServlet.java
b/engine/src/main/java/org/apache/hop/www/BaseWorkflowServlet.java
index ddd7a2b..54eeff1 100644
--- a/engine/src/main/java/org/apache/hop/www/BaseWorkflowServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/BaseWorkflowServlet.java
@@ -70,7 +70,7 @@ public abstract class BaseWorkflowServlet extends
BodyHttpServlet {
// Create the workflow and store in the list...
//
String runConfigurationName =
workflowExecutionConfiguration.getRunConfiguration();
- final IWorkflowEngine<WorkflowMeta> workflow =
WorkflowEngineFactory.createWorkflowEngine( runConfigurationName,
metadataProvider, workflowMeta );
+ final IWorkflowEngine<WorkflowMeta> workflow =
WorkflowEngineFactory.createWorkflowEngine( runConfigurationName,
metadataProvider, workflowMeta, servletLoggingObject );
// Setting variables
workflow.initializeVariablesFrom( null );
diff --git a/engine/src/main/java/org/apache/hop/www/StartWorkflowServlet.java
b/engine/src/main/java/org/apache/hop/www/StartWorkflowServlet.java
index 60333e7..b5465a5 100644
--- a/engine/src/main/java/org/apache/hop/www/StartWorkflowServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/StartWorkflowServlet.java
@@ -128,7 +128,7 @@ public class StartWorkflowServlet extends BaseHttpServlet
implements IHopServerP
servletLoggingObject.setContainerObjectId( serverObjectId );
String runConfigurationName =
workflowConfiguration.getWorkflowExecutionConfiguration().getRunConfiguration();
- IWorkflowEngine<WorkflowMeta> newWorkflow =
WorkflowEngineFactory.createWorkflowEngine( runConfigurationName,
metadataProvider, workflow.getWorkflowMeta() );
+ IWorkflowEngine<WorkflowMeta> newWorkflow =
WorkflowEngineFactory.createWorkflowEngine( runConfigurationName,
metadataProvider, workflow.getWorkflowMeta(), servletLoggingObject );
newWorkflow.setLogLevel( workflow.getLogLevel() );
// Discard old log lines from the old workflow
diff --git
a/engine/src/main/java/org/apache/hop/www/jaxrs/WorkflowResource.java
b/engine/src/main/java/org/apache/hop/www/jaxrs/WorkflowResource.java
index d3e447b..31f50af 100644
--- a/engine/src/main/java/org/apache/hop/www/jaxrs/WorkflowResource.java
+++ b/engine/src/main/java/org/apache/hop/www/jaxrs/WorkflowResource.java
@@ -108,7 +108,7 @@ public class WorkflowResource {
servletLoggingObject.setContainerObjectId( serverObjectId );
String runConfigurationName =
workflowConfiguration.getWorkflowExecutionConfiguration().getRunConfiguration();
try {
- IWorkflowEngine<WorkflowMeta> newWorkflow =
WorkflowEngineFactory.createWorkflowEngine( runConfigurationName,
metadataProvider, workflow.getWorkflowMeta() );
+ IWorkflowEngine<WorkflowMeta> newWorkflow =
WorkflowEngineFactory.createWorkflowEngine( runConfigurationName,
metadataProvider, workflow.getWorkflowMeta(), servletLoggingObject );
newWorkflow.setLogLevel( workflow.getLogLevel() );
// Discard old log lines from the old workflow
@@ -175,7 +175,7 @@ public class WorkflowResource {
// Create the workflow and store in the list...
//
String runConfigurationName =
workflowConfiguration.getWorkflowExecutionConfiguration().getRunConfiguration();
- final IWorkflowEngine<WorkflowMeta> workflow =
WorkflowEngineFactory.createWorkflowEngine( runConfigurationName,
metadataProvider, workflowMeta );
+ final IWorkflowEngine<WorkflowMeta> workflow =
WorkflowEngineFactory.createWorkflowEngine( runConfigurationName,
metadataProvider, workflowMeta, servletLoggingObject );
// Setting variables
//
diff --git
a/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
b/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
index 125c92a..5ae2491 100644
---
a/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
+++
b/ui/src/main/java/org/apache/hop/ui/hopgui/file/workflow/HopGuiWorkflowGraph.java
@@ -3209,7 +3209,7 @@ public class HopGuiWorkflowGraph extends
HopGuiAbstractGraph
hopGuiLoggingObject.setContainerObjectId( hopGuiObjectId );
hopGuiLoggingObject.setLogLevel(
executionConfiguration.getLogLevel() );
- workflow = WorkflowEngineFactory.createWorkflowEngine(
executionConfiguration.getRunConfiguration(), hopGui.getMetadataProvider(),
runWorkflowMeta );
+ workflow = WorkflowEngineFactory.createWorkflowEngine(
executionConfiguration.getRunConfiguration(), hopGui.getMetadataProvider(),
runWorkflowMeta, hopGuiLoggingObject );
workflow.setLogLevel( executionConfiguration.getLogLevel() );
workflow.shareVariablesWith( workflowMeta );