Skip to content

Commit 44fed8a

Browse files
fabapp2Sourav
andauthored
Finish #803 (#860)
* Fixed issue #803 * Remove RewriteRecipeRunner and change all client code --------- Co-authored-by: Sourav <[email protected]>
1 parent d45d9b4 commit 44fed8a

File tree

14 files changed

+31
-88
lines changed

14 files changed

+31
-88
lines changed

components/recipe-test-support/src/main/java/org/springframework/sbm/test/RecipeTestSupport.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ private RecipeTestSupport() {
6969
DefaultActionDeserializer.class,
7070
RewriteJavaSearchActionDeserializer.class,
7171
RewriteRecipeLoader.class,
72-
RewriteRecipeRunner.class,
7372
RewriteMigrationResultMerger.class,
7473
RewriteSourceFileWrapper.class,
7574
SbmRecipeLoader.class,

components/sbm-core/src/main/java/org/springframework/sbm/engine/context/ProjectContext.java

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,26 @@
1515
*/
1616
package org.springframework.sbm.engine.context;
1717

18+
import lombok.Getter;
19+
import lombok.Setter;
1820
import org.openrewrite.ExecutionContext;
21+
import org.openrewrite.Recipe;
22+
import org.openrewrite.Result;
23+
import org.openrewrite.SourceFile;
1924
import org.openrewrite.java.JavaParser;
2025
import org.springframework.sbm.build.api.ApplicationModules;
21-
import org.springframework.sbm.build.api.Module;
2226
import org.springframework.sbm.build.api.BuildFile;
27+
import org.springframework.sbm.build.api.Module;
2328
import org.springframework.sbm.build.api.RootBuildFileFilter;
2429
import org.springframework.sbm.build.filter.BuildFileProjectResourceFilter;
30+
import org.springframework.sbm.engine.recipe.OpenRewriteSourceFilesFinder;
31+
import org.springframework.sbm.engine.recipe.RewriteMigrationResultMerger;
2532
import org.springframework.sbm.java.api.ProjectJavaSources;
2633
import org.springframework.sbm.java.impl.ProjectJavaSourcesImpl;
2734
import org.springframework.sbm.java.refactoring.JavaRefactoringFactory;
2835
import org.springframework.sbm.java.util.BasePackageCalculator;
2936
import org.springframework.sbm.project.resource.ProjectResourceSet;
3037
import org.springframework.sbm.project.resource.filter.ProjectResourceFinder;
31-
import lombok.Getter;
32-
import lombok.Setter;
3338

3439
import java.nio.file.Path;
3540
import java.util.List;
@@ -46,14 +51,16 @@ public class ProjectContext {
4651
private String revision;
4752
private final JavaParser javaParser;
4853
private final ExecutionContext executionContext;
54+
private final RewriteMigrationResultMerger resultMerger;
4955

50-
public ProjectContext(JavaRefactoringFactory javaRefactoringFactory, Path projectRootDirectory, ProjectResourceSet projectResources, BasePackageCalculator basePackageCalculator, JavaParser javaParser, ExecutionContext executionContext) {
56+
public ProjectContext(JavaRefactoringFactory javaRefactoringFactory, Path projectRootDirectory, ProjectResourceSet projectResources, BasePackageCalculator basePackageCalculator, JavaParser javaParser, ExecutionContext executionContext, RewriteMigrationResultMerger resultMerger) {
5157
this.projectRootDirectory = projectRootDirectory.toAbsolutePath();
5258
this.projectResources = projectResources;
5359
this.javaRefactoringFactory = javaRefactoringFactory;
5460
this.basePackageCalculator = basePackageCalculator;
5561
this.javaParser = javaParser;
5662
this.executionContext = executionContext;
63+
this.resultMerger = resultMerger;
5764
}
5865

5966
public ProjectResourceSet getProjectResources() {
@@ -103,4 +110,9 @@ public ApplicationModules getApplicationModules() {
103110
return new ApplicationModules(getModules());
104111
}
105112

113+
public void apply(Recipe recipe) {
114+
List<? extends SourceFile> rewriteSourceFiles = this.search(new OpenRewriteSourceFilesFinder());
115+
List<Result> results = recipe.run(rewriteSourceFiles, executionContext).getResults();
116+
resultMerger.mergeResults(this, results);
117+
}
106118
}

components/sbm-core/src/main/java/org/springframework/sbm/engine/context/ProjectContextFactory.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import org.openrewrite.java.JavaParser;
2020
import org.springframework.sbm.build.api.BuildFile;
2121
import org.springframework.sbm.build.filter.BuildFileProjectResourceFilter;
22+
import org.springframework.sbm.engine.recipe.RewriteMigrationResultMerger;
2223
import org.springframework.sbm.java.refactoring.JavaRefactoringFactory;
2324
import org.springframework.sbm.java.impl.ClasspathRegistry;
2425
import org.springframework.sbm.java.util.BasePackageCalculator;
@@ -41,14 +42,15 @@ public class ProjectContextFactory {
4142
private final BasePackageCalculator basePackageCalculator;
4243
private final JavaParser javaParser;
4344
private final ExecutionContext executionContext;
45+
private final RewriteMigrationResultMerger resultMerger;
4446

4547
@NotNull
4648
public ProjectContext createProjectContext(Path projectDir, ProjectResourceSet projectResourceSet) {
4749
projectResourceSetHolder.setProjectResourceSet(projectResourceSet);
4850
applyProjectResourceWrappers(projectResourceSet);
4951
List<BuildFile> buildFiles = new BuildFileProjectResourceFilter().apply(projectResourceSet);
5052
ClasspathRegistry.initializeFromBuildFiles(buildFiles);
51-
ProjectContext projectContext = new ProjectContext(javaRefactoringFactory, projectDir, projectResourceSet, basePackageCalculator, javaParser, executionContext);
53+
ProjectContext projectContext = new ProjectContext(javaRefactoringFactory, projectDir, projectResourceSet, basePackageCalculator, javaParser, executionContext, resultMerger);
5254
return projectContext;
5355
}
5456

components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/OpenRewriteDeclarativeRecipeAdapter.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@ public class OpenRewriteDeclarativeRecipeAdapter extends AbstractAction {
3434
@JsonIgnore
3535
@Setter
3636
private RewriteRecipeLoader rewriteRecipeLoader;
37-
@JsonIgnore
38-
@Autowired
39-
@Setter
40-
private RewriteRecipeRunner rewriteRecipeRunner;
4137

4238
public OpenRewriteDeclarativeRecipeAdapter() {
4339
super(builder());
@@ -51,6 +47,6 @@ public boolean isApplicable(ProjectContext context) {
5147
@Override
5248
public void apply(ProjectContext context) {
5349
Recipe recipe = rewriteRecipeLoader.createRecipe(openRewriteRecipe);
54-
rewriteRecipeRunner.run(context, recipe);
50+
context.apply(recipe);
5551
}
5652
}

components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/OpenRewriteNamedRecipeAdapter.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,9 @@ public class OpenRewriteNamedRecipeAdapter extends AbstractAction {
3737
@JsonIgnore
3838
private RewriteRecipeLoader rewriteRecipeLoader;
3939

40-
@JsonIgnore
41-
@Autowired
42-
private RewriteRecipeRunner rewriteRecipeRunner;
43-
4440
@Override
4541
public void apply(ProjectContext context) {
4642
Recipe recipe = rewriteRecipeLoader.loadRewriteRecipe(openRewriteRecipeName);
47-
rewriteRecipeRunner.run(context, recipe);
43+
context.apply(recipe);
4844
}
4945
}

components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/RewriteRecipeRunner.java

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

components/sbm-core/src/test/java/org/springframework/sbm/archfitfun/ExecutionScopeArchFitTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@
119119
RewritePlainTextParser.class,
120120
RewriteMavenParser.class,
121121
MavenSettingsInitializer.class,
122+
RewriteMigrationResultMerger.class,
122123
RewriteMavenArtifactDownloader.class,
123124
JavaProvenanceMarkerFactory.class,
124125
MavenConfigHandler.class,

components/sbm-core/src/test/java/org/springframework/sbm/engine/recipe/OpenRewriteDeclarativeRecipeAdapterIntegrationTest.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
import java.io.IOException;
3333

3434
import static org.assertj.core.api.Assertions.assertThat;
35-
import static org.junit.jupiter.api.Assertions.assertThrows;
3635

3736
@SpringBootTest(classes = {
3837
RecipeParser.class,
@@ -43,7 +42,6 @@
4342
ActionDeserializerRegistry.class,
4443
DefaultActionDeserializer.class,
4544
RewriteMigrationResultMerger.class,
46-
RewriteRecipeRunner.class,
4745
RewriteSourceFileWrapper.class,
4846
CustomValidatorBean.class,
4947
RewriteExecutionContext.class,

components/sbm-core/src/test/java/org/springframework/sbm/engine/recipe/OpenRewriteDeclarativeRecipeAdapterTest.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,24 +31,20 @@ public class OpenRewriteDeclarativeRecipeAdapterTest {
3131
@Mock
3232
RewriteRecipeLoader rewriteRecipeLoader;
3333

34-
@Mock
35-
RewriteRecipeRunner rewriteRecipeRunner;
36-
3734
@InjectMocks
3835
OpenRewriteDeclarativeRecipeAdapter sut;
3936

4037
@Test
4138
void testApply() {
4239
String recipeDeclaration = "name: some-recipe";
4340
sut.setOpenRewriteRecipe(recipeDeclaration);
44-
4541
org.openrewrite.Recipe recipe = mock(org.openrewrite.Recipe.class);
4642
when(rewriteRecipeLoader.createRecipe(recipeDeclaration)).thenReturn(recipe);
4743
ProjectContext context = mock(ProjectContext.class);
4844

4945
sut.apply(context);
5046

51-
verify(rewriteRecipeRunner).run(context, recipe);
47+
verify(context).apply(recipe);
5248
}
5349

5450

components/sbm-core/src/test/java/org/springframework/sbm/engine/recipe/OpenRewriteNamedRecipeAdapterIntegrationTest.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@
4242
ActionDeserializerRegistry.class,
4343
DefaultActionDeserializer.class,
4444
RewriteMigrationResultMerger.class,
45-
RewriteRecipeRunner.class,
4645
RewriteSourceFileWrapper.class,
4746
RewriteRecipeLoader.class,
4847
CustomValidatorBean.class,

0 commit comments

Comments
 (0)