Skip to content

Commit 4c19c45

Browse files
authored
spring-boot: rework spring-cache (#31858)
* spring-boot: rework spring-cache * spring-boot: modularize ehcache CacheConfiguration * spring-boot: modularize caffeine CacheConfiguration * spring-boot: modularize hazelcast CacheConfiguration * spring-boot: modularize memcached CacheConfiguration * spring-boot: modularize redis CacheConfiguration * Remove unused logger from CacheKeyGeneratorConfiguration Removed unused logger declaration from CacheKeyGeneratorConfiguration. * spring-boot: adjusts
1 parent 92ad0d7 commit 4c19c45

14 files changed

+1062
-910
lines changed

generators/server/__snapshots__/generator.spec.ts.snap

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,9 @@ exports[`generator - server with entities should match files snapshot 1`] = `
617617
"src/main/java/com/mycompany/myapp/config/CacheConfiguration.java": {
618618
"stateCleared": "modified",
619619
},
620+
"src/main/java/com/mycompany/myapp/config/CacheKeyGeneratorConfiguration.java": {
621+
"stateCleared": "modified",
622+
},
620623
"src/main/java/com/mycompany/myapp/config/Constants.java": {
621624
"stateCleared": "modified",
622625
},

generators/server/support/__snapshots__/needles.spec.ts.snap

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ exports[`generator - server - support - needles generated project should match s
101101
"src/main/java/com/mycompany/myapp/config/CacheConfiguration.java": {
102102
"stateCleared": "modified",
103103
},
104+
"src/main/java/com/mycompany/myapp/config/CacheKeyGeneratorConfiguration.java": {
105+
"stateCleared": "modified",
106+
},
104107
"src/main/java/com/mycompany/myapp/config/Constants.java": {
105108
"stateCleared": "modified",
106109
},

generators/spring-cache/__snapshots__/generator.spec.ts.snap

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ exports[`generator - spring-cache caffeine-gradle should match files snapshot 1`
88
"src/main/java/com/mycompany/myapp/config/CacheConfiguration.java": {
99
"stateCleared": "modified",
1010
},
11+
"src/main/java/com/mycompany/myapp/config/CacheKeyGeneratorConfiguration.java": {
12+
"stateCleared": "modified",
13+
},
1114
}
1215
`;
1316

@@ -88,6 +91,9 @@ exports[`generator - spring-cache caffeine-maven should match files snapshot 1`]
8891
"src/main/java/com/mycompany/myapp/config/CacheConfiguration.java": {
8992
"stateCleared": "modified",
9093
},
94+
"src/main/java/com/mycompany/myapp/config/CacheKeyGeneratorConfiguration.java": {
95+
"stateCleared": "modified",
96+
},
9197
}
9298
`;
9399

@@ -156,6 +162,9 @@ exports[`generator - spring-cache ehcache-gradle should match files snapshot 1`]
156162
"src/main/java/com/mycompany/myapp/config/CacheConfiguration.java": {
157163
"stateCleared": "modified",
158164
},
165+
"src/main/java/com/mycompany/myapp/config/CacheKeyGeneratorConfiguration.java": {
166+
"stateCleared": "modified",
167+
},
159168
}
160169
`;
161170

@@ -216,6 +225,9 @@ exports[`generator - spring-cache ehcache-maven should match files snapshot 1`]
216225
"src/main/java/com/mycompany/myapp/config/CacheConfiguration.java": {
217226
"stateCleared": "modified",
218227
},
228+
"src/main/java/com/mycompany/myapp/config/CacheKeyGeneratorConfiguration.java": {
229+
"stateCleared": "modified",
230+
},
219231
}
220232
`;
221233

@@ -276,6 +288,9 @@ exports[`generator - spring-cache hazelcast-gradle should match files snapshot 1
276288
"src/main/java/com/mycompany/myapp/config/CacheConfiguration.java": {
277289
"stateCleared": "modified",
278290
},
291+
"src/main/java/com/mycompany/myapp/config/CacheKeyGeneratorConfiguration.java": {
292+
"stateCleared": "modified",
293+
},
279294
}
280295
`;
281296

@@ -357,6 +372,9 @@ exports[`generator - spring-cache hazelcast-maven should match files snapshot 1`
357372
"src/main/java/com/mycompany/myapp/config/CacheConfiguration.java": {
358373
"stateCleared": "modified",
359374
},
375+
"src/main/java/com/mycompany/myapp/config/CacheKeyGeneratorConfiguration.java": {
376+
"stateCleared": "modified",
377+
},
360378
}
361379
`;
362380

@@ -418,6 +436,9 @@ exports[`generator - spring-cache infinispan-gradle should match files snapshot
418436
"src/main/java/com/mycompany/myapp/config/CacheConfiguration.java": {
419437
"stateCleared": "modified",
420438
},
439+
"src/main/java/com/mycompany/myapp/config/CacheKeyGeneratorConfiguration.java": {
440+
"stateCleared": "modified",
441+
},
421442
}
422443
`;
423444

@@ -492,6 +513,9 @@ exports[`generator - spring-cache infinispan-maven should match files snapshot 1
492513
"src/main/java/com/mycompany/myapp/config/CacheConfiguration.java": {
493514
"stateCleared": "modified",
494515
},
516+
"src/main/java/com/mycompany/myapp/config/CacheKeyGeneratorConfiguration.java": {
517+
"stateCleared": "modified",
518+
},
495519
}
496520
`;
497521

@@ -566,6 +590,9 @@ exports[`generator - spring-cache memcached-gradle should match files snapshot 1
566590
"src/main/java/com/mycompany/myapp/config/CacheConfiguration.java": {
567591
"stateCleared": "modified",
568592
},
593+
"src/main/java/com/mycompany/myapp/config/CacheKeyGeneratorConfiguration.java": {
594+
"stateCleared": "modified",
595+
},
569596
}
570597
`;
571598

@@ -636,6 +663,9 @@ exports[`generator - spring-cache memcached-maven should match files snapshot 1`
636663
"src/main/java/com/mycompany/myapp/config/CacheConfiguration.java": {
637664
"stateCleared": "modified",
638665
},
666+
"src/main/java/com/mycompany/myapp/config/CacheKeyGeneratorConfiguration.java": {
667+
"stateCleared": "modified",
668+
},
639669
}
640670
`;
641671

@@ -706,6 +736,9 @@ exports[`generator - spring-cache redis-gradle should match files snapshot 1`] =
706736
"src/main/java/com/mycompany/myapp/config/CacheConfiguration.java": {
707737
"stateCleared": "modified",
708738
},
739+
"src/main/java/com/mycompany/myapp/config/CacheKeyGeneratorConfiguration.java": {
740+
"stateCleared": "modified",
741+
},
709742
"src/test/java/com/mycompany/myapp/config/EmbeddedRedis.java": {
710743
"stateCleared": "modified",
711744
},
@@ -787,6 +820,9 @@ exports[`generator - spring-cache redis-maven should match files snapshot 1`] =
787820
"src/main/java/com/mycompany/myapp/config/CacheConfiguration.java": {
788821
"stateCleared": "modified",
789822
},
823+
"src/main/java/com/mycompany/myapp/config/CacheKeyGeneratorConfiguration.java": {
824+
"stateCleared": "modified",
825+
},
790826
"src/test/java/com/mycompany/myapp/config/EmbeddedRedis.java": {
791827
"stateCleared": "modified",
792828
},

generators/spring-cache/cleanup.ts

Lines changed: 0 additions & 45 deletions
This file was deleted.

generators/spring-cache/files.ts

Lines changed: 0 additions & 48 deletions
This file was deleted.

generators/spring-cache/generator.ts

Lines changed: 49 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,9 @@
1919
import BaseApplicationGenerator from '../base-application/index.ts';
2020
import { createNeedleCallback } from '../base-core/support/needles.ts';
2121
import type { Source as CommonSource } from '../common/types.ts';
22-
import { GRADLE_BUILD_SRC_MAIN_DIR } from '../generator-constants.ts';
22+
import { GRADLE_BUILD_SRC_MAIN_DIR, SERVER_MAIN_SRC_DIR, SERVER_TEST_SRC_DIR } from '../generator-constants.ts';
23+
import { moveToJavaPackageSrcDir, moveToJavaPackageTestDir } from '../java/support/files.ts';
2324

24-
import cleanupTask from './cleanup.ts';
25-
import writeTask from './files.ts';
2625
import { getCacheProviderMavenDefinition } from './internal/dependencies.ts';
2726
import type {
2827
Application as SpringCacheApplication,
@@ -116,13 +115,57 @@ export default class SpringCacheGenerator extends BaseApplicationGenerator<
116115

117116
get writing() {
118117
return this.asWritingTaskGroup({
119-
async cleanup({ control }) {
118+
async cleanup({ application, control }) {
119+
if (application.cacheProviderHazelcast) {
120+
if (control.isJhipsterVersionLessThan('3.12.0')) {
121+
this.removeFile(`${application.javaPackageSrcDir}config/hazelcast/HazelcastCacheRegionFactory.java`);
122+
this.removeFile(`${application.javaPackageSrcDir}config/hazelcast/package-info.java`);
123+
}
124+
}
125+
if (application.cacheProviderRedis) {
126+
if (control.isJhipsterVersionLessThan('7.8.2')) {
127+
this.removeFile(`${application.javaPackageTestDir}RedisTestContainerExtension.java`);
128+
}
129+
}
130+
if (application.buildToolGradle) {
131+
if (control.isJhipsterVersionLessThan('8.1.1')) {
132+
this.removeFile('gradle/cache.gradle');
133+
}
134+
}
120135
await control.cleanupFiles({
136+
'8.9.1': [[application.cacheProviderInfinispan!, `${application.javaPackageSrcDir}config/CacheFactoryConfiguration.java`]],
121137
'9.0.0-alpha.0': [`${GRADLE_BUILD_SRC_MAIN_DIR}/jhipster.spring-cache-conventions.gradle`],
122138
});
123139
},
124-
cleanupTask,
125-
writeTask,
140+
async writeTask({ application }) {
141+
await this.writeFiles({
142+
sections: {
143+
cacheFiles: [
144+
{
145+
path: `${SERVER_MAIN_SRC_DIR}_package_/`,
146+
renameTo: moveToJavaPackageSrcDir,
147+
templates: ['config/CacheKeyGeneratorConfiguration.java'],
148+
},
149+
{
150+
path: `${SERVER_MAIN_SRC_DIR}_package_/`,
151+
renameTo: moveToJavaPackageSrcDir,
152+
templates: [`config/CacheConfiguration_${application.cacheProvider}.java`],
153+
},
154+
{
155+
condition: () => application.cacheProviderRedis,
156+
path: `${SERVER_TEST_SRC_DIR}_package_/`,
157+
renameTo: moveToJavaPackageTestDir,
158+
templates: [
159+
'config/EmbeddedRedis.java',
160+
'config/RedisTestContainer.java',
161+
'config/RedisTestContainersSpringContextCustomizerFactory.java',
162+
],
163+
},
164+
],
165+
},
166+
context: application,
167+
});
168+
},
126169
});
127170
}
128171

0 commit comments

Comments
 (0)