This is an automated email from the ASF dual-hosted git repository. asf-gitbox-commits pushed a commit to branch past-M2 in repository https://gitbox.apache.org/repos/asf/cayenne.git
commit 51b78af2a10e6bee28c5583dbbe8235a1491704b Author: Andrus Adamchik <[email protected]> AuthorDate: Sun May 31 09:27:37 2026 -0400 cleanup --- .../org/apache/cayenne/access/jdbc/EJBQLAction.java | 18 +++++++++++------- .../access/translator/DbAttributeBinding.java | 1 - .../cayenne/access/translator/ParameterBinding.java | 6 +++--- .../translator/ProcedureParameterBinding.java | 1 - .../translator/ejbql/EJBQLSelectTranslator.java | 6 +----- ...lator.java => DefaultSQLTemplateTranslator.java} | 21 ++++++++++----------- .../apache/cayenne/access/types/ExtendedType.java | 5 ----- .../cayenne/configuration/runtime/CoreModule.java | 4 ++-- ...t.java => DefaultSQLTemplateTranslatorTest.java} | 6 +++--- 9 files changed, 30 insertions(+), 38 deletions(-) diff --git a/cayenne/src/main/java/org/apache/cayenne/access/jdbc/EJBQLAction.java b/cayenne/src/main/java/org/apache/cayenne/access/jdbc/EJBQLAction.java index c4bfb162e..df36695b5 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/jdbc/EJBQLAction.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/jdbc/EJBQLAction.java @@ -18,8 +18,6 @@ ****************************************************************/ package org.apache.cayenne.access.jdbc; -import java.sql.Connection; - import org.apache.cayenne.access.DataNode; import org.apache.cayenne.access.OperationObserver; import org.apache.cayenne.access.translator.ejbql.EJBQLTranslationContext; @@ -33,9 +31,11 @@ import org.apache.cayenne.query.QueryMetadata; import org.apache.cayenne.query.SQLActionVisitor; import org.apache.cayenne.query.SQLTemplate; +import java.sql.Connection; + /** * Parses an EJBQL statement, converting it to SQL. Executes the resulting SQL. - * + * * @since 3.0 */ public class EJBQLAction extends BaseSQLAction { @@ -53,9 +53,13 @@ public class EJBQLAction extends BaseSQLAction { @Override public void performAction(Connection connection, OperationObserver observer) throws Exception { EJBQLCompiledExpression compiledExpression = query.getExpression(dataNode.getEntityResolver()); - final EJBQLTranslatorFactory translatorFactory = dataNode.getAdapter().getEjbqlTranslatorFactory(); - final EJBQLTranslationContext context = new EJBQLTranslationContext(dataNode.getEntityResolver(), query, - compiledExpression, translatorFactory, dataNode.getAdapter().getQuotingStrategy()); + EJBQLTranslatorFactory translatorFactory = dataNode.getAdapter().getEjbqlTranslatorFactory(); + EJBQLTranslationContext context = new EJBQLTranslationContext( + dataNode.getEntityResolver(), + query, + compiledExpression, + translatorFactory, + dataNode.getAdapter().getQuotingStrategy()); compiledExpression.getExpression().visit(new EJBQLBaseVisitor(false) { @@ -95,7 +99,7 @@ public class EJBQLAction extends BaseSQLAction { } int queryTimeout = md.getQueryTimeout(); - if(queryTimeout != QueryMetadata.QUERY_TIMEOUT_DEFAULT) { + if (queryTimeout != QueryMetadata.QUERY_TIMEOUT_DEFAULT) { sqlQuery.setQueryTimeout(queryTimeout); } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/translator/DbAttributeBinding.java b/cayenne/src/main/java/org/apache/cayenne/access/translator/DbAttributeBinding.java index 27a1b22b9..0cf44365d 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/translator/DbAttributeBinding.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/translator/DbAttributeBinding.java @@ -30,7 +30,6 @@ public class DbAttributeBinding extends ParameterBinding { private final DbAttribute attribute; public DbAttributeBinding(DbAttribute attribute) { - super(); this.attribute = attribute; } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/translator/ParameterBinding.java b/cayenne/src/main/java/org/apache/cayenne/access/translator/ParameterBinding.java index a2b1a61e1..1e6fc103b 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/translator/ParameterBinding.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/translator/ParameterBinding.java @@ -31,7 +31,7 @@ public class ParameterBinding { private Object value; private int statementPosition; - private ExtendedType extendedType; + private ExtendedType<?> extendedType; private Integer jdbcType; private int scale; @@ -69,7 +69,7 @@ public class ParameterBinding { return extendedType; } - public void setExtendedType(ExtendedType extendedType) { + public void setExtendedType(ExtendedType<?> extendedType) { this.extendedType = extendedType; } @@ -86,7 +86,7 @@ public class ParameterBinding { * Sets the value of the binding and initializes statement position var, * thus "including" this binding in the current iteration. */ - public void include(int statementPosition, Object value, ExtendedType extendedType) { + public void include(int statementPosition, Object value, ExtendedType<?> extendedType) { this.statementPosition = statementPosition; this.value = value; this.extendedType = extendedType; diff --git a/cayenne/src/main/java/org/apache/cayenne/access/translator/ProcedureParameterBinding.java b/cayenne/src/main/java/org/apache/cayenne/access/translator/ProcedureParameterBinding.java index 566135bec..ffca313cc 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/translator/ProcedureParameterBinding.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/translator/ProcedureParameterBinding.java @@ -30,7 +30,6 @@ public class ProcedureParameterBinding extends ParameterBinding { private final ProcedureParameter parameter; public ProcedureParameterBinding(ProcedureParameter procedureParameter) { - super(); this.parameter = procedureParameter; } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslator.java b/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslator.java index 5ed643556..1f45b8e39 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslator.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslator.java @@ -34,10 +34,6 @@ public class EJBQLSelectTranslator extends EJBQLBaseVisitor { this.context = context; } - EJBQLTranslationContext getContext() { - return context; - } - @Override public boolean visitDistinct(EJBQLExpression expression) { // "distinct" is appended via a marker as sometimes a later match on to-many would @@ -109,7 +105,7 @@ public class EJBQLSelectTranslator extends EJBQLBaseVisitor { context.append(" WHERE"); context.popMarker(); - if (context.findOrCreateMarkedBuffer(context.makeEntityQualifierMarker()).length() > 0) { + if (!context.findOrCreateMarkedBuffer(context.makeEntityQualifierMarker()).isEmpty()) { context.append(" AND"); } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/translator/sqltemplate/CayenneSQLTemplateTranslator.java b/cayenne/src/main/java/org/apache/cayenne/access/translator/sqltemplate/DefaultSQLTemplateTranslator.java similarity index 85% rename from cayenne/src/main/java/org/apache/cayenne/access/translator/sqltemplate/CayenneSQLTemplateTranslator.java rename to cayenne/src/main/java/org/apache/cayenne/access/translator/sqltemplate/DefaultSQLTemplateTranslator.java index 1710a0550..0ddd36a55 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/translator/sqltemplate/CayenneSQLTemplateTranslator.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/translator/sqltemplate/DefaultSQLTemplateTranslator.java @@ -34,19 +34,18 @@ import java.util.Map; /** - * @since 4.1 + * @since 5.0 */ -public class CayenneSQLTemplateTranslator implements SQLTemplateTranslator { - - ConcurrentLinkedHashMap<String, Node> templateCache = new ConcurrentLinkedHashMap - .Builder<String, Node>().maximumWeightedCapacity(100).build(); - - TemplateParserPool parserPool = new TemplateParserPool(); +public class DefaultSQLTemplateTranslator implements SQLTemplateTranslator { + private final ConcurrentLinkedHashMap<String, Node> templateCache; + private final TemplateParserPool parserPool; private final TemplateContextFactory contextFactory; - public CayenneSQLTemplateTranslator(@Inject TemplateContextFactory contextFactory) { + public DefaultSQLTemplateTranslator(@Inject TemplateContextFactory contextFactory) { this.contextFactory = contextFactory; + this.templateCache = new ConcurrentLinkedHashMap.Builder<String, Node>().maximumWeightedCapacity(100).build(); + this.parserPool = new TemplateParserPool(); } @Override @@ -58,8 +57,8 @@ public class CayenneSQLTemplateTranslator implements SQLTemplateTranslator { @Override public TranslatedSQL translate(String template, List<Object> positionalParameters) { Map<String, Object> parameters = new HashMap<>(); - int i=0; - for(Object param : positionalParameters) { + int i = 0; + for (Object param : positionalParameters) { parameters.put(String.valueOf(i++), param); } Context context = contextFactory.createContext(parameters, true); @@ -68,7 +67,7 @@ public class CayenneSQLTemplateTranslator implements SQLTemplateTranslator { protected TranslatedSQL process(String template, Context context) { Node node = templateCache.get(template); - if(node == null) { + if (node == null) { SQLTemplateParser parser = parserPool.get(); try { parser.ReInit(new ByteArrayInputStream(template.getBytes())); diff --git a/cayenne/src/main/java/org/apache/cayenne/access/types/ExtendedType.java b/cayenne/src/main/java/org/apache/cayenne/access/types/ExtendedType.java index cae86acae..ebf584d40 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/types/ExtendedType.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/types/ExtendedType.java @@ -22,17 +22,12 @@ package org.apache.cayenne.access.types; import java.sql.CallableStatement; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.util.Optional; - -import org.apache.cayenne.access.sqlbuilder.sqltree.ChildProcessor; -import org.apache.cayenne.access.sqlbuilder.sqltree.Node; /** * Defines methods to read Java objects from JDBC ResultSets and write as parameters of PreparedStatements. */ public interface ExtendedType<T> { - /** * Defines trimming constant for toString method that helps to limit logging of large values. */ diff --git a/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/CoreModule.java b/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/CoreModule.java index ca47c3e99..9954c5db7 100644 --- a/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/CoreModule.java +++ b/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/CoreModule.java @@ -121,7 +121,7 @@ import org.apache.cayenne.reflect.generic.DefaultValueComparisonStrategyFactory; import org.apache.cayenne.reflect.generic.ValueComparisonStrategyFactory; import org.apache.cayenne.resource.ClassLoaderResourceLocator; import org.apache.cayenne.resource.ResourceLocator; -import org.apache.cayenne.access.translator.sqltemplate.CayenneSQLTemplateTranslator; +import org.apache.cayenne.access.translator.sqltemplate.DefaultSQLTemplateTranslator; import org.apache.cayenne.access.translator.sqltemplate.DefaultTemplateContextFactory; import org.apache.cayenne.access.translator.sqltemplate.TemplateContextFactory; import org.apache.cayenne.tx.DefaultTransactionFactory; @@ -476,7 +476,7 @@ public class CoreModule implements Module { binder.bind(TransactionManager.class).to(DefaultTransactionManager.class); binder.bind(RowReaderFactory.class).to(DefaultRowReaderFactory.class); - binder.bind(SQLTemplateTranslator.class).to(CayenneSQLTemplateTranslator.class); + binder.bind(SQLTemplateTranslator.class).to(DefaultSQLTemplateTranslator.class); binder.bind(TemplateContextFactory.class).to(DefaultTemplateContextFactory.class); binder.bind(HandlerFactory.class).to(DefaultHandlerFactory.class); diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/sqltemplate/CayenneSQLTemplateTranslatorTest.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/sqltemplate/DefaultSQLTemplateTranslatorTest.java similarity index 98% rename from cayenne/src/test/java/org/apache/cayenne/access/translator/sqltemplate/CayenneSQLTemplateTranslatorTest.java rename to cayenne/src/test/java/org/apache/cayenne/access/translator/sqltemplate/DefaultSQLTemplateTranslatorTest.java index 0097bb7f8..d3f866d81 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/translator/sqltemplate/CayenneSQLTemplateTranslatorTest.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/sqltemplate/DefaultSQLTemplateTranslatorTest.java @@ -34,13 +34,13 @@ import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; -public class CayenneSQLTemplateTranslatorTest { +public class DefaultSQLTemplateTranslatorTest { - private CayenneSQLTemplateTranslator processor; + private DefaultSQLTemplateTranslator processor; @BeforeEach public void before() { - processor = new CayenneSQLTemplateTranslator(new DefaultTemplateContextFactory()); + processor = new DefaultSQLTemplateTranslator(new DefaultTemplateContextFactory()); } @Test
