Class PipelineDriver
- java.lang.Object
-
- net.sf.okapi.common.pipelinedriver.PipelineDriver
-
- All Implemented Interfaces:
IPipelineDriver
public class PipelineDriver extends Object implements IPipelineDriver
Default implementation of theIPipelineDriverinterface.
-
-
Constructor Summary
Constructors Constructor Description PipelineDriver()Creates an new PipelineDriver object with an empty pipeline.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddBatchItem(URI inputURI, String defaultEncoding, String filterConfigId, LocaleId srcLoc, LocaleId trgLoc)Adds an item to this batch, using direct parameters.voidaddBatchItem(IBatchItemContext item)Adds an item to this batch.voidaddBatchItem(RawDocument... rawDocs)Adds an item to this batch, using one or more RawDocument objects.voidaddBatchItem(RawDocument rawDoc, URI outputURI, String outputEncoding)Adds an item to this batch, using a RawDocument object.voidaddStep(IPipelineStep step)Adds a step to the pipeline currently associated with this driver.voidclearItems()Removes all current batch items from this driver.voidclearSteps()Remove all theIPipelineSteps from the pipeline.voiddestroy()Destroy the pipeline releasing all resourcesprotected voiddisplayInput(IBatchItemContext item)Logs the information about which batch item is about to be processed.protected List<IBatchItemContext>getBatchItems()protected ExecutionContextgetContext()protected IFilterConfigurationMappergetFcMapper()protected StringgetInputRootDir()protected StringgetOutputDir()protected LinkedList<List<ConfigurationParameter>>getParamList()IPipelinegetPipeline()Gets theIPipelinecurrently associated with this driver.intgetRequestedInputCount()Gets the highest number of input documents needed to run the pipeline for this driver.protected StringgetRootDir()protected ObjectgetUiParent()voidprocessBatch()Processes all the batch items currently in the driver.voidprocessBatch(List<IBatchItemContext> batchItems)Sets a new set of batch items for this driver and processes them.voidsetExecutionContext(ExecutionContext context)Sets the execution context for this driver.voidsetFilterConfigurationMapper(IFilterConfigurationMapper fcMapper)Sets the filter configuration mapper object for this driver.voidsetOutputDirectory(String outputDir)Sets the output directory according to the user's preferences.voidsetPipeline(IPipeline pipeline)Sets theIPipelineto use with this driver.voidsetRootDirectories(String rootDir, String inputRootDir)Sets the root directories corresponding to the ${rootDir} and ${inputRootDir} variables for steps.voidsetUIParent(Object uiParent)Sets the UI parent object for this driver.
-
-
-
Method Detail
-
setFilterConfigurationMapper
public void setFilterConfigurationMapper(IFilterConfigurationMapper fcMapper)
Description copied from interface:IPipelineDriverSets the filter configuration mapper object for this driver.- Specified by:
setFilterConfigurationMapperin interfaceIPipelineDriver- Parameters:
fcMapper- the filter configuration mapper to use.
-
setRootDirectories
public void setRootDirectories(String rootDir, String inputRootDir)
Description copied from interface:IPipelineDriverSets the root directories corresponding to the ${rootDir} and ${inputRootDir} variables for steps.- Specified by:
setRootDirectoriesin interfaceIPipelineDriver- Parameters:
rootDir- the root directory of the project. If it is null, the fall-back is expected to be the user home directory.inputRootDir- the root directory of the first set of input files. If it is null, the fall-back is expected to be an empty string.
-
setOutputDirectory
public void setOutputDirectory(String outputDir)
Description copied from interface:IPipelineDriverSets the output directory according to the user's preferences.- Specified by:
setOutputDirectoryin interfaceIPipelineDriver- Parameters:
outputDir- the output directory, possibly overridden to be different from the inputRootDir.
-
setUIParent
public void setUIParent(Object uiParent)
Description copied from interface:IPipelineDriverSets the UI parent object for this driver.- Specified by:
setUIParentin interfaceIPipelineDriver- Parameters:
uiParent- the UI parent object (window/shell/etc.). Its type depend on the caller, for example for SWT you pass the shell of the caller.
-
setExecutionContext
public void setExecutionContext(ExecutionContext context)
Description copied from interface:IPipelineDriverSets the execution context for this driver.- Specified by:
setExecutionContextin interfaceIPipelineDriver- Parameters:
context- the execution context such as batch mode, CLI/GUI, etc.
-
setPipeline
public void setPipeline(IPipeline pipeline)
Description copied from interface:IPipelineDriverSets theIPipelineto use with this driver.- Specified by:
setPipelinein interfaceIPipelineDriver- Parameters:
pipeline- the newIPipelineto associate with this driver.
-
getPipeline
public IPipeline getPipeline()
Description copied from interface:IPipelineDriverGets theIPipelinecurrently associated with this driver.- Specified by:
getPipelinein interfaceIPipelineDriver- Returns:
- the
IPipelinecurrently associated with this driver.
-
addStep
public void addStep(IPipelineStep step)
Description copied from interface:IPipelineDriverAdds a step to the pipeline currently associated with this driver.- Specified by:
addStepin interfaceIPipelineDriver- Parameters:
step- the step to add.
-
processBatch
public void processBatch(List<IBatchItemContext> batchItems)
Description copied from interface:IPipelineDriverSets a new set of batch items for this driver and processes them. Any batch item that was already in the driver is removed and replaced by the ones provided to this method.- Specified by:
processBatchin interfaceIPipelineDriver- Parameters:
batchItems- the list of the batch items to process.
-
processBatch
public void processBatch()
Description copied from interface:IPipelineDriverProcesses all the batch items currently in the driver.- Specified by:
processBatchin interfaceIPipelineDriver
-
addBatchItem
public void addBatchItem(IBatchItemContext item)
Description copied from interface:IPipelineDriverAdds an item to this batch.- Specified by:
addBatchItemin interfaceIPipelineDriver- Parameters:
item- the item to add to this batch.
-
addBatchItem
public void addBatchItem(RawDocument... rawDocs)
Description copied from interface:IPipelineDriverAdds an item to this batch, using one or more RawDocument objects. The added batch item will have as many input documents as provided.- Specified by:
addBatchItemin interfaceIPipelineDriver- Parameters:
rawDocs- one or more RawDocuments to include in this item.
-
addBatchItem
public void addBatchItem(RawDocument rawDoc, URI outputURI, String outputEncoding)
Description copied from interface:IPipelineDriverAdds an item to this batch, using a RawDocument object. The added item will have a single input document.- Specified by:
addBatchItemin interfaceIPipelineDriver- Parameters:
rawDoc- the RawDocument object from which to create an entry.outputURI- path of the output document (can be null if no used)outputEncoding- encoding of the output (can be null if no used)
-
addBatchItem
public void addBatchItem(URI inputURI, String defaultEncoding, String filterConfigId, LocaleId srcLoc, LocaleId trgLoc)
Description copied from interface:IPipelineDriverAdds an item to this batch, using direct parameters. The added item will have a single input document.- Specified by:
addBatchItemin interfaceIPipelineDriver- Parameters:
inputURI- the URI of the input document.defaultEncoding- the default encoding of the document.filterConfigId- the filter configuration ID of the document (can be null if not used).srcLoc- the source locale.trgLoc- the target locale.
-
clearItems
public void clearItems()
Description copied from interface:IPipelineDriverRemoves all current batch items from this driver.- Specified by:
clearItemsin interfaceIPipelineDriver
-
displayInput
protected void displayInput(IBatchItemContext item)
Logs the information about which batch item is about to be processed. This method is called inside the loop that process the batch.- Parameters:
item- the batch item that is about to be processed.
-
clearSteps
public void clearSteps()
Description copied from interface:IPipelineDriverRemove all theIPipelineSteps from the pipeline. Also calls the destroy() method on each step.- Specified by:
clearStepsin interfaceIPipelineDriver
-
getRequestedInputCount
public int getRequestedInputCount()
Description copied from interface:IPipelineDriverGets the highest number of input documents needed to run the pipeline for this driver.- Specified by:
getRequestedInputCountin interfaceIPipelineDriver- Returns:
- the higher number of input document needed.
-
destroy
public void destroy()
Description copied from interface:IPipelineDriverDestroy the pipeline releasing all resources- Specified by:
destroyin interfaceIPipelineDriver
-
getBatchItems
protected List<IBatchItemContext> getBatchItems()
-
getParamList
protected LinkedList<List<ConfigurationParameter>> getParamList()
-
getFcMapper
protected IFilterConfigurationMapper getFcMapper()
-
getRootDir
protected String getRootDir()
-
getInputRootDir
protected String getInputRootDir()
-
getOutputDir
protected String getOutputDir()
-
getUiParent
protected Object getUiParent()
-
getContext
protected ExecutionContext getContext()
-
-