/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.component.workflow.execution.headless.internal; import java.io.File; import java.io.FilenameFilter; import de.rcenvironment.core.component.execution.api.SingleConsoleRowsProcessor; import de.rcenvironment.core.component.workflow.execution.headless.api.HeadlessWorkflowExecutionContext; import de.rcenvironment.core.component.workflow.execution.headless.api.HeadlessWorkflowExecutionService.DeletionBehavior; import de.rcenvironment.core.component.workflow.execution.headless.api.HeadlessWorkflowExecutionService.DisposalBehavior; import de.rcenvironment.core.utils.common.textstream.TextOutputReceiver; /** * Implementation of {@link HeadlessWorkflowExecutionContext}. * * @author Doreen Seider * @author Robert Mischke (minor change) */ public class HeadlessWorkflowExecutionContextImpl implements HeadlessWorkflowExecutionContext { private File wfFile; private File placeholdersFile; private File logDirectory; private TextOutputReceiver textOutputReceiver; private SingleConsoleRowsProcessor singleConsoleRowsProcessor; private DisposalBehavior disposeBehavior = DisposalBehavior.OnExpected; private DeletionBehavior deletionBehavior = DeletionBehavior.OnExpected; private boolean abortIfWorkflowUpdateRequired = false; private boolean isCompactOutput = false; @Override public File getWorkflowFile() { return wfFile; } @Override public File getPlaceholdersFile() { return placeholdersFile; } @Override public File getLogDirectory() { return logDirectory; } @Override public File[] getLogFiles() { return getLogDirectory().listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return name.startsWith("workflow.log"); } }); } @Override public TextOutputReceiver getTextOutputReceiver() { return textOutputReceiver; } @Override public SingleConsoleRowsProcessor getSingleConsoleRowReceiver() { return singleConsoleRowsProcessor; } @Override public DisposalBehavior getDisposalBehavior() { return disposeBehavior; } @Override public boolean shouldAbortIfWorkflowUpdateRequired() { return abortIfWorkflowUpdateRequired; } @Override public boolean isCompactOutput() { return isCompactOutput; } @Override public DeletionBehavior getDeletionBehavior() { return deletionBehavior; } public void setWfFile(File wfFile) { this.wfFile = wfFile; } public void setPlaceholdersFile(File placeholdersFile) { this.placeholdersFile = placeholdersFile; } public void setLogDirectory(File logDirectory) { this.logDirectory = logDirectory; } public void setTextOutputReceiver(TextOutputReceiver textOutputReceiver) { this.textOutputReceiver = textOutputReceiver; } public void setSingleConsoleRowsProcessor(SingleConsoleRowsProcessor singleConsoleRowsProcessor) { this.singleConsoleRowsProcessor = singleConsoleRowsProcessor; } public void setDisposeBehavior(DisposalBehavior disposeBehavior) { this.disposeBehavior = disposeBehavior; } public void setDeletionBehavior(DeletionBehavior delete) { this.deletionBehavior = delete; } public void setAbortIfWorkflowUpdateRequired(boolean abortIfWorkflowUpdateRequired) { this.abortIfWorkflowUpdateRequired = abortIfWorkflowUpdateRequired; } public void setIsCompactOutput(boolean isCompactOutput) { this.isCompactOutput = isCompactOutput; } }