Currently, StepLocator is defined as follows:
public interface StepLocator {
Collection<String> getStepNames();
@Nullable Step getStep(String stepName);
}
When used in a remote partitioning setup, only the getStep(String) is used to locate the step to execute, but clients that implement this interface are forced to implement getStepNames() even if it is not used.
Following the ISP, getStepNames() should be defined in a sub-interface, ListableStepLocator, similar to ListableJobLocator.
Currently,
StepLocatoris defined as follows:When used in a remote partitioning setup, only the
getStep(String)is used to locate the step to execute, but clients that implement this interface are forced to implementgetStepNames()even if it is not used.Following the ISP,
getStepNames()should be defined in a sub-interface,ListableStepLocator, similar toListableJobLocator.