This is an automated email from the ASF dual-hosted git repository. asf-gitbox-commits pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cayenne.git
commit afc992f02f553567b2b1dd877b1209c4a8da42a8 Author: Andrus Adamchik <[email protected]> AuthorDate: Thu May 14 10:40:24 2026 -0400 tests cleanup - unwinding DI --- .../org/apache/cayenne/access/NumericTypesIT.java | 59 ++++++++++++++++--- .../org/apache/cayenne/unit/di/CommitStats.java | 68 ---------------------- .../di/runtime/RuntimeCaseDataSourceFactory.java | 23 ++++---- 3 files changed, 61 insertions(+), 89 deletions(-) diff --git a/cayenne/src/test/java/org/apache/cayenne/access/NumericTypesIT.java b/cayenne/src/test/java/org/apache/cayenne/access/NumericTypesIT.java index fc754d4bf..27d14b308 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/NumericTypesIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/NumericTypesIT.java @@ -19,14 +19,15 @@ package org.apache.cayenne.access; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.util.List; - +import org.apache.cayenne.DataChannel; +import org.apache.cayenne.DataChannelSyncFilter; +import org.apache.cayenne.DataChannelSyncFilterChain; +import org.apache.cayenne.ObjectContext; import org.apache.cayenne.ObjectId; import org.apache.cayenne.exp.ExpressionFactory; import org.apache.cayenne.exp.property.NumericProperty; import org.apache.cayenne.exp.property.PropertyFactory; +import org.apache.cayenne.graph.GraphDiff; import org.apache.cayenne.query.ObjectSelect; import org.apache.cayenne.runtime.CayenneRuntime; import org.apache.cayenne.test.jdbc.TableHelper; @@ -39,19 +40,20 @@ import org.apache.cayenne.testdo.numeric_types.DecimalPKTestEntity; import org.apache.cayenne.testdo.numeric_types.LongEntity; import org.apache.cayenne.testdo.numeric_types.SmallintTestEntity; import org.apache.cayenne.testdo.numeric_types.TinyintTestEntity; -import org.apache.cayenne.unit.di.CommitStats; import org.apache.cayenne.unit.di.runtime.CayenneProjects; import org.apache.cayenne.unit.di.runtime.CayenneTestsEnv; -import org.junit.jupiter.api.extension.RegisterExtension; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; + +import java.math.BigDecimal; +import java.math.BigInteger; +import java.util.List; +import java.util.function.Supplier; import static org.junit.jupiter.api.Assertions.*; -/** - * - */ public class NumericTypesIT { @RegisterExtension @@ -371,4 +373,43 @@ public class NumericTypesIT { .column(calculated).selectOne(context); assertEquals(i.add(BigInteger.ONE), readValue2); } + + static class CommitStats implements DataChannelSyncFilter { + + private int commitCount; + private final Supplier<DataDomain> dataDomain; + + public CommitStats(Supplier<DataDomain> dataDomain) { + this.dataDomain = dataDomain; + } + + public void before() { + dataDomain.get().addSyncFilter(this); + commitCount = 0; + } + + public void after() { + dataDomain.get().removeSyncFilter(this); + } + + @Override + public GraphDiff onSync( + ObjectContext originatingContext, + GraphDiff changes, + int syncType, + DataChannelSyncFilterChain filterChain) { + + switch (syncType) { + case DataChannel.FLUSH_CASCADE_SYNC: + commitCount++; + break; + } + + return filterChain.onSync(originatingContext, changes, syncType); + } + + public int getCommitCount() { + return commitCount; + } + } } diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/CommitStats.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/CommitStats.java deleted file mode 100644 index 1804ffe1e..000000000 --- a/cayenne/src/test/java/org/apache/cayenne/unit/di/CommitStats.java +++ /dev/null @@ -1,68 +0,0 @@ -/***************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - ****************************************************************/ - -package org.apache.cayenne.unit.di; - -import org.apache.cayenne.DataChannel; -import org.apache.cayenne.DataChannelSyncFilter; -import org.apache.cayenne.DataChannelSyncFilterChain; -import org.apache.cayenne.ObjectContext; -import org.apache.cayenne.access.DataDomain; -import org.apache.cayenne.graph.GraphDiff; - -import java.util.function.Supplier; - -public class CommitStats implements DataChannelSyncFilter { - - private int commitCount; - private Supplier<DataDomain> dataDomain; - - public CommitStats(Supplier<DataDomain> dataDomain) { - this.dataDomain = dataDomain; - } - - public void before() { - dataDomain.get().addSyncFilter(this); - commitCount = 0; - } - - public void after() { - dataDomain.get().removeSyncFilter(this); - } - - @Override - public GraphDiff onSync( - ObjectContext originatingContext, - GraphDiff changes, - int syncType, - DataChannelSyncFilterChain filterChain) { - - switch (syncType) { - case DataChannel.FLUSH_CASCADE_SYNC: - commitCount++; - break; - } - - return filterChain.onSync(originatingContext, changes, syncType); - } - - public int getCommitCount() { - return commitCount; - } -} diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataSourceFactory.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataSourceFactory.java index 34c06952b..94110f936 100644 --- a/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataSourceFactory.java +++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseDataSourceFactory.java @@ -18,6 +18,12 @@ ****************************************************************/ package org.apache.cayenne.unit.di.runtime; +import org.apache.cayenne.configuration.DataSourceDescriptor; +import org.apache.cayenne.datasource.DataSourceBuilder; +import org.apache.cayenne.di.AdhocObjectFactory; +import org.apache.cayenne.di.Inject; + +import javax.sql.DataSource; import java.sql.Driver; import java.util.Arrays; import java.util.HashMap; @@ -25,20 +31,13 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; -import javax.sql.DataSource; - -import org.apache.cayenne.configuration.DataSourceDescriptor; -import org.apache.cayenne.datasource.DataSourceBuilder; -import org.apache.cayenne.di.AdhocObjectFactory; -import org.apache.cayenne.di.Inject; - public class RuntimeCaseDataSourceFactory { - private DataSource sharedDataSource; - private DataSourceDescriptor dataSourceInfo; - private Map<String, DataSource> dataSources; - private Set<String> mapsWithDedicatedDataSource; - private AdhocObjectFactory objectFactory; + private final DataSource sharedDataSource; + private final DataSourceDescriptor dataSourceInfo; + private final Map<String, DataSource> dataSources; + private final Set<String> mapsWithDedicatedDataSource; + private final AdhocObjectFactory objectFactory; public RuntimeCaseDataSourceFactory(@Inject DataSourceDescriptor dataSourceInfo, @Inject AdhocObjectFactory objectFactory) {
