Skip to content

Commit 1f4cec8

Browse files
committed
Polishing.
Fix nullability arrangements. See #3974
1 parent 28933e4 commit 1f4cec8

File tree

7 files changed

+15
-7
lines changed

7 files changed

+15
-7
lines changed

spring-data-jpa/src/main/java/org/springframework/data/jpa/provider/PersistenceProvider.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,11 @@ public static PersistenceProvider fromEntityManagerFactory(EntityManagerFactory
332332
} else if (AopUtils.isAopProxy(unwrapped)) {
333333
unwrapped = (EntityManagerFactory) AopProxyUtils.getSingletonTarget(unwrapped);
334334
}
335+
336+
if (unwrapped == null) {
337+
throw new IllegalStateException(
338+
"Unwrapping EntityManagerFactory from '%s' failed resulting in null".formatted(emf));
339+
}
335340
}
336341

337342
Class<?> entityManagerType = unwrapped.getClass();

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/aot/AotMetamodel.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ public void addTransformer(ClassTransformer classTransformer) {
9191

9292
this.entityManagerFactory = init(() -> {
9393

94-
managedTypes.stream().forEach(persistenceUnitInfo::addManagedClassName);
94+
managedTypes.forEach(persistenceUnitInfo::addManagedClassName);
9595

9696
persistenceUnitInfo.setPersistenceProviderClassName(HibernatePersistenceProvider.class.getName());
9797

@@ -104,7 +104,7 @@ public List<String> getManagedClassNames() {
104104

105105
@Override
106106
public URL getPersistenceUnitRootUrl() {
107-
return persistenceUnitRootUrl;
107+
return persistenceUnitRootUrl != null ? persistenceUnitRootUrl : super.getPersistenceUnitRootUrl();
108108
}
109109

110110
};

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/aot/JpaCodeBlocks.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,9 @@ private CodeBlock applyRewrite(@Nullable String sort, @Nullable String dynamicRe
281281
return builder.build();
282282
}
283283

284-
private CodeBlock applyLimits(boolean exists, String pageable) {
284+
private CodeBlock applyLimits(boolean exists, @Nullable String pageable) {
285+
286+
Assert.notNull(queries, "Queries must not be null");
285287

286288
Builder builder = CodeBlock.builder();
287289

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/aot/QueriesFactory.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import java.util.Arrays;
2626
import java.util.List;
2727
import java.util.Map;
28+
import java.util.Objects;
2829
import java.util.Optional;
2930
import java.util.Properties;
3031
import java.util.function.Function;
@@ -99,7 +100,7 @@ private NamedQueries getNamedQueries(@Nullable RepositoryConfigurationSource con
99100
PropertiesBasedNamedQueriesFactoryBean factoryBean = new PropertiesBasedNamedQueriesFactoryBean();
100101
factoryBean.setLocations(resolver.getResources(location));
101102
factoryBean.afterPropertiesSet();
102-
return factoryBean.getObject();
103+
return Objects.requireNonNull(factoryBean.getObject());
103104
} catch (IOException e) {
104105
throw new RuntimeException(e);
105106
}

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/EmptyIntrospectedQuery.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ public QueryProvider rewrite(QueryEnhancer.QueryRewriteInformation rewriteInform
9797

9898
@Override
9999
public PreprocessedQuery getQuery() {
100-
return null;
100+
throw new UnsupportedOperationException();
101101
}
102102

103103
@Override

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/HqlSortedQueryTransformer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ public QueryTokenStream visitJoinFunctionCall(HqlParser.JoinFunctionCallContext
142142
QueryTokenStream tokens = super.visitJoinFunctionCall(ctx);
143143

144144
if (ctx.variable() != null && !tokens.isEmpty()) {
145-
transformerSupport.registerAlias(tokens.getLast());
145+
transformerSupport.registerAlias(tokens.getRequiredLast());
146146
}
147147

148148
return tokens;

spring-data-jpa/src/main/java/org/springframework/data/jpa/repository/query/JpaQueryCreator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -357,7 +357,7 @@ private JpqlQueryBuilder.Select doSelect(Sort sort) {
357357
}
358358
}
359359

360-
private JpqlQueryBuilder.Expression getDistanceExpression() {
360+
private JpqlQueryBuilder.@Nullable Expression getDistanceExpression() {
361361

362362
DistanceFunction distanceFunction = DISTANCE_FUNCTIONS.get(provider.getScoringFunction());
363363

0 commit comments

Comments
 (0)