Package cz.metacentrum.perun.core.impl
Class TasksManagerImpl
java.lang.Object
cz.metacentrum.perun.core.impl.TasksManagerImpl
- All Implemented Interfaces:
TasksManagerImplApi
TasksManagerImpl
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final RowMapper<TaskResult> -
Constructor Summary
ConstructorsConstructorDescriptionCreate new instance of this class.TasksManagerImpl(DataSource perunPool) Create new instance of this class. -
Method Summary
Modifier and TypeMethodDescriptionintintDelete all TaskResultsintdeleteOldTaskResults(int numDays) Delete all TaskResults older than specified number of daysvoiddeleteTaskResultById(int taskResultId) Delete TaskResult by its IDintdeleteTaskResults(int taskId) Delete all TaskResults for the particular TaskintdeleteTaskResults(int taskId, int destinationId) Delete all TaskResults for the particular Task and Destination.static SimpleDateFormatMethod create formatter with default settings for perun timestamps and set lenient on false Timestamp format: "dd-MM-yyyy HH:mm:ss" - "ex. 01-01-2014 10:10:10"static DateTimeFormatterMethod create formatter with default settings for perun timestamps and set ResolverStyle to STRICT Timestamp format: "dd-MM-yyyy HH:mm:ss" - "ex. 01-01-2014 10:10:10"getTask(int serviceId, int facilityId) Retrieve task for given service and facility (by id).Retrieve task for given service and facility.getTaskById(int id) Retrieve task with given id.getTaskResultById(int taskResultId) Get TaskResult by its IDList TaskResultsgetTaskResultsByDestinations(List<String> destinationsNames) Returns list of tasks results for defined destinations (string representation).getTaskResultsByTask(int taskId) List TaskResults tied to a certain taskgetTaskResultsByTaskAndDestination(int taskId, int destinationId) List newest TaskResults tied to a certain task and destinationgetTaskResultsByTaskOnlyNewest(int taskId) List newest TaskResults tied to a certain taskintinsertNewTaskResult(TaskResult taskResult) Store task result into DB.intinsertTask(Task task) Insert new task into DB.booleanCheck if propagating tasks to engine is suspended.booleanisThereSuchTask(Service service, Facility facility) Check if there is a task for given service and facility.Retrieve all tasks from DB.listAllTasksForFacility(int facilityId) Returns all tasks associated with selected facility.listAllTasksForService(int serviceId) Returns all tasks associated with given serviceRetrieve all tass in given state.Retrieve all tasks not in given state.voidremoveTask(int id) Remove task with given id.voidremoveTask(Service service, Facility facility) Remove task for given service and facility.retrieveRunIdForTask(Task task) Retrieves a new run id for the task propagation.voidsuspendTasksPropagation(PerunSession sess, boolean suspend) Suspend propagating tasks to engine.voidupdateTask(Task task) Update DB record of given task.
-
Field Details
-
TASK_RESULT_MAPPING_SELECT_QUERY
- See Also:
-
TASKRESULT_ROWMAPPER
-
TASK_MAPPING_SELECT_QUERY
- See Also:
-
TASK_ROWMAPPER
-
-
Constructor Details
-
TasksManagerImpl
public TasksManagerImpl()Create new instance of this class. Used for the tests only -
TasksManagerImpl
Create new instance of this class.
-
-
Method Details
-
getDateTimeFormatter
Method create formatter with default settings for perun timestamps and set ResolverStyle to STRICT Timestamp format: "dd-MM-yyyy HH:mm:ss" - "ex. 01-01-2014 10:10:10"ResolverStyle.STRICT means that formatter will be more strict to creating timestamp from string
- Returns:
- date formatter
-
getDateFormatter
Method create formatter with default settings for perun timestamps and set lenient on false Timestamp format: "dd-MM-yyyy HH:mm:ss" - "ex. 01-01-2014 10:10:10"Lenient on false means that formatter will be more strict to creating timestamp from string
IMPORTANT: SimpleDateFormat is not thread safe !!!
- Returns:
- date formatter
-
countTasks
public int countTasks()- Specified by:
countTasksin interfaceTasksManagerImplApi- Returns:
-
deleteAllTaskResults
public int deleteAllTaskResults()Description copied from interface:TasksManagerImplApiDelete all TaskResults- Specified by:
deleteAllTaskResultsin interfaceTasksManagerImplApi- Returns:
- number of deleted TaskResults
-
deleteOldTaskResults
public int deleteOldTaskResults(int numDays) Description copied from interface:TasksManagerImplApiDelete all TaskResults older than specified number of days- Specified by:
deleteOldTaskResultsin interfaceTasksManagerImplApi- Parameters:
numDays- Number of days to keep- Returns:
- number of deleted TaskResults
-
deleteTaskResultById
public void deleteTaskResultById(int taskResultId) Description copied from interface:TasksManagerImplApiDelete TaskResult by its ID- Specified by:
deleteTaskResultByIdin interfaceTasksManagerImplApi- Parameters:
taskResultId- ID of TaskResult to delete
-
deleteTaskResults
public int deleteTaskResults(int taskId) Description copied from interface:TasksManagerImplApiDelete all TaskResults for the particular Task- Specified by:
deleteTaskResultsin interfaceTasksManagerImplApi- Parameters:
taskId- ID of Task to delete TaskResults- Returns:
- number of deleted TaskResults
-
deleteTaskResults
public int deleteTaskResults(int taskId, int destinationId) Description copied from interface:TasksManagerImplApiDelete all TaskResults for the particular Task and Destination.- Specified by:
deleteTaskResultsin interfaceTasksManagerImplApi- Parameters:
taskId- ID of Task to delete TaskResultsdestinationId- ID of Destination to delete TaskResults- Returns:
- number of deleted TaskResults
-
getNamedParameterJdbcTemplate
-
getTask
Description copied from interface:TasksManagerImplApiRetrieve task for given service and facility (by id).- Specified by:
getTaskin interfaceTasksManagerImplApi- Parameters:
serviceId-facilityId-- Returns:
- Task
-
getTask
Description copied from interface:TasksManagerImplApiRetrieve task for given service and facility.- Specified by:
getTaskin interfaceTasksManagerImplApi- Parameters:
service-facility-- Returns:
- Task
-
getTaskById
Description copied from interface:TasksManagerImplApiRetrieve task with given id.- Specified by:
getTaskByIdin interfaceTasksManagerImplApi- Parameters:
id-- Returns:
- Task
-
getTaskResultById
Description copied from interface:TasksManagerImplApiGet TaskResult by its ID- Specified by:
getTaskResultByIdin interfaceTasksManagerImplApi- Parameters:
taskResultId-- Returns:
- TaskResult
-
getTaskResults
Description copied from interface:TasksManagerImplApiList TaskResults- Specified by:
getTaskResultsin interfaceTasksManagerImplApi- Returns:
- all TaskResults
-
getTaskResultsByDestinations
Description copied from interface:TasksManagerImplApiReturns list of tasks results for defined destinations (string representation).- Specified by:
getTaskResultsByDestinationsin interfaceTasksManagerImplApi- Parameters:
destinationsNames-- Returns:
- list of tasks results
-
getTaskResultsByTask
Description copied from interface:TasksManagerImplApiList TaskResults tied to a certain task- Specified by:
getTaskResultsByTaskin interfaceTasksManagerImplApi- Parameters:
taskId-- Returns:
-
getTaskResultsByTaskAndDestination
Description copied from interface:TasksManagerImplApiList newest TaskResults tied to a certain task and destination- Specified by:
getTaskResultsByTaskAndDestinationin interfaceTasksManagerImplApi- Parameters:
taskId-- Returns:
-
getTaskResultsByTaskOnlyNewest
Description copied from interface:TasksManagerImplApiList newest TaskResults tied to a certain task- Specified by:
getTaskResultsByTaskOnlyNewestin interfaceTasksManagerImplApi- Parameters:
taskId-- Returns:
-
insertNewTaskResult
Description copied from interface:TasksManagerImplApiStore task result into DB.- Specified by:
insertNewTaskResultin interfaceTasksManagerImplApi- Parameters:
taskResult-- Returns:
- id of new task result
-
insertTask
Description copied from interface:TasksManagerImplApiInsert new task into DB.- Specified by:
insertTaskin interfaceTasksManagerImplApi- Parameters:
task-- Returns:
- id of new task
-
isSuspendedTasksPropagation
public boolean isSuspendedTasksPropagation()Description copied from interface:TasksManagerImplApiCheck if propagating tasks to engine is suspended.- Specified by:
isSuspendedTasksPropagationin interfaceTasksManagerImplApi- Returns:
- True if suspended, false if propagating
-
isThereSuchTask
Description copied from interface:TasksManagerImplApiCheck if there is a task for given service and facility.- Specified by:
isThereSuchTaskin interfaceTasksManagerImplApi- Parameters:
service-facility-- Returns:
- boolean true if there is a task, false otherwise
-
listAllTasks
Description copied from interface:TasksManagerImplApiRetrieve all tasks from DB.- Specified by:
listAllTasksin interfaceTasksManagerImplApi- Returns:
- List of Task
-
listAllTasksForFacility
Description copied from interface:TasksManagerImplApiReturns all tasks associated with selected facility.- Specified by:
listAllTasksForFacilityin interfaceTasksManagerImplApi- Parameters:
facilityId-- Returns:
- tasks for facility
-
listAllTasksForService
Description copied from interface:TasksManagerImplApiReturns all tasks associated with given service- Specified by:
listAllTasksForServicein interfaceTasksManagerImplApi- Parameters:
serviceId-- Returns:
- tasks for service
-
listAllTasksInState
Description copied from interface:TasksManagerImplApiRetrieve all tass in given state.- Specified by:
listAllTasksInStatein interfaceTasksManagerImplApi- Parameters:
state-- Returns:
- List of Task
-
listAllTasksNotInState
Description copied from interface:TasksManagerImplApiRetrieve all tasks not in given state.- Specified by:
listAllTasksNotInStatein interfaceTasksManagerImplApi- Parameters:
state-- Returns:
- List of Task
-
removeTask
public void removeTask(int id) Description copied from interface:TasksManagerImplApiRemove task with given id.- Specified by:
removeTaskin interfaceTasksManagerImplApi- Parameters:
id-
-
removeTask
Description copied from interface:TasksManagerImplApiRemove task for given service and facility.- Specified by:
removeTaskin interfaceTasksManagerImplApi- Parameters:
service-facility-
-
suspendTasksPropagation
Description copied from interface:TasksManagerImplApiSuspend propagating tasks to engine.- Specified by:
suspendTasksPropagationin interfaceTasksManagerImplApi- Parameters:
sess-suspend- True for suspending propagation, false for resuming propagation
-
updateTask
Description copied from interface:TasksManagerImplApiUpdate DB record of given task.- Specified by:
updateTaskin interfaceTasksManagerImplApi- Parameters:
task-
-
retrieveRunIdForTask
Description copied from interface:TasksManagerImplApiRetrieves a new run id for the task propagation.- Specified by:
retrieveRunIdForTaskin interfaceTasksManagerImplApi- Parameters:
task- task to schedule- Returns:
- task with updated run id
-