package liquibase.changelog.filter;
import liquibase.changelog.ChangeSet;
import liquibase.changelog.RanChangeSet;
import java.util.List;
public class ActuallyExecutedChangeSetFilter extends RanChangeSetFilter {
public ActuallyExecutedChangeSetFilter(List<RanChangeSet> ranChangeSets, boolean ignoreClasspathPrefix) {
super(ranChangeSets, ignoreClasspathPrefix);
}
@Override
public ChangeSetFilterResult accepts(ChangeSet changeSet) {
RanChangeSet ranChangeSet = getRanChangeSet(changeSet);
if (ranChangeSet != null && (ranChangeSet.getExecType() == null || ranChangeSet.getExecType().equals(ChangeSet.ExecType.EXECUTED) || ranChangeSet.getExecType().equals(ChangeSet.ExecType.RERAN))) {
return new ChangeSetFilterResult(true, "Change set was executed previously", this.getClass());
} else {
return new ChangeSetFilterResult(false, "Change set was not previously executed", this.getClass());
}
}
}