Skip to content

Commit 7efe389

Browse files
286 integrate json b (#343)
1 parent 0ffb141 commit 7efe389

File tree

4 files changed

+52
-18
lines changed

4 files changed

+52
-18
lines changed

applications/spring-shell/src/test/java/org/springframework/sbm/BootUpgrade_27_30_IntegrationTest.java

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -53,28 +53,36 @@ void migrateSimpleApplication() {
5353
verifyCrudRepoAddition();
5454
verifyAutoConfigurationIsRefactored();
5555
verifyEhCacheVersionIsUpgraded();
56+
verifyJohnzonCoreDependencyIsUpgraded();
5657
}
57-
5858
private void buildProject() {
5959
executeMavenGoals(getTestDir(), "clean", "verify");
6060
}
6161

62-
private void verifyEhCacheVersionIsUpgraded() {
63-
String pomContent = loadFile(Path.of("pom.xml"));
62+
private void verifyJohnzonCoreDependencyIsUpgraded() {
63+
Optional<Dependency> johnzonResult = getDependencyByArtifactId("johnzon-core");
6464

65-
Xml.Document mavenAsXMLDocument = parsePom(pomContent);
65+
assertThat(johnzonResult.isPresent()).isTrue();
6666

67-
List<Dependency> dependencies = mavenAsXMLDocument
68-
.getMarkers()
69-
.findFirst(MavenResolutionResult.class)
70-
.get()
71-
.getPom()
72-
.getRequestedDependencies();
67+
Dependency johnzonDependency = johnzonResult.get();
7368

74-
Optional<Dependency> ehcacheResult = dependencies
69+
assertThat(johnzonDependency.getClassifier()).isEqualTo("jakarta");
70+
assertThat(johnzonDependency.getArtifactId()).isEqualTo("johnzon-core");
71+
assertThat(johnzonDependency.getVersion()).isEqualTo("1.2.18");
72+
}
73+
74+
@NotNull
75+
private Optional<Dependency> getDependencyByArtifactId(String artifactId) {
76+
Xml.Document mavenAsXMLDocument = getRootBuildFile();
77+
List<Dependency> dependencies = getDependencies(mavenAsXMLDocument);
78+
return dependencies
7579
.stream()
76-
.filter(dependency -> dependency.getArtifactId().equals("ehcache"))
80+
.filter(dependency -> dependency.getArtifactId().equals(artifactId))
7781
.findFirst();
82+
}
83+
84+
private void verifyEhCacheVersionIsUpgraded() {
85+
Optional<Dependency> ehcacheResult = getDependencyByArtifactId("ehcache");
7886

7987
assertThat(ehcacheResult).isPresent();
8088

@@ -86,6 +94,22 @@ private void verifyEhCacheVersionIsUpgraded() {
8694
assertThat(ehcacheDependency.getClassifier()).isEqualTo("jakarta");
8795
}
8896

97+
@NotNull
98+
private List<Dependency> getDependencies(Xml.Document mavenAsXMLDocument) {
99+
return mavenAsXMLDocument
100+
.getMarkers()
101+
.findFirst(MavenResolutionResult.class)
102+
.get()
103+
.getPom()
104+
.getRequestedDependencies();
105+
}
106+
107+
@NotNull
108+
private Xml.Document getRootBuildFile() {
109+
110+
return parsePom(loadFile(Path.of("pom.xml")));
111+
}
112+
89113
private void verifyAutoConfigurationIsRefactored() {
90114
String autoConfig = loadFile(Path.of("src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports"));
91115
assertThat(autoConfig).isEqualTo("com.hello.GreetingConfig");
@@ -235,9 +259,7 @@ private void verifyPropertyConfigurationUpdate() {
235259
}
236260

237261
private void verifyParentPomVersion() {
238-
String pomContent = loadFile(Path.of("pom.xml"));
239-
240-
Xml.Document mavenAsXMLDocument = parsePom(pomContent);
262+
Xml.Document mavenAsXMLDocument = getRootBuildFile();
241263

242264
Xml.Tag parentTag =mavenAsXMLDocument
243265
.getRoot()

applications/spring-shell/src/test/resources/testcode/boot-migration-27-30/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@
4444
<artifactId>rxjava</artifactId>
4545
<version>3.1.5</version>
4646
</dependency>
47+
<dependency>
48+
<groupId>org.apache.johnzon</groupId>
49+
<artifactId>johnzon-core</artifactId>
50+
</dependency>
4751
<dependency>
4852
<groupId>org.springframework.boot</groupId>
4953
<artifactId>spring-boot-starter-test</artifactId>

components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/actions/Boot_27_30_UpgradeReplaceJohnzonDependencies.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,14 @@ public class Boot_27_30_UpgradeReplaceJohnzonDependencies extends AbstractAction
2828

2929
@Override
3030
public void apply(ProjectContext context) {
31+
3132
context.getApplicationModules()
3233
.stream()
3334
.map(ApplicationModule::getBuildFile)
34-
.peek(bf -> bf.removeDependenciesMatchingRegex(JOHNZON_DEPENDENCY_PATTERN))
35-
.forEach(bf -> bf.addDependency(Dependency.fromCoordinates(JOHNZON_DEPENDENCY)));
35+
.forEach(bf -> {
36+
bf.removeDependenciesMatchingRegex(JOHNZON_DEPENDENCY_PATTERN);
37+
bf.addDependency(Dependency.fromCoordinates(JOHNZON_DEPENDENCY));
38+
});
3639
}
3740

3841
@Override

components/sbm-recipes-boot-upgrade/src/main/resources/recipes/boot-2.7-3.0-dependency-version-update.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@
3737
condition:
3838
type: org.springframework.sbm.boot.upgrade.common.conditions.BootHasAutoconfigurationCondition
3939

40+
- type: org.springframework.sbm.boot.upgrade_27_30.actions.Boot_27_30_UpgradeReplaceJohnzonDependencies
41+
condition:
42+
type: org.springframework.sbm.boot.upgrade_27_30.conditions.JohnzonDependencyCondition
43+
description: Changing JohnzonDependency version and classifier
44+
4045
- type: org.springframework.sbm.engine.recipe.OpenRewriteDeclarativeRecipeAdapter
4146
condition:
4247
type: org.springframework.sbm.boot.upgrade.common.conditions.HasSpringBootParentOfVersion
@@ -52,7 +57,7 @@
5257
- org.openrewrite.maven.ChangeDependencyClassifier:
5358
groupId: org.ehcache
5459
artifactId: ehcache
55-
newClassifier: jakarta
60+
newClassifier: jakarta
5661
- org.openrewrite.maven.ChangeDependencyVersion:
5762
dependencyPattern: org.ehcache:ehcache
5863
newVersion: 3.10.0

0 commit comments

Comments
 (0)