From 87d77240fa99e8e963c9158ab415ec708ae13ede Mon Sep 17 00:00:00 2001 From: Rsl1122 Date: Wed, 30 Jan 2019 19:34:47 +0200 Subject: [PATCH] Since queries are now allowed, delegated Patch#shouldBeExecuted --- .../com/djrapitops/plan/db/patches/Patch.java | 7 +++++-- .../plan/db/DBPatchH2RegressionTest.java | 18 ++++-------------- .../plan/db/DBPatchMySQLRegressionTest.java | 18 ++++-------------- .../plan/db/DBPatchSQLiteRegressionTest.java | 18 ++++-------------- 4 files changed, 17 insertions(+), 44 deletions(-) diff --git a/Plan/common/src/main/java/com/djrapitops/plan/db/patches/Patch.java b/Plan/common/src/main/java/com/djrapitops/plan/db/patches/Patch.java index 188d1945d..038742a9d 100644 --- a/Plan/common/src/main/java/com/djrapitops/plan/db/patches/Patch.java +++ b/Plan/common/src/main/java/com/djrapitops/plan/db/patches/Patch.java @@ -44,13 +44,16 @@ public abstract class Patch extends OperationCriticalTransaction { protected abstract void applyPatch(); + @Override + protected boolean shouldBeExecuted() { + return !hasBeenApplied(); + } + @Override protected void performOperations() { -// if (!hasBeenApplied()) { TODO Uncomment after moving patches to the execution service if (dbType == DBType.MYSQL) disableForeignKeyChecks(); applyPatch(); if (dbType == DBType.MYSQL) enableForeignKeyChecks(); -// } } @Deprecated diff --git a/Plan/common/src/test/java/com/djrapitops/plan/db/DBPatchH2RegressionTest.java b/Plan/common/src/test/java/com/djrapitops/plan/db/DBPatchH2RegressionTest.java index c33e6edf0..cb81490d3 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/db/DBPatchH2RegressionTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/db/DBPatchH2RegressionTest.java @@ -23,13 +23,9 @@ import com.djrapitops.plan.db.access.queries.containers.ContainerFetchQueries; import com.djrapitops.plan.db.access.transactions.CreateTablesTransaction; import com.djrapitops.plan.db.access.transactions.RemoveEverythingTransaction; import com.djrapitops.plan.db.access.transactions.Transaction; -import com.djrapitops.plan.db.tasks.PatchTask; -import com.djrapitops.plan.system.locale.Locale; +import com.djrapitops.plan.db.patches.Patch; import com.djrapitops.plan.system.settings.config.PlanConfig; import com.djrapitops.plan.system.settings.paths.DatabaseSettings; -import com.djrapitops.plugin.logging.L; -import com.djrapitops.plugin.logging.console.TestPluginLogger; -import com.djrapitops.plugin.logging.error.ErrorHandler; import org.junit.After; import org.junit.Before; import org.junit.Rule; @@ -116,15 +112,9 @@ public class DBPatchH2RegressionTest extends DBPatchRegressionTest { @Test public void h2PatchTaskWorksWithoutErrors() { - PatchTask patchTask = new PatchTask(underTest.patches(), new Locale(), new TestPluginLogger(), new ErrorHandler() { - @Override - public void log(L l, Class aClass, Throwable throwable) { - throw new AssertionError(throwable); - } - }); - - // Patching might fail due to exception. - patchTask.run(); + for (Patch patch : underTest.patches()) { + underTest.executeTransaction(patch); + } assertPatchesHaveBeenApplied(underTest); diff --git a/Plan/common/src/test/java/com/djrapitops/plan/db/DBPatchMySQLRegressionTest.java b/Plan/common/src/test/java/com/djrapitops/plan/db/DBPatchMySQLRegressionTest.java index de402d1bd..40e52ba61 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/db/DBPatchMySQLRegressionTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/db/DBPatchMySQLRegressionTest.java @@ -24,15 +24,11 @@ import com.djrapitops.plan.db.access.queries.containers.ContainerFetchQueries; import com.djrapitops.plan.db.access.transactions.CreateTablesTransaction; import com.djrapitops.plan.db.access.transactions.RemoveEverythingTransaction; import com.djrapitops.plan.db.access.transactions.Transaction; -import com.djrapitops.plan.db.tasks.PatchTask; +import com.djrapitops.plan.db.patches.Patch; import com.djrapitops.plan.system.PlanSystem; -import com.djrapitops.plan.system.locale.Locale; import com.djrapitops.plan.system.settings.config.PlanConfig; import com.djrapitops.plan.system.settings.paths.DatabaseSettings; import com.djrapitops.plan.system.settings.paths.WebserverSettings; -import com.djrapitops.plugin.logging.L; -import com.djrapitops.plugin.logging.console.TestPluginLogger; -import com.djrapitops.plugin.logging.error.ErrorHandler; import org.junit.*; import org.junit.rules.TemporaryFolder; import rules.PluginComponentMocker; @@ -144,15 +140,9 @@ public class DBPatchMySQLRegressionTest extends DBPatchRegressionTest { @Test public void mysqlPatchTaskWorksWithoutErrors() { - PatchTask patchTask = new PatchTask(underTest.patches(), new Locale(), new TestPluginLogger(), new ErrorHandler() { - @Override - public void log(L l, Class aClass, Throwable throwable) { - throw new AssertionError(throwable); - } - }); - - // Patching might fail due to exception. - patchTask.run(); + for (Patch patch : underTest.patches()) { + underTest.executeTransaction(patch); + } assertPatchesHaveBeenApplied(underTest); diff --git a/Plan/common/src/test/java/com/djrapitops/plan/db/DBPatchSQLiteRegressionTest.java b/Plan/common/src/test/java/com/djrapitops/plan/db/DBPatchSQLiteRegressionTest.java index cc6a4e335..177db78eb 100644 --- a/Plan/common/src/test/java/com/djrapitops/plan/db/DBPatchSQLiteRegressionTest.java +++ b/Plan/common/src/test/java/com/djrapitops/plan/db/DBPatchSQLiteRegressionTest.java @@ -23,11 +23,7 @@ import com.djrapitops.plan.db.access.queries.containers.ContainerFetchQueries; import com.djrapitops.plan.db.access.transactions.CreateTablesTransaction; import com.djrapitops.plan.db.access.transactions.RemoveEverythingTransaction; import com.djrapitops.plan.db.access.transactions.Transaction; -import com.djrapitops.plan.db.tasks.PatchTask; -import com.djrapitops.plan.system.locale.Locale; -import com.djrapitops.plugin.logging.L; -import com.djrapitops.plugin.logging.console.TestPluginLogger; -import com.djrapitops.plugin.logging.error.ErrorHandler; +import com.djrapitops.plan.db.patches.Patch; import org.junit.After; import org.junit.Before; import org.junit.Rule; @@ -109,15 +105,9 @@ public class DBPatchSQLiteRegressionTest extends DBPatchRegressionTest { @Test public void sqlitePatchTaskWorksWithoutErrors() { - PatchTask patchTask = new PatchTask(underTest.patches(), new Locale(), new TestPluginLogger(), new ErrorHandler() { - @Override - public void log(L l, Class aClass, Throwable throwable) { - throw new AssertionError(throwable); - } - }); - - // Patching might fail due to exception. - patchTask.run(); + for (Patch patch : underTest.patches()) { + underTest.executeTransaction(patch); + } assertPatchesHaveBeenApplied(underTest);