Added TaskExecutionListenerSupport

This commit adds the TaskExecutionListenerSupport, a no-op
implementation of the TaskExecutionListner. This allows a user to extend
the TaskExecutionListenerSupport and simply override what they need
instead of implementing all of the methods.
This commit is contained in:
Michael Minella
2017-02-10 14:16:11 -06:00
parent 1d1a935f46
commit 48af5e5b32
2 changed files with 59 additions and 2 deletions

View File

@@ -19,6 +19,7 @@ import java.util.ArrayList;
import java.util.List;
import org.springframework.batch.item.ExecutionContext;
import org.springframework.cloud.task.listener.TaskExecutionListenerSupport;
import org.springframework.cloud.task.repository.TaskExecution;
import org.springframework.util.Assert;
@@ -29,18 +30,32 @@ import org.springframework.util.Assert;
* @author Michael Minella
* @since 1.1.0
*/
public class SimpleCommandLineArgsProvider implements CommandLineArgsProvider {
public class SimpleCommandLineArgsProvider extends TaskExecutionListenerSupport implements CommandLineArgsProvider {
private final TaskExecution taskExecution;
private TaskExecution taskExecution;
private List<String> appendedArgs;
public SimpleCommandLineArgsProvider() {
}
/**
* @param taskExecution task execution
* @deprecated use the {@link org.springframework.cloud.task.listener.TaskExecutionListener}
* functionality to obtain the {@link TaskExecution}
*/
@Deprecated
public SimpleCommandLineArgsProvider(TaskExecution taskExecution) {
Assert.notNull(taskExecution, "A taskExecution is required");
this.taskExecution = taskExecution;
}
@Override
public void onTaskStartup(TaskExecution taskExecution) {
this.taskExecution = taskExecution;
}
/**
* Additional command line args to be appended.
*

View File

@@ -0,0 +1,42 @@
/*
* Copyright 2017 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.cloud.task.listener;
import org.springframework.cloud.task.repository.TaskExecution;
/**
* A no-op implementation of the {@link TaskExecutionListener} to allow for overriding
* only the methods of interest.
*
* @author Michael Minella
* @since 1.2
*/
public class TaskExecutionListenerSupport implements TaskExecutionListener {
@Override
public void onTaskStartup(TaskExecution taskExecution) {
}
@Override
public void onTaskEnd(TaskExecution taskExecution) {
}
@Override
public void onTaskFailed(TaskExecution taskExecution, Throwable throwable) {
}
}