This is an automated email from the ASF dual-hosted git repository. asf-gitbox-commits pushed a commit to branch CAY-2935 in repository https://gitbox.apache.org/repos/asf/cayenne.git
commit 3893c3f08739258f69bba549f6333af8a342e10f Author: Andrus Adamchik <[email protected]> AuthorDate: Thu May 7 13:31:40 2026 -0400 CAY-2935 Upgrade Cayenne 5.0 to Java 21 syntax upgrade - instanceof --- .../src/main/java/org/apache/cayenne/Cayenne.java | 15 ++++++-------- .../apache/cayenne/GenericPersistentObject.java | 4 ++-- .../org/apache/cayenne/HybridPersistentObject.java | 4 ++-- .../org/apache/cayenne/ObjectContextChangeLog.java | 12 +++++------ .../org/apache/cayenne/ObjectContextStateLog.java | 6 ++---- .../src/main/java/org/apache/cayenne/ObjectId.java | 10 ++++----- .../java/org/apache/cayenne/ObjectIdCompound.java | 8 ++++---- .../java/org/apache/cayenne/PersistentObject.java | 24 +++++++++++----------- .../org/apache/cayenne/access/DataContext.java | 12 +++++------ .../cayenne/access/DataContextMergeHandler.java | 4 ++-- .../cayenne/access/DataContextObjectCreator.java | 13 ++++-------- .../cayenne/access/DataContextQueryAction.java | 9 +++----- .../cayenne/access/DataDomainQueryAction.java | 21 ++++++++----------- .../java/org/apache/cayenne/access/DataNode.java | 4 ++-- .../access/MixedResultIncrementalFaultList.java | 3 +-- .../java/org/apache/cayenne/access/ObjectDiff.java | 20 ++++++++---------- .../org/apache/cayenne/access/ObjectStore.java | 12 +++++------ .../cayenne/access/ObjectStoreGraphDiff.java | 4 ++-- .../access/ResultScanParentAttachmentStrategy.java | 4 ++-- .../java/org/apache/cayenne/access/ToManyList.java | 3 +-- .../java/org/apache/cayenne/access/ToManySet.java | 3 +-- .../access/flush/ArcValuesCreationHandler.java | 3 +-- .../access/flush/PermanentObjectIdVisitor.java | 2 +- .../access/flush/ValuesCreationHandler.java | 2 +- .../access/flush/operation/DbRowOpMerger.java | 8 ++++---- .../flush/operation/GraphBasedDbRowOpSorter.java | 3 +-- .../cayenne/access/sqlbuilder/SQLBuilder.java | 8 ++++---- .../sqlbuilder/sqltree/TrimmingColumnNode.java | 4 ++-- .../access/sqlbuilder/sqltree/ValueNode.java | 16 +++++++-------- .../translator/ejbql/EJBQLConditionTranslator.java | 18 ++++++++-------- .../ejbql/EJBQLIdentifierColumnsTranslator.java | 4 ++-- .../access/translator/ejbql/EJBQLJoinAppender.java | 7 +++---- .../translator/ejbql/EJBQLPathTranslator.java | 4 ++-- .../ejbql/EJBQLSelectColumnsTranslator.java | 3 +-- .../select/ExistsExpressionTranslator.java | 17 ++++++++------- .../org/apache/cayenne/access/types/EnumType.java | 4 ++-- .../cayenne/access/types/ExtendedEnumType.java | 7 +++---- .../configuration/runtime/DataContextFactory.java | 8 ++++---- .../runtime/DelegatingDataSourceFactory.java | 4 ++-- .../xml/NamespaceAwareNestedTagHandler.java | 4 ++-- 40 files changed, 144 insertions(+), 177 deletions(-) diff --git a/cayenne/src/main/java/org/apache/cayenne/Cayenne.java b/cayenne/src/main/java/org/apache/cayenne/Cayenne.java index 95e05f4c0..1e2808db0 100644 --- a/cayenne/src/main/java/org/apache/cayenne/Cayenne.java +++ b/cayenne/src/main/java/org/apache/cayenne/Cayenne.java @@ -163,18 +163,16 @@ public class Cayenne { return null; } - if (o instanceof Persistent) { - return ((Persistent) o).readNestedProperty(path); + if (o instanceof Persistent persistent) { + return persistent.readNestedProperty(path); } String firstSegment = path.first().value(); - if (o instanceof Collection<?>) { + if (o instanceof Collection<?> collection) { // This allows people to put @size at the end of a property // path and be able to find out the size of a relationship. - Collection<?> collection = (Collection<?>) o; - if (path.length() == 1 && PROPERTY_COLLECTION_SIZE.equals(firstSegment)) { return collection.size(); } @@ -182,13 +180,12 @@ public class Cayenne { // Support for collection property in the middle of the path Collection<Object> result = o instanceof List<?> ? new ArrayList<>() : new HashSet<>(); for (Object item : collection) { - if (item instanceof Persistent) { - Persistent cdo = (Persistent) item; + if (item instanceof Persistent cdo) { Object rest = cdo.readNestedProperty(path); - if (rest instanceof Collection<?>) { + if (rest instanceof Collection<?> restCollection) { // We don't want nested collections. // E.g. readNestedProperty("paintingArray.paintingTitle") should return List<String> - result.addAll((Collection<?>) rest); + result.addAll(restCollection); } else { result.add(rest); } diff --git a/cayenne/src/main/java/org/apache/cayenne/GenericPersistentObject.java b/cayenne/src/main/java/org/apache/cayenne/GenericPersistentObject.java index 9bf65bdc2..abc330db1 100644 --- a/cayenne/src/main/java/org/apache/cayenne/GenericPersistentObject.java +++ b/cayenne/src/main/java/org/apache/cayenne/GenericPersistentObject.java @@ -95,8 +95,8 @@ public class GenericPersistentObject extends PersistentObject { buffer.append(entry.getKey()).append("=>"); Object value = entry.getValue(); - if (value instanceof Persistent) { - buffer.append('{').append(((Persistent) value).getObjectId()).append('}'); + if (value instanceof Persistent persistent) { + buffer.append('{').append(persistent.getObjectId()).append('}'); } else if (value instanceof Collection) { buffer.append("(..)"); } else if (value instanceof Fault) { diff --git a/cayenne/src/main/java/org/apache/cayenne/HybridPersistentObject.java b/cayenne/src/main/java/org/apache/cayenne/HybridPersistentObject.java index 82c739b57..0f7a99a02 100644 --- a/cayenne/src/main/java/org/apache/cayenne/HybridPersistentObject.java +++ b/cayenne/src/main/java/org/apache/cayenne/HybridPersistentObject.java @@ -98,8 +98,8 @@ public class HybridPersistentObject extends PersistentObject { buffer.append(entry.getKey()).append("=>"); Object value = entry.getValue(); - if (value instanceof Persistent) { - buffer.append('{').append(((Persistent) value).getObjectId()).append('}'); + if (value instanceof Persistent persistent) { + buffer.append('{').append(persistent.getObjectId()).append('}'); } else if (value instanceof Collection) { buffer.append("(..)"); } else if (value instanceof Fault) { diff --git a/cayenne/src/main/java/org/apache/cayenne/ObjectContextChangeLog.java b/cayenne/src/main/java/org/apache/cayenne/ObjectContextChangeLog.java index 2c0f328a1..87926d8f4 100644 --- a/cayenne/src/main/java/org/apache/cayenne/ObjectContextChangeLog.java +++ b/cayenne/src/main/java/org/apache/cayenne/ObjectContextChangeLog.java @@ -55,18 +55,18 @@ class ObjectContextChangeLog { while (it.hasNext()) { Object next = it.next(); - if (next instanceof NodeDiff) { + if (next instanceof NodeDiff nodeDiff) { - if (nodeId.equals(((NodeDiff) next).getNodeId())) { + if (nodeId.equals(nodeDiff.getNodeId())) { it.remove(); } - else if (next instanceof ArcCreateOperation) { - if (nodeId.equals(((ArcCreateOperation) next).getTargetNodeId())) { + else if (next instanceof ArcCreateOperation arcCreate) { + if (nodeId.equals(arcCreate.getTargetNodeId())) { it.remove(); } } - else if (next instanceof ArcDeleteOperation) { - if (nodeId.equals(((ArcDeleteOperation) next).getTargetNodeId())) { + else if (next instanceof ArcDeleteOperation arcDelete) { + if (nodeId.equals(arcDelete.getTargetNodeId())) { it.remove(); } } diff --git a/cayenne/src/main/java/org/apache/cayenne/ObjectContextStateLog.java b/cayenne/src/main/java/org/apache/cayenne/ObjectContextStateLog.java index de67c2541..4a501c657 100644 --- a/cayenne/src/main/java/org/apache/cayenne/ObjectContextStateLog.java +++ b/cayenne/src/main/java/org/apache/cayenne/ObjectContextStateLog.java @@ -60,8 +60,7 @@ class ObjectContextStateLog implements GraphChangeHandler { for (Object id : dirtyIds) { Object node = graphManager.getNode(id); - if (node instanceof Persistent) { - Persistent persistentNode = (Persistent) node; + if (node instanceof Persistent persistentNode) { switch (persistentNode.getPersistenceState()) { case PersistenceState.MODIFIED, PersistenceState.NEW -> persistentNode.setPersistenceState(PersistenceState.COMMITTED); @@ -86,8 +85,7 @@ class ObjectContextStateLog implements GraphChangeHandler { void graphReverted() { for (Object id : dirtyIds) { Object node = graphManager.getNode(id); - if (node instanceof Persistent) { - Persistent persistentNode = (Persistent) node; + if (node instanceof Persistent persistentNode) { switch (persistentNode.getPersistenceState()) { case PersistenceState.MODIFIED, PersistenceState.DELETED -> persistentNode.setPersistenceState(PersistenceState.COMMITTED); diff --git a/cayenne/src/main/java/org/apache/cayenne/ObjectId.java b/cayenne/src/main/java/org/apache/cayenne/ObjectId.java index 37d5ba8a0..7dc03f0fe 100644 --- a/cayenne/src/main/java/org/apache/cayenne/ObjectId.java +++ b/cayenne/src/main/java/org/apache/cayenne/ObjectId.java @@ -56,8 +56,8 @@ public interface ObjectId extends Serializable { * @since 4.2 */ static ObjectId of(String entityName, String keyName, Object value) { - if (value instanceof Number) { - return new ObjectIdNumber(entityName, keyName, (Number) value); + if (value instanceof Number number) { + return new ObjectIdNumber(entityName, keyName, number); } return new ObjectIdSingle(entityName, keyName, value); } @@ -69,13 +69,11 @@ public interface ObjectId extends Serializable { * @since 4.2 */ static ObjectId of(String entityName, ObjectId objectId) { - if (objectId instanceof ObjectIdNumber) { - ObjectIdNumber id = (ObjectIdNumber) objectId; + if (objectId instanceof ObjectIdNumber id) { return new ObjectIdNumber(entityName, id.getKeyName(), id.getValue()); } - if (objectId instanceof ObjectIdSingle) { - ObjectIdSingle id = (ObjectIdSingle) objectId; + if (objectId instanceof ObjectIdSingle id) { return new ObjectIdSingle(entityName, id.getKeyName(), id.getValue()); } diff --git a/cayenne/src/main/java/org/apache/cayenne/ObjectIdCompound.java b/cayenne/src/main/java/org/apache/cayenne/ObjectIdCompound.java index b0798a850..50db67120 100644 --- a/cayenne/src/main/java/org/apache/cayenne/ObjectIdCompound.java +++ b/cayenne/src/main/java/org/apache/cayenne/ObjectIdCompound.java @@ -159,8 +159,8 @@ class ObjectIdCompound implements ObjectId { return false; } - if (o1 instanceof Number) { - return o2 instanceof Number && ((Number) o1).longValue() == ((Number) o2).longValue(); + if (o1 instanceof Number n1) { + return o2 instanceof Number n2 && n1.longValue() == n2.longValue(); } return Util.nullSafeEquals(o1, o2); @@ -186,8 +186,8 @@ class ObjectIdCompound implements ObjectId { Object value = objectIdKeys.get(keys[i]); // must reconcile all possible numeric types - if (value instanceof Number) { - builder.append(((Number) value).longValue()); + if (value instanceof Number number) { + builder.append(number.longValue()); } else { builder.append(value); } diff --git a/cayenne/src/main/java/org/apache/cayenne/PersistentObject.java b/cayenne/src/main/java/org/apache/cayenne/PersistentObject.java index f35b0e506..8370c687b 100644 --- a/cayenne/src/main/java/org/apache/cayenne/PersistentObject.java +++ b/cayenne/src/main/java/org/apache/cayenne/PersistentObject.java @@ -131,8 +131,8 @@ public abstract class PersistentObject implements Persistent, Validating { } PropertyDescriptor property = descriptor.getProperty(relationshipName); - if (property instanceof ToManyMapProperty) { - return ((ToManyMapProperty) property).getMapKey(value); + if (property instanceof ToManyMapProperty toManyMapProperty) { + return toManyMapProperty.getMapKey(value); } throw new IllegalArgumentException("Relationship '" @@ -173,8 +173,8 @@ public abstract class PersistentObject implements Persistent, Validating { Object object = readPropertyDirectly(propertyName); - if (object instanceof Fault) { - object = ((Fault) object).resolveFault(this, propertyName); + if (object instanceof Fault fault) { + object = fault.resolveFault(this, propertyName); writePropertyDirectly(propertyName, object); } @@ -249,8 +249,8 @@ public abstract class PersistentObject implements Persistent, Validating { } CayennePath pathRemainder = path.tail(1); - if (property instanceof Persistent) { - return ((Persistent) property).readNestedProperty(pathRemainder); + if (property instanceof Persistent persistent) { + return persistent.readNestedProperty(pathRemainder); } else { return Cayenne.readNestedProperty(property, pathRemainder); } @@ -429,8 +429,8 @@ public abstract class PersistentObject implements Persistent, Validating { if (setReverse) { // unset old reverse relationship - if (oldTarget instanceof Persistent) { - unsetReverseRelationship(relationshipName, (Persistent) oldTarget); + if (oldTarget instanceof Persistent persistentOldTarget) { + unsetReverseRelationship(relationshipName, persistentOldTarget); } // set new reverse relationship @@ -480,8 +480,8 @@ public abstract class PersistentObject implements Persistent, Validating { ObjRelationship revRel = rel.getReverseRelationship(); if (revRel != null) { Object oldTarget = val.readProperty(revRel.getName()); - if (oldTarget != this && oldTarget instanceof Persistent && val instanceof PersistentObject) { - ((PersistentObject)val).unsetReverseRelationship(revRel.getName(), (Persistent) oldTarget); + if (oldTarget != this && oldTarget instanceof Persistent persistentOldTarget && val instanceof PersistentObject persistentObjectVal) { + persistentObjectVal.unsetReverseRelationship(revRel.getName(), persistentOldTarget); } if (revRel.isToMany()) { val.addToManyTarget(revRel.getName(), this, false); @@ -597,8 +597,8 @@ public abstract class PersistentObject implements Persistent, Validating { + dbAttribute.getMaxLength() + " bytes): " + len; validationResult.addFailure(new BeanValidationFailure(this, next.getName(), message)); } - } else if (value instanceof CharSequence) { - int len = ((CharSequence) value).length(); + } else if (value instanceof CharSequence charSequence) { + int len = charSequence.length(); if (len > dbAttribute.getMaxLength()) { String message = "\"" + next.getName() + "\" exceeds maximum allowed length (" + dbAttribute.getMaxLength() + " chars): " + len; diff --git a/cayenne/src/main/java/org/apache/cayenne/access/DataContext.java b/cayenne/src/main/java/org/apache/cayenne/access/DataContext.java index 47b98b497..f52368a28 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/DataContext.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/DataContext.java @@ -307,14 +307,14 @@ public class DataContext implements ObjectContext { return null; } - if (channel instanceof DataDomain) { - return (DataDomain) channel; + if (channel instanceof DataDomain dataDomain) { + return dataDomain; } List<?> response = channel.onQuery(this, new DataDomainQuery()).firstList(); - if (response != null && response.size() > 0 && response.get(0) instanceof DataDomain) { - return (DataDomain) response.get(0); + if (response != null && response.size() > 0 && response.get(0) instanceof DataDomain dataDomain) { + return dataDomain; } return null; @@ -858,8 +858,8 @@ public class DataContext implements ObjectContext { catch (CayenneRuntimeException ex) { Throwable unwound = Util.unwindException(ex); - if (unwound instanceof CayenneRuntimeException) { - throw (CayenneRuntimeException) unwound; + if (unwound instanceof CayenneRuntimeException cayenneRuntimeException) { + throw cayenneRuntimeException; } else { throw new CayenneRuntimeException("Commit Exception", unwound); } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/DataContextMergeHandler.java b/cayenne/src/main/java/org/apache/cayenne/access/DataContextMergeHandler.java index 7d9db3ed5..8bed8e676 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/DataContextMergeHandler.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/DataContextMergeHandler.java @@ -94,8 +94,8 @@ class DataContextMergeHandler implements GraphChangeHandler, DataChannelListener // temp kludge - see TODO in ObjectStore.snapshotsChanged(..) GraphDiff diff = event.getDiff(); - if (diff instanceof SnapshotEventDecorator) { - SnapshotEvent decoratedEvent = ((SnapshotEventDecorator) diff).getEvent(); + if (diff instanceof SnapshotEventDecorator snapshotEventDecorator) { + SnapshotEvent decoratedEvent = snapshotEventDecorator.getEvent(); context.getObjectStore().processSnapshotEvent(decoratedEvent); } else { synchronized (context.getObjectStore()) { diff --git a/cayenne/src/main/java/org/apache/cayenne/access/DataContextObjectCreator.java b/cayenne/src/main/java/org/apache/cayenne/access/DataContextObjectCreator.java index f7d9ec3cb..9b03889f1 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/DataContextObjectCreator.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/DataContextObjectCreator.java @@ -156,9 +156,7 @@ class DataContextObjectCreator { : (Collection<Map.Entry<?, ?>>) value; for (Object target : collection) { - if (target instanceof Persistent) { - Persistent targetDO = (Persistent) target; - + if (target instanceof Persistent targetDO) { // make sure it is registered registerNewObject(targetDO); context.getObjectStore().arcCreated(persistent.getObjectId(), targetDO.getObjectId(), new ArcId(property)); @@ -171,10 +169,7 @@ class DataContextObjectCreator { public boolean visitToOne(ToOneProperty property) { Object target = property.readPropertyDirectly(persistent); - if (target instanceof Persistent) { - - Persistent targetDO = (Persistent) target; - + if (target instanceof Persistent targetDO) { // make sure it is registered registerNewObject(targetDO); context.getObjectStore().arcCreated(persistent.getObjectId(), targetDO.getObjectId(), new ArcId(property)); @@ -216,8 +211,8 @@ class DataContextObjectCreator { } if (entity != null) { - if (entity.getDeclaredQualifier() instanceof ValueInjector) { - ((ValueInjector) entity.getDeclaredQualifier()).injectValue(object); + if (entity.getDeclaredQualifier() instanceof ValueInjector valueInjector) { + valueInjector.injectValue(object); } } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/DataContextQueryAction.java b/cayenne/src/main/java/org/apache/cayenne/access/DataContextQueryAction.java index bf276f22e..2aa45cc1d 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/DataContextQueryAction.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/DataContextQueryAction.java @@ -58,8 +58,7 @@ class DataContextQueryAction extends ObjectContextQueryAction { } private boolean interceptObjectFromDataRowsQuery() { - if (query instanceof ObjectsFromDataRowsQuery) { - ObjectsFromDataRowsQuery objectsFromDataRowsQuery = (ObjectsFromDataRowsQuery) query; + if (query instanceof ObjectsFromDataRowsQuery objectsFromDataRowsQuery) { response = new ListResponse(actingDataContext.objectsFromDataRows( objectsFromDataRowsQuery.getDescriptor(), objectsFromDataRowsQuery.getDataRows())); @@ -73,8 +72,7 @@ class DataContextQueryAction extends ObjectContextQueryAction { */ @Override protected boolean interceptOIDQuery() { - if (query instanceof ObjectIdQuery) { - ObjectIdQuery oidQuery = (ObjectIdQuery) query; + if (query instanceof ObjectIdQuery oidQuery) { if (!oidQuery.isFetchMandatory()) { Object object = polymorphicObjectFromCache(oidQuery.getObjectId()); @@ -151,8 +149,7 @@ class DataContextQueryAction extends ObjectContextQueryAction { @Override protected boolean interceptRefreshQuery() { - if (query instanceof RefreshQuery) { - RefreshQuery refreshQuery = (RefreshQuery) query; + if (query instanceof RefreshQuery refreshQuery) { DataContext context = (DataContext) actingContext; diff --git a/cayenne/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java b/cayenne/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java index 7580e1157..7434da3d8 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/DataDomainQueryAction.java @@ -152,8 +152,8 @@ class DataDomainQueryAction implements QueryRouter, OperationObserver { } private boolean interceptIteratedQuery() { - if (query instanceof IteratedQueryDecorator) { - noObjectConversion = ((IteratedQueryDecorator) query).isFetchingDataRows(); + if (query instanceof IteratedQueryDecorator iteratedQueryDecorator) { + noObjectConversion = iteratedQueryDecorator.isFetchingDataRows(); validateIteratedQuery(); performIteratedQuery(); return DONE; @@ -352,8 +352,7 @@ class DataDomainQueryAction implements QueryRouter, OperationObserver { @SuppressWarnings("deprecation") private boolean interceptRefreshQuery() { - if (query instanceof RefreshQuery) { - RefreshQuery refreshQuery = (RefreshQuery) query; + if (query instanceof RefreshQuery refreshQuery) { if (refreshQuery.isRefreshAll()) { @@ -463,8 +462,8 @@ class DataDomainQueryAction implements QueryRouter, OperationObserver { // Mark as cached result - lists need copying whether hit or miss cachedResult = true; - if (cachedResults instanceof ListWithPrefetches) { - this.prefetchResultsByPath = ((ListWithPrefetches) cachedResults).getPrefetchResultsByPath(); + if (cachedResults instanceof ListWithPrefetches listWithPrefetches) { + this.prefetchResultsByPath = listWithPrefetches.getPrefetchResultsByPath(); } } else { // on cache-refresh request, fetch without blocking and fill the cache @@ -714,8 +713,8 @@ class DataDomainQueryAction implements QueryRouter, OperationObserver { } protected <T, R> void updateResponse(List<T> sourceObjects, List<? extends R> targetObjects) { - if (response instanceof GenericResponse) { - ((GenericResponse) response).replaceResult(sourceObjects, targetObjects); + if (response instanceof GenericResponse genericResponse) { + genericResponse.replaceResult(sourceObjects, targetObjects); } else if (response instanceof ListResponse) { response = new ListResponse(targetObjects); } else { @@ -958,8 +957,7 @@ class DataDomainQueryAction implements QueryRouter, OperationObserver { List<PrefetchProcessorNode> segmentNodes = new ArrayList<>(width); for (int i = 0; i < width; i++) { Object mapping = resultSetMapping.get(i); - if (mapping instanceof EntityResultSegment) { - EntityResultSegment entitySegment = (EntityResultSegment) mapping; + if (mapping instanceof EntityResultSegment entitySegment) { PrefetchProcessorNode nextResult = toResultsTree(entitySegment.getClassDescriptor(), metadata.getPrefetchTree(), result, i); @@ -970,8 +968,7 @@ class DataDomainQueryAction implements QueryRouter, OperationObserver { Object[] row = result.get(j); row[i] = objects.get(j); } - } else if (mapping instanceof EmbeddableResultSegment) { - EmbeddableResultSegment resultSegment = (EmbeddableResultSegment) mapping; + } else if (mapping instanceof EmbeddableResultSegment resultSegment) { Embeddable embeddable = resultSegment.getEmbeddable(); Class<? extends EmbeddableObject> embeddableClass = objectFactory .getJavaClass(embeddable.getClassName()); diff --git a/cayenne/src/main/java/org/apache/cayenne/access/DataNode.java b/cayenne/src/main/java/org/apache/cayenne/access/DataNode.java index 1b5b8c10e..1cfade84d 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/DataNode.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/DataNode.java @@ -117,8 +117,8 @@ public class DataNode implements QueryEngine { * @since 3.1 */ public JdbcEventLogger getJdbcEventLogger() { - if (jdbcEventLogger == null && adapter instanceof JdbcAdapter) { - jdbcEventLogger = ((JdbcAdapter) adapter).getJdbcEventLogger(); + if (jdbcEventLogger == null && adapter instanceof JdbcAdapter jdbcAdapter) { + jdbcEventLogger = jdbcAdapter.getJdbcEventLogger(); } return jdbcEventLogger; diff --git a/cayenne/src/main/java/org/apache/cayenne/access/MixedResultIncrementalFaultList.java b/cayenne/src/main/java/org/apache/cayenne/access/MixedResultIncrementalFaultList.java index 471259ca3..c2a0d2582 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/MixedResultIncrementalFaultList.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/MixedResultIncrementalFaultList.java @@ -80,8 +80,7 @@ class MixedResultIncrementalFaultList<E> extends IncrementalFaultList<E> { indexToEntity = new HashMap<>(); scalarResult = true; for(Object next : metadata.getResultSetMapping()) { - if(next instanceof EntityResultSegment) { - EntityResultSegment resultSegment = (EntityResultSegment)next; + if(next instanceof EntityResultSegment resultSegment) { ObjEntity entity = resultSegment.getClassDescriptor().getEntity(); // store entity's PK position in result indexToEntity.put(resultSegment.getColumnOffset(), entity); diff --git a/cayenne/src/main/java/org/apache/cayenne/access/ObjectDiff.java b/cayenne/src/main/java/org/apache/cayenne/access/ObjectDiff.java index 9b2b68de4..a2ba349e7 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/ObjectDiff.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/ObjectDiff.java @@ -117,8 +117,8 @@ public class ObjectDiff extends NodeDiff { ? property.readProperty(object) : property.readPropertyDirectly(object); - if (target instanceof Persistent) { - target = ((Persistent) target).getObjectId(); + if (target instanceof Persistent persistentTarget) { + target = persistentTarget.getObjectId(); } // else - null || Fault @@ -151,8 +151,8 @@ public class ObjectDiff extends NodeDiff { public ObjectId getArcSnapshotValue(String propertyName) { Object value = arcSnapshot != null ? arcSnapshot.get(propertyName) : null; - if (value instanceof Fault) { - Persistent target = (Persistent) ((Fault) value).resolveFault(object, propertyName); + if (value instanceof Fault fault) { + Persistent target = (Persistent) fault.resolveFault(object, propertyName); value = target != null ? target.getObjectId() : null; arcSnapshot.put(propertyName, value); @@ -166,8 +166,8 @@ public class ObjectDiff extends NodeDiff { */ public ObjectId getCurrentArcSnapshotValue(String propertyName) { Object value = currentArcSnapshot != null ? currentArcSnapshot.get(propertyName) : null; - if (value instanceof Fault) { - Persistent target = (Persistent) ((Fault) value).resolveFault(object, propertyName); + if (value instanceof Fault fault) { + Persistent target = (Persistent) fault.resolveFault(object, propertyName); value = target != null ? target.getObjectId() : null; currentArcSnapshot.put(propertyName, value); @@ -206,9 +206,7 @@ public class ObjectDiff extends NodeDiff { boolean addDiff = true; - if (diff instanceof ArcOperation) { - - ArcOperation arcDiff = (ArcOperation) diff; + if (diff instanceof ArcOperation arcDiff) { Object targetId = arcDiff.getTargetNodeId(); ArcId arcId = arcDiff.getArcId(); @@ -490,11 +488,9 @@ public class ObjectDiff extends NodeDiff { return false; } - if (!(object instanceof ArcOperation)) { + if (!(object instanceof ArcOperation other)) { return false; } - - ArcOperation other = (ArcOperation) object; return arcId.equals(other.arcId) && Util.nullSafeEquals(targetNodeId, other.targetNodeId); } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/ObjectStore.java b/cayenne/src/main/java/org/apache/cayenne/access/ObjectStore.java index 82e1b3e25..e181f9ec7 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/ObjectStore.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/ObjectStore.java @@ -122,10 +122,10 @@ public class ObjectStore implements Serializable, SnapshotEventListener, GraphMa throw new CayenneRuntimeException("Object map is null."); } this.objectMap = objectMap; - if(objectMap instanceof SoftValueMap) { - ((SoftValueMap<Object, Persistent>) objectMap).setKeyCleanupCallback(this::onObjectKeyCleanup); - } else if(objectMap instanceof WeakValueMap) { - ((WeakValueMap<Object, Persistent>) objectMap).setKeyCleanupCallback(this::onObjectKeyCleanup); + if(objectMap instanceof SoftValueMap<Object, Persistent> softValueMap) { + softValueMap.setKeyCleanupCallback(this::onObjectKeyCleanup); + } else if(objectMap instanceof WeakValueMap<Object, Persistent> weakValueMap) { + weakValueMap.setKeyCleanupCallback(this::onObjectKeyCleanup); } } @@ -558,8 +558,8 @@ public class ObjectStore implements Serializable, SnapshotEventListener, GraphMa // SnapshotEvents are replaced with GraphEvents (in 2.0) we won't need it GraphDiff diff = new SnapshotEventDecorator(event); - ObjectContext originatingContext = (event.getPostedBy() instanceof ObjectContext) - ? (ObjectContext) event.getPostedBy() + ObjectContext originatingContext = (event.getPostedBy() instanceof ObjectContext objectContext) + ? objectContext : null; context.fireDataChannelChanged(originatingContext, diff); } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/ObjectStoreGraphDiff.java b/cayenne/src/main/java/org/apache/cayenne/access/ObjectStoreGraphDiff.java index 3043fa403..90842fbb9 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/ObjectStoreGraphDiff.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/ObjectStoreGraphDiff.java @@ -81,12 +81,12 @@ public class ObjectStoreGraphDiff implements GraphDiff { noop = false; - if (diff.getObject() instanceof Validating) { + if (diff.getObject() instanceof Validating validating) { if (objectsToValidate == null) { objectsToValidate = new ArrayList<>(); } - objectsToValidate.add((Validating) diff.getObject()); + objectsToValidate.add(validating); } } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/ResultScanParentAttachmentStrategy.java b/cayenne/src/main/java/org/apache/cayenne/access/ResultScanParentAttachmentStrategy.java index 0c45bfeaa..f517ec7e1 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/ResultScanParentAttachmentStrategy.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/ResultScanParentAttachmentStrategy.java @@ -101,8 +101,8 @@ class ResultScanParentAttachmentStrategy implements ParentAttachmentStrategy { List<DataRow> rows = parentNode.getDataRows(); if(rows == null) { - if(parentNode instanceof PrefetchProcessorJointNode) { - rows = ((PrefetchProcessorJointNode) parentNode).getResolvedRows(); + if(parentNode instanceof PrefetchProcessorJointNode prefetchProcessorJointNode) { + rows = prefetchProcessorJointNode.getResolvedRows(); } if(rows == null) { return; diff --git a/cayenne/src/main/java/org/apache/cayenne/access/ToManyList.java b/cayenne/src/main/java/org/apache/cayenne/access/ToManyList.java index f9de9bb95..b835597e5 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/ToManyList.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/ToManyList.java @@ -66,8 +66,7 @@ public class ToManyList<E> extends PersistentObjectList<E> implements Serializab protected boolean shouldAddToRemovedFromUnresolvedList(Object object) { // No point in adding a new or transient object -- these will never be fetched // from the database. - if (object instanceof Persistent) { - Persistent persistent = (Persistent) object; + if (object instanceof Persistent persistent) { if ((persistent.getPersistenceState() == PersistenceState.TRANSIENT) || (persistent.getPersistenceState() == PersistenceState.NEW)) { return false; diff --git a/cayenne/src/main/java/org/apache/cayenne/access/ToManySet.java b/cayenne/src/main/java/org/apache/cayenne/access/ToManySet.java index ea77f09c1..243b09309 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/ToManySet.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/ToManySet.java @@ -37,8 +37,7 @@ public class ToManySet<E> extends PersistentObjectSet<E> implements Serializable protected boolean shouldAddToRemovedFromUnresolvedSet(E object) { // No point in adding a new or transient object -- these will never be fetched // from the database. - if (object instanceof Persistent) { - Persistent persistent = (Persistent) object; + if (object instanceof Persistent persistent) { return (persistent.getPersistenceState() != PersistenceState.TRANSIENT) && (persistent.getPersistenceState() != PersistenceState.NEW); } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/flush/ArcValuesCreationHandler.java b/cayenne/src/main/java/org/apache/cayenne/access/flush/ArcValuesCreationHandler.java index 275f9188c..6da46d468 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/flush/ArcValuesCreationHandler.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/flush/ArcValuesCreationHandler.java @@ -115,8 +115,7 @@ class ArcValuesCreationHandler implements GraphChangeHandler { while(dbPathIterator.hasNext()) { CayenneMapEntry entry = dbPathIterator.next(); flattenedPath = flattenedPath.dot(entry.getName()); - if(entry instanceof DbRelationship) { - DbRelationship relationship = (DbRelationship)entry; + if(entry instanceof DbRelationship relationship) { // intermediate db entity to be inserted DbEntity target = relationship.getTargetEntity(); // if ID is present, just use it, otherwise create new diff --git a/cayenne/src/main/java/org/apache/cayenne/access/flush/PermanentObjectIdVisitor.java b/cayenne/src/main/java/org/apache/cayenne/access/flush/PermanentObjectIdVisitor.java index 1817febbd..d1412a6d9 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/flush/PermanentObjectIdVisitor.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/flush/PermanentObjectIdVisitor.java @@ -118,7 +118,7 @@ class PermanentObjectIdVisitor implements DbRowOpVisitor<Void> { if (value != null) { // primitive 0 has to be treated as NULL, or otherwise we can't generate PK for POJO's Class<?> javaClass = objAttr.getJavaClass(); - if (!javaClass.isPrimitive() || !(value instanceof Number) || ((Number) value).intValue() != 0) { + if (!javaClass.isPrimitive() || !(value instanceof Number number) || number.intValue() != 0) { idMap.put(dbAttrName, value); continue; } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/flush/ValuesCreationHandler.java b/cayenne/src/main/java/org/apache/cayenne/access/flush/ValuesCreationHandler.java index 10a6d309a..5b498a30f 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/flush/ValuesCreationHandler.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/flush/ValuesCreationHandler.java @@ -67,7 +67,7 @@ class ValuesCreationHandler extends ArcValuesCreationHandler { DbAttribute dbAttribute = attribute.getDbAttribute(); if(dbAttribute.isPrimaryKey()) { - if(!(newValue instanceof Number) || ((Number) newValue).longValue() != 0) { + if(!(newValue instanceof Number number) || number.longValue() != 0) { id.getReplacementIdMap().put(dbAttribute.getName(), newValue); } } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/flush/operation/DbRowOpMerger.java b/cayenne/src/main/java/org/apache/cayenne/access/flush/operation/DbRowOpMerger.java index 7a7dedf01..0d569f581 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/flush/operation/DbRowOpMerger.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/flush/operation/DbRowOpMerger.java @@ -38,8 +38,8 @@ public class DbRowOpMerger implements DbRowOpVisitor<DbRowOp>, BiFunction<DbRowO @Override public DbRowOp visitInsert(InsertDbRowOp other) { - if(dbRow instanceof DeleteDbRowOp) { - return new DeleteInsertDbRowOp((DeleteDbRowOp)dbRow, other); + if(dbRow instanceof DeleteDbRowOp deleteDbRowOp) { + return new DeleteInsertDbRowOp(deleteDbRowOp, other); } return mergeValues((DbRowOpWithValues) dbRow, other); } @@ -59,8 +59,8 @@ public class DbRowOpMerger implements DbRowOpVisitor<DbRowOp>, BiFunction<DbRowO return other; } // clash of Insert/Delete with equal ObjectId - if(dbRow instanceof InsertDbRowOp) { - return new DeleteInsertDbRowOp(other, (InsertDbRowOp)dbRow); + if(dbRow instanceof InsertDbRowOp insertDbRowOp) { + return new DeleteInsertDbRowOp(other, insertDbRowOp); } return other; } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/flush/operation/GraphBasedDbRowOpSorter.java b/cayenne/src/main/java/org/apache/cayenne/access/flush/operation/GraphBasedDbRowOpSorter.java index 7818afd1e..19037bef7 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/flush/operation/GraphBasedDbRowOpSorter.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/flush/operation/GraphBasedDbRowOpSorter.java @@ -294,8 +294,7 @@ public class GraphBasedDbRowOpSorter implements DbRowOpSorter { // check and merge flattened IDs snapshots GraphManager graphManager = object.getObjectContext().getGraphManager(); - if(graphManager instanceof ObjectStore) { - ObjectStore store = (ObjectStore)graphManager; + if(graphManager instanceof ObjectStore store) { store.getFlattenedIds(object.getObjectId()).forEach(flattenedId -> { // map values of flattened ids from target to source Map<String, Object> idSnapshot = flattenedId.getIdSnapshot(); diff --git a/cayenne/src/main/java/org/apache/cayenne/access/sqlbuilder/SQLBuilder.java b/cayenne/src/main/java/org/apache/cayenne/access/sqlbuilder/SQLBuilder.java index 4ccd28464..c9be5a7be 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/sqlbuilder/SQLBuilder.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/sqlbuilder/SQLBuilder.java @@ -122,13 +122,13 @@ public final class SQLBuilder { return node(node); } - if(node instanceof FunctionNode) { - ((FunctionNode) node).setAlias(alias); + if(node instanceof FunctionNode functionNode) { + functionNode.setAlias(alias); return node(node); } - if(node instanceof ColumnNode) { - ((ColumnNode) node).setAlias(alias); + if(node instanceof ColumnNode columnNode) { + columnNode.setAlias(alias); return node(node); } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/sqlbuilder/sqltree/TrimmingColumnNode.java b/cayenne/src/main/java/org/apache/cayenne/access/sqlbuilder/sqltree/TrimmingColumnNode.java index bf1f56997..e1d4a4f04 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/sqlbuilder/sqltree/TrimmingColumnNode.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/sqlbuilder/sqltree/TrimmingColumnNode.java @@ -144,8 +144,8 @@ public class TrimmingColumnNode extends Node { continue; } if(sibling.getType() == NodeType.VALUE) { - if(((ValueNode)sibling).getValue() instanceof CharSequence) { - int valLen = ((CharSequence) ((ValueNode)sibling).getValue()).length(); + if(((ValueNode)sibling).getValue() instanceof CharSequence charSequence) { + int valLen = charSequence.length(); return Math.max(1, valLen); } } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/sqlbuilder/sqltree/ValueNode.java b/cayenne/src/main/java/org/apache/cayenne/access/sqlbuilder/sqltree/ValueNode.java index a6c50792c..220aadcf8 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/sqlbuilder/sqltree/ValueNode.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/sqlbuilder/sqltree/ValueNode.java @@ -102,14 +102,14 @@ public class ValueNode extends Node { throw new CayenneRuntimeException("Unsupported array type %s", val.getClass().getName()); } } else { - if(val instanceof Persistent) { - appendValue((Persistent) val, buffer); - } else if(val instanceof ObjectId) { - appendValue((ObjectId) val, buffer); - } else if(val instanceof Supplier) { - appendValue(((Supplier<?>) val).get(), buffer); - } else if(val instanceof CharSequence) { - appendStringValue(buffer, (CharSequence)val); + if(val instanceof Persistent persistent) { + appendValue(persistent, buffer); + } else if(val instanceof ObjectId objectId) { + appendValue(objectId, buffer); + } else if(val instanceof Supplier<?> supplier) { + appendValue(supplier.get(), buffer); + } else if(val instanceof CharSequence charSequence) { + appendStringValue(buffer, charSequence); } else { appendObjectValue(buffer, val); } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLConditionTranslator.java b/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLConditionTranslator.java index 38d816d17..706b7080b 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLConditionTranslator.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLConditionTranslator.java @@ -365,15 +365,13 @@ public class EJBQLConditionTranslator extends EJBQLBaseVisitor { // BUT in such as ":x = parameter" (where x=null) we don't do // anything // as a result it can be unsupported in some DB - if (expression.getChild(1) instanceof EJBQLNamedInputParameter) { - EJBQLNamedInputParameter par = (EJBQLNamedInputParameter) expression.getChild(1); + if (expression.getChild(1) instanceof EJBQLNamedInputParameter par) { if (context.namedParameters.containsKey(par.getText()) && context.namedParameters.get(par.getText()) == null) { context.append(toAppend); return true; } - } else if (expression.getChild(1) instanceof EJBQLPositionalInputParameter) { - EJBQLPositionalInputParameter par = (EJBQLPositionalInputParameter) expression.getChild(1); + } else if (expression.getChild(1) instanceof EJBQLPositionalInputParameter par) { if (context.positionalParameters.containsKey(par.getPosition()) && context.positionalParameters.get(par.getPosition()) == null) { context.append(toAppend); @@ -817,12 +815,12 @@ public class EJBQLConditionTranslator extends EJBQLBaseVisitor { Object object = context.getBoundParameter(boundName); Map<?, ?> map = null; - if (object instanceof Persistent) { - map = ((Persistent) object).getObjectId().getIdSnapshot(); - } else if (object instanceof ObjectId) { - map = ((ObjectId) object).getIdSnapshot(); - } else if (object instanceof Map) { - map = (Map<?, ?>) object; + if (object instanceof Persistent persistent) { + map = persistent.getObjectId().getIdSnapshot(); + } else if (object instanceof ObjectId objectId) { + map = objectId.getIdSnapshot(); + } else if (object instanceof Map<?, ?> objectAsMap) { + map = objectAsMap; } if (map != null) { diff --git a/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLIdentifierColumnsTranslator.java b/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLIdentifierColumnsTranslator.java index b0f98d14d..654cc841f 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLIdentifierColumnsTranslator.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLIdentifierColumnsTranslator.java @@ -108,8 +108,8 @@ class EJBQLIdentifierColumnsTranslator extends EJBQLBaseVisitor { EJBQLTableId rhsId = new EJBQLTableId(lhsId, dr.getName()); joinAppender.appendOuterJoin(marker, lhsId, rhsId); lhsId = rhsId; - } else if (pathPart instanceof DbAttribute) { - appendColumn(idVar, oa, (DbAttribute) pathPart, fields, oa.getType()); + } else if (pathPart instanceof DbAttribute dbAttribute) { + appendColumn(idVar, oa, dbAttribute, fields, oa.getType()); } } return true; diff --git a/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLJoinAppender.java b/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLJoinAppender.java index 046c349c8..a6a3e1f7a 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLJoinAppender.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLJoinAppender.java @@ -283,8 +283,8 @@ public class EJBQLJoinAppender { List<Object> resultSetMapping = context.getMetadata().getResultSetMapping(); for (Object mapping : resultSetMapping) { - if (mapping instanceof EntityResultSegment) { - if (entityName.equals(((EntityResultSegment) mapping) + if (mapping instanceof EntityResultSegment entityResultSegment) { + if (entityName.equals(entityResultSegment .getClassDescriptor() .getEntity() .getName())) { @@ -308,8 +308,7 @@ public class EJBQLJoinAppender { Iterator<CayenneMapEntry> dbPathIterator = objAttribute.getDbPathIterator(); while (dbPathIterator.hasNext()) { CayenneMapEntry next = dbPathIterator.next(); - if (next instanceof DbRelationship) { - DbRelationship rel = (DbRelationship) next; + if (next instanceof DbRelationship rel) { context.append(" LEFT OUTER JOIN "); String targetEntityName = quoter.quotedFullyQualifiedName(rel.getTargetEntity()); String subqueryTargetAlias = context.getTableAlias(id.getEntityId(), targetEntityName); diff --git a/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLPathTranslator.java b/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLPathTranslator.java index 032c90b96..b2e997ce1 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLPathTranslator.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLPathTranslator.java @@ -199,8 +199,8 @@ public abstract class EJBQLPathTranslator extends EJBQLBaseVisitor { Iterator<?> it = attribute.getDbPathIterator(); while (it.hasNext()) { Object pathComponent = it.next(); - if (pathComponent instanceof DbAttribute) { - table = ((DbAttribute) pathComponent).getEntity(); + if (pathComponent instanceof DbAttribute dbAttribute) { + table = dbAttribute.getEntity(); } } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectColumnsTranslator.java b/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectColumnsTranslator.java index 7f9448c7f..0e356d91d 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectColumnsTranslator.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectColumnsTranslator.java @@ -179,8 +179,7 @@ public class EJBQLSelectColumnsTranslator extends EJBQLBaseVisitor { // DbRelationships not processed, because they will be processed later when appending table if (pathPart == null) { throw new CayenneRuntimeException("ObjAttribute has no component: %s", attribute.getName()); - } else if (pathPart instanceof DbAttribute) { - DbAttribute dbAttribute = (DbAttribute) pathPart; + } else if (pathPart instanceof DbAttribute dbAttribute) { appendColumn(attribute.getType(), context.getTableAlias(lhsId.getEntityId(), context.getQuotingStrategy() .quotedFullyQualifiedName(dbAttribute.getEntity())), diff --git a/cayenne/src/main/java/org/apache/cayenne/access/translator/select/ExistsExpressionTranslator.java b/cayenne/src/main/java/org/apache/cayenne/access/translator/select/ExistsExpressionTranslator.java index ac2f294f4..69f82b588 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/translator/select/ExistsExpressionTranslator.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/translator/select/ExistsExpressionTranslator.java @@ -64,8 +64,8 @@ class ExistsExpressionTranslator { } Expression translatedExpression; - if(child instanceof Expression) { - translatedExpression = (Expression) child; + if(child instanceof Expression expression) { + translatedExpression = expression; } else { throw new IllegalArgumentException("Expected expression as a child, got " + child); } @@ -79,8 +79,8 @@ class ExistsExpressionTranslator { // 0. quick path for a simple case - exists query for a single path expression // maybe we should support path as a condition in a general translator too, not only here - if (translatedExpression instanceof ASTDbPath) { - DbPathMarker marker = createPathMarker(entity, (ASTDbPath) translatedExpression); + if (translatedExpression instanceof ASTDbPath astDbPathExpression) { + DbPathMarker marker = createPathMarker(entity, astDbPathExpression); Expression pathExistExp = markerToExpression(marker); if(marker.relationship == null) { return pathExistExp; @@ -90,7 +90,7 @@ class ExistsExpressionTranslator { // 1. transform all paths translatedExpression = translatedExpression.transform( - o -> o instanceof ASTDbPath ? createPathMarker(entity, (ASTDbPath) o) : o + o -> o instanceof ASTDbPath astDbPath ? createPathMarker(entity, astDbPath) : o ); // 2. group paths with db relationship by their parent conditions and relationships @@ -155,8 +155,8 @@ class ExistsExpressionTranslator { if (node instanceof ParentMarker) { return null; } - if (node instanceof DbPathMarker) { - return markerToExpression((DbPathMarker) node); + if (node instanceof DbPathMarker dbPathMarker) { + return markerToExpression(dbPathMarker); } return node.deepCopy(); } @@ -191,8 +191,7 @@ class ExistsExpressionTranslator { Expression expressionToTranslate) { Map<SimpleNode, Map<DbRelationship, List<DbPathMarker>>> parents = new HashMap<>(4); expressionToTranslate.traverse((SimpleTraversalHandler) (node, parentNode) -> { - if (node instanceof DbPathMarker) { - DbPathMarker marker = (DbPathMarker) node; + if (node instanceof DbPathMarker marker) { if (marker.root()) { return; } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/types/EnumType.java b/cayenne/src/main/java/org/apache/cayenne/access/types/EnumType.java index 2476e7646..eee1ce600 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/types/EnumType.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/types/EnumType.java @@ -110,9 +110,9 @@ public class EnumType<T extends Enum<T>> implements ExtendedType<T> { StringBuilder buffer = new StringBuilder(); buffer.append(value.name()); - if (value instanceof ExtendedEnumeration) { + if (value instanceof ExtendedEnumeration extendedEnumeration) { buffer.append("="); - Object dbValue = ((ExtendedEnumeration) value).getDatabaseValue(); + Object dbValue = extendedEnumeration.getDatabaseValue(); if (dbValue instanceof String) { buffer.append("'"); } diff --git a/cayenne/src/main/java/org/apache/cayenne/access/types/ExtendedEnumType.java b/cayenne/src/main/java/org/apache/cayenne/access/types/ExtendedEnumType.java index d061ca6b1..5d0651478 100644 --- a/cayenne/src/main/java/org/apache/cayenne/access/types/ExtendedEnumType.java +++ b/cayenne/src/main/java/org/apache/cayenne/access/types/ExtendedEnumType.java @@ -100,8 +100,7 @@ public class ExtendedEnumType<T extends Enum<T>> implements ExtendedType<T> { int pos, int type, int precision) throws Exception { - if (value instanceof ExtendedEnumeration) { - ExtendedEnumeration e = (ExtendedEnumeration) value; + if (value instanceof ExtendedEnumeration e) { if (TypesMapping.isNumeric(type)) { statement.setInt(pos, (Integer) e.getDatabaseValue()); } else { @@ -153,8 +152,8 @@ public class ExtendedEnumType<T extends Enum<T>> implements ExtendedType<T> { StringBuilder buffer = new StringBuilder(); // buffer.append(object.getClass().getName()).append("."); buffer.append(value.name()).append("="); - if (value instanceof ExtendedEnumeration) { - Object dbValue = ((ExtendedEnumeration) value).getDatabaseValue(); + if (value instanceof ExtendedEnumeration extendedEnumeration) { + Object dbValue = extendedEnumeration.getDatabaseValue(); if (dbValue instanceof String) { buffer.append("'"); } diff --git a/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/DataContextFactory.java b/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/DataContextFactory.java index 8b601a5fa..305f8baa2 100644 --- a/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/DataContextFactory.java +++ b/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/DataContextFactory.java @@ -65,11 +65,11 @@ public class DataContextFactory implements ObjectContextFactory { public ObjectContext createContext(DataChannel parent) { // this switch may go away once we figure out clean property configuration... - if (parent instanceof DataDomain) { - return createdFromDataDomain((DataDomain) parent); + if (parent instanceof DataDomain dataDomain) { + return createdFromDataDomain(dataDomain); } - else if (parent instanceof DataContext) { - return createFromDataContext((DataContext) parent); + else if (parent instanceof DataContext dataContext) { + return createFromDataContext(dataContext); } else { return createFromGenericChannel(parent); diff --git a/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/DelegatingDataSourceFactory.java b/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/DelegatingDataSourceFactory.java index afbf4498f..848a7a105 100644 --- a/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/DelegatingDataSourceFactory.java +++ b/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/DelegatingDataSourceFactory.java @@ -87,8 +87,8 @@ public class DelegatingDataSourceFactory implements DataSourceFactory { protected void attachToScope(DataSource dataSource) { if (!managedDataSources.containsKey(dataSource)) { - if (dataSource instanceof ScopeEventListener) { - managedDataSources.put(dataSource, (ScopeEventListener) dataSource); + if (dataSource instanceof ScopeEventListener scopeEventListener) { + managedDataSources.put(dataSource, scopeEventListener); } } } diff --git a/cayenne/src/main/java/org/apache/cayenne/configuration/xml/NamespaceAwareNestedTagHandler.java b/cayenne/src/main/java/org/apache/cayenne/configuration/xml/NamespaceAwareNestedTagHandler.java index 98c6660db..d59a190c5 100644 --- a/cayenne/src/main/java/org/apache/cayenne/configuration/xml/NamespaceAwareNestedTagHandler.java +++ b/cayenne/src/main/java/org/apache/cayenne/configuration/xml/NamespaceAwareNestedTagHandler.java @@ -85,8 +85,8 @@ abstract public class NamespaceAwareNestedTagHandler extends SAXNestedTagHandler super.endElement(namespaceURI, localName, qName); String data = charactersBuffer.toString(); if(!processCharData(localName, data)) { - if(namespaceURI.equals(targetNamespace) && parentHandler instanceof NamespaceAwareNestedTagHandler) { - ((NamespaceAwareNestedTagHandler)parentHandler).processCharData(localName, data); + if(namespaceURI.equals(targetNamespace) && parentHandler instanceof NamespaceAwareNestedTagHandler namespaceAwareNestedTagHandler) { + namespaceAwareNestedTagHandler.processCharData(localName, data); } } }
