class DefaultRunConfigurationExecutor implements RunConfigurationExecutor {

  @Override
  public void execute( RunConfiguration runConfiguration, ExecutionConfiguration executionConfiguration,
                       AbstractMeta meta, VariableSpace variableSpace, Repository repository ) throws KettleException {
    DefaultRunConfiguration defaultRunConfiguration = (DefaultRunConfiguration) runConfiguration;
    if ( executionConfiguration instanceof TransExecutionConfiguration ) {
      configureTransExecution( (TransExecutionConfiguration) executionConfiguration, defaultRunConfiguration,
        variableSpace, meta, repository );
    }

    if ( executionConfiguration instanceof JobExecutionConfiguration ) {
      configureJobExecution( (JobExecutionConfiguration) executionConfiguration, defaultRunConfiguration, variableSpace,
        meta, repository );
    }

    variableSpace.setVariable( "engine", null );
    variableSpace.setVariable( "engine.remote", null );
    variableSpace.setVariable( "engine.protocol", null );
    variableSpace.setVariable( "engine.host", null );
    variableSpace.setVariable( "engine.port", null );
  }

}