diff --git a/optaplanner-core/src/main/java/org/optaplanner/core/api/solver/Solver.java b/optaplanner-core/src/main/java/org/optaplanner/core/api/solver/Solver.java index e381103bdf..77d61ce9c7 100644 --- a/optaplanner-core/src/main/java/org/optaplanner/core/api/solver/Solver.java +++ b/optaplanner-core/src/main/java/org/optaplanner/core/api/solver/Solver.java @@ -84,18 +84,13 @@ public interface Solver { Solution_ solve(Solution_ planningProblem); /** - * Solves the planning problem and returns the best solution encountered - * (which might or might not be optimal, feasible or even initialized). - *

- * It can take seconds, minutes, even hours or days before this method returns, - * depending on the {@link Termination} configuration. - * To terminate a {@link Solver} early, call {@link #terminateEarly()}. - * @param planningProblem never null, usually its planning variables are uninitialized - * @return never null, but it can return the original, uninitialized {@link PlanningSolution} with a {@link Score} null. - * @see #terminateEarly() + * Retained for backwards compatibility with 6.x. This method will be removed in 8.0. + * @param planningProblem never null + * @return never null + * @deprecated In favor of {@link #solve(Object)} */ @Deprecated - Solution_ solve(Solution planningProblem); + Solution solve(Solution planningProblem); /** * This method is thread-safe. diff --git a/optaplanner-core/src/main/java/org/optaplanner/core/impl/solver/DefaultSolver.java b/optaplanner-core/src/main/java/org/optaplanner/core/impl/solver/DefaultSolver.java index 0f86721f06..6adefb2b8c 100644 --- a/optaplanner-core/src/main/java/org/optaplanner/core/impl/solver/DefaultSolver.java +++ b/optaplanner-core/src/main/java/org/optaplanner/core/impl/solver/DefaultSolver.java @@ -187,13 +187,8 @@ public final Solution_ solve(Solution_ planningProblem) { return solverScope.getBestSolution(); } - public Solution_ solve(Solution planningProblem) { - if (planningProblem == null) { - throw new IllegalArgumentException("The planningProblem (" + planningProblem - + ") must not be null."); - } - // we can do this, since this legacy Solution is in fact the same type as Solution_ - return solve((Solution_)planningProblem); + public Solution solve(Solution planningProblem) { + return (Solution) solve((Solution_) planningProblem); } public void outerSolvingStarted(DefaultSolverScope solverScope) {