From ddf9afc09bf8e2a4959c83d81f1ea95c0155c79b Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Fri, 16 Jun 2023 09:14:49 +0200 Subject: [PATCH] [jOOQ/jOOQ#9506] All migration objects are Scopes --- jOOQ/src/main/java/org/jooq/History.java | 2 +- jOOQ/src/main/java/org/jooq/Migrations.java | 2 +- jOOQ/src/main/java/org/jooq/Node.java | 2 +- jOOQ/src/main/java/org/jooq/impl/AbstractNode.java | 7 +++++-- jOOQ/src/main/java/org/jooq/impl/CommitImpl.java | 11 ++++------- jOOQ/src/main/java/org/jooq/impl/VersionImpl.java | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/jOOQ/src/main/java/org/jooq/History.java b/jOOQ/src/main/java/org/jooq/History.java index 7deacb31ec..d2f384c0d7 100644 --- a/jOOQ/src/main/java/org/jooq/History.java +++ b/jOOQ/src/main/java/org/jooq/History.java @@ -52,7 +52,7 @@ import org.jetbrains.annotations.NotNull; * @author Lukas Eder */ @Experimental -public interface History extends Iterable { +public interface History extends Iterable, Scope { /** * The root {@link Version}. diff --git a/jOOQ/src/main/java/org/jooq/Migrations.java b/jOOQ/src/main/java/org/jooq/Migrations.java index f0dced4167..058ee13e5a 100644 --- a/jOOQ/src/main/java/org/jooq/Migrations.java +++ b/jOOQ/src/main/java/org/jooq/Migrations.java @@ -48,7 +48,7 @@ import org.jetbrains.annotations.NotNull; * @author Lukas Eder */ @Experimental -public interface Migrations { +public interface Migrations extends Scope { /** * Initialise a {@link File} diff --git a/jOOQ/src/main/java/org/jooq/Node.java b/jOOQ/src/main/java/org/jooq/Node.java index 1c81e65d06..23ee55b7da 100644 --- a/jOOQ/src/main/java/org/jooq/Node.java +++ b/jOOQ/src/main/java/org/jooq/Node.java @@ -52,7 +52,7 @@ import org.jetbrains.annotations.ApiStatus.Experimental; * @author Lukas Eder */ @Experimental -public interface Node> { +public interface Node> extends Scope { /** * The ID of the node, unique within the graph. diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractNode.java b/jOOQ/src/main/java/org/jooq/impl/AbstractNode.java index 31605dc51a..62632d32c5 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractNode.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractNode.java @@ -43,20 +43,23 @@ import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; +import org.jooq.Configuration; import org.jooq.Node; import org.jooq.exception.DataDefinitionException; /** * @author Lukas Eder */ -abstract class AbstractNode> implements Node { +abstract class AbstractNode> extends AbstractScope implements Node { final N root; final String id; final String message; @SuppressWarnings("unchecked") - AbstractNode(String id, String message, N root) { + AbstractNode(Configuration configuration, String id, String message, N root) { + super(configuration); + this.root = root != null ? root : (N) this; this.id = id; this.message = defaultIfNull(message, ""); diff --git a/jOOQ/src/main/java/org/jooq/impl/CommitImpl.java b/jOOQ/src/main/java/org/jooq/impl/CommitImpl.java index cac7c3a43f..364c6f42c4 100644 --- a/jOOQ/src/main/java/org/jooq/impl/CommitImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/CommitImpl.java @@ -75,7 +75,6 @@ import org.jooq.tools.StringUtils; */ final class CommitImpl extends AbstractNode implements Commit { - final Configuration configuration; final DSLContext ctx; final List parents; final List tags; @@ -83,9 +82,8 @@ final class CommitImpl extends AbstractNode implements Commit { final Map files; CommitImpl(Configuration configuration, String id, String message, Commit root, List parents, Collection delta) { - super(id, message, root); + super(configuration, id, message, root); - this.configuration = configuration; this.ctx = configuration.dsl(); this.parents = parents; this.tags = new ArrayList<>(); @@ -94,9 +92,8 @@ final class CommitImpl extends AbstractNode implements Commit { } private CommitImpl(CommitImpl copy) { - super(copy.id(), copy.message(), copy.root); + super(copy.configuration(), copy.id(), copy.message(), copy.root); - this.configuration = copy.configuration; this.ctx = copy.ctx; this.parents = copy.parents; this.tags = new ArrayList<>(copy.tags); @@ -192,7 +189,7 @@ final class CommitImpl extends AbstractNode implements Commit { @Override public final Commit commit(String newId, String newMessage, Collection newFiles) { - return new CommitImpl(configuration, newId, newMessage, root, Arrays.asList(this), newFiles); + return new CommitImpl(configuration(), newId, newMessage, root, Arrays.asList(this), newFiles); } @Override @@ -212,7 +209,7 @@ final class CommitImpl extends AbstractNode implements Commit { @Override public final Commit merge(String newId, String newMessage, Commit with, Collection newFiles) { - return new CommitImpl(configuration, newId, newMessage, root, Arrays.asList(this, with), newFiles); + return new CommitImpl(configuration(), newId, newMessage, root, Arrays.asList(this, with), newFiles); } @Override diff --git a/jOOQ/src/main/java/org/jooq/impl/VersionImpl.java b/jOOQ/src/main/java/org/jooq/impl/VersionImpl.java index 1f28ab58a4..d0cd8e3696 100644 --- a/jOOQ/src/main/java/org/jooq/impl/VersionImpl.java +++ b/jOOQ/src/main/java/org/jooq/impl/VersionImpl.java @@ -72,7 +72,7 @@ final class VersionImpl extends AbstractNode implements Version { final List parents; private VersionImpl(Configuration configuration, String id, Meta meta, Version root, List parents) { - super(id, null, root); + super(configuration, id, null, root); this.ctx = configuration.dsl(); this.meta = meta != null ? meta : init(ctx);