Class ImportObjectsFromFileTaskHandler
- java.lang.Object
-
- com.evolveum.midpoint.model.impl.importer.ImportObjectsFromFileTaskHandler
-
- All Implemented Interfaces:
TaskHandler
@Component public class ImportObjectsFromFileTaskHandler extends Object implements TaskHandler
Task handler for "Import objects from file" task. Import parses the input file and add all objects to the repository. The import task might be executed on a different node (as usual for async tasks), but this won't work as the file is not serializable. Therefore the task needs to be locked to the executing node. (TODO)- Author:
- Radovan Semancik
- See Also:
TaskHandler
,ResourceObjectChangeListener
-
-
Field Summary
Fields Modifier and Type Field Description static String
HANDLER_URI
-
Constructor Summary
Constructors Constructor Description ImportObjectsFromFileTaskHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getCategoryName(Task task)
Returns a category name for a given task.Long
heartbeat(Task task)
void
launch(File input, Task task, OperationResult parentResult)
Launch an import.void
refreshStatus(Task task)
TaskRunResult
run(RunningTask task, TaskPartitionDefinitionType partition)
The body of the task.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.evolveum.midpoint.task.api.TaskHandler
getCategoryNames, getStatisticsCollectionStrategy, run
-
-
-
-
Field Detail
-
HANDLER_URI
public static final String HANDLER_URI
- See Also:
- Constant Field Values
-
-
Method Detail
-
launch
public void launch(File input, Task task, OperationResult parentResult)
Launch an import. Calling this method will start import in a new thread, possibly on a different node.- Parameters:
input
-task
-parentResult
-
-
run
public TaskRunResult run(RunningTask task, TaskPartitionDefinitionType partition)
The body of the task. This will start the import "loop".- Specified by:
run
in interfaceTaskHandler
-
heartbeat
public Long heartbeat(Task task)
- Specified by:
heartbeat
in interfaceTaskHandler
-
refreshStatus
public void refreshStatus(Task task)
- Specified by:
refreshStatus
in interfaceTaskHandler
-
getCategoryName
public String getCategoryName(Task task)
Description copied from interface:TaskHandler
Returns a category name for a given task. In most cases, the name would be independent of concrete task.- Specified by:
getCategoryName
in interfaceTaskHandler
- Parameters:
task
- a task, whose category is to be determined; if getCategoryNames() returns null, this method has to accept null value as this parameter, and return the (one) category name that it gives to all tasks- Returns:
- a user-understandable name, like "LiveSync" or "Workflow"
-
-