diff --git a/components/recipe-test-support/src/main/java/org/springframework/sbm/test/RecipeTestSupport.java b/components/recipe-test-support/src/main/java/org/springframework/sbm/test/RecipeTestSupport.java index 1007c623a..fab62c8c7 100644 --- a/components/recipe-test-support/src/main/java/org/springframework/sbm/test/RecipeTestSupport.java +++ b/components/recipe-test-support/src/main/java/org/springframework/sbm/test/RecipeTestSupport.java @@ -69,7 +69,7 @@ private RecipeTestSupport() { DefaultActionDeserializer.class, RewriteJavaSearchActionDeserializer.class, RewriteRecipeLoader.class, - RewriteMigrationResultMerger.class, + MigrationResultProjectContextMerger.class, RewriteSourceFileWrapper.class, SbmRecipeLoader.class, BasePackageCalculator.class, diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/build/api/Module.java b/components/sbm-core/src/main/java/org/springframework/sbm/build/api/Module.java index 77abfa0ba..51b76f752 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/build/api/Module.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/build/api/Module.java @@ -21,15 +21,17 @@ import org.springframework.sbm.build.impl.MavenBuildFileUtil; import org.springframework.sbm.build.impl.OpenRewriteMavenBuildFile; import org.springframework.sbm.common.util.Verify; -import org.springframework.sbm.engine.recipe.RewriteMigrationResultMerger; +import org.springframework.sbm.engine.recipe.MigrationResultProjectContextMerger; import org.springframework.sbm.java.api.JavaSource; import org.springframework.sbm.java.api.JavaSourceLocation; import org.springframework.sbm.java.refactoring.JavaRefactoringFactory; import org.springframework.sbm.java.util.BasePackageCalculator; import org.springframework.sbm.parsers.JavaParserBuilder; import org.springframework.sbm.project.resource.ProjectResourceSet; +import org.springframework.sbm.project.resource.ProjectResourceSetFactory; +import org.springframework.sbm.project.resource.RewriteMigrationResultMerger; import org.springframework.sbm.project.resource.RewriteSourceFileHolder; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; import lombok.Getter; import lombok.RequiredArgsConstructor; import org.openrewrite.SourceFile; @@ -59,6 +61,7 @@ public class Module { private final JavaParserBuilder javaParserBuilder; private final ExecutionContext executionContext; private final RewriteMigrationResultMerger rewriteMigrationResultMerger; + private final ProjectResourceSetFactory projectResourceSetFactory; public JavaSourceLocation getBaseJavaSourceLocation() { return getMainJavaSourceSet().getJavaSourceLocation(); @@ -142,7 +145,8 @@ public List getModules() { basePackageCalculator, javaParserBuilder, executionContext, - rewriteMigrationResultMerger) + rewriteMigrationResultMerger, + projectResourceSetFactory) ) .collect(Collectors.toList()); } else { @@ -156,8 +160,14 @@ public List getDeclaredModules() { public T search(ProjectResourceFinder finder) { List> resources = getModuleResources(); - ProjectResourceSet filteredProjectResourceSet = new ProjectResourceSet(resources, executionContext); - return finder.apply(filteredProjectResourceSet); + if(!resources.isEmpty()) { + Path baseDir = resources.get(0).getAbsoluteProjectDir(); + List sourceFiles = getModuleResources().stream().map(RewriteSourceFileHolder::getSourceFile).map(SourceFile.class::cast).toList(); + ProjectResourceSet filteredProjectResourceSet = projectResourceSetFactory.create(baseDir, sourceFiles); + return finder.apply(filteredProjectResourceSet); + } else { + return null; + } } private List> getModuleResources() { @@ -184,12 +194,12 @@ private boolean isResourceOnPath(RewriteSourceFileHolder r } public T searchMainResources(ProjectResourceFinder finder) { - ProjectResourceSet resourceSet = new ImmutableFilteringProjectResourceSet(projectResourceSet, (RewriteSourceFileHolder r) -> r.getAbsolutePath().normalize().startsWith(getMainResourceSet().getAbsolutePath().toAbsolutePath().normalize())); + ProjectResourceSet resourceSet = new ImmutableFilteringProjectResourceSet(projectResourceSet, (RewriteSourceFileHolder r) -> r.getAbsolutePath().normalize().startsWith(getMainResourceSet().getAbsolutePath().toAbsolutePath().normalize()), rewriteMigrationResultMerger); return finder.apply(resourceSet); } public T searchMainJava(ProjectResourceFinder finder) { - ProjectResourceSet resourceSet = new ImmutableFilteringProjectResourceSet(projectResourceSet, (RewriteSourceFileHolder r) -> r.getAbsolutePath().normalize().startsWith(getMainJavaSourceSet().getAbsolutePath().toAbsolutePath().normalize())); + ProjectResourceSet resourceSet = new ImmutableFilteringProjectResourceSet(projectResourceSet, (RewriteSourceFileHolder r) -> r.getAbsolutePath().normalize().startsWith(getMainJavaSourceSet().getAbsolutePath().toAbsolutePath().normalize()), rewriteMigrationResultMerger); return finder.apply(resourceSet); } @@ -197,12 +207,12 @@ public T searchTestResources(ProjectResourceFinder finder) { Predicate> predicate = (RewriteSourceFileHolder r) -> { return r.getAbsolutePath().normalize().startsWith(getTestResourceSet().getAbsolutePath().toAbsolutePath().normalize()); }; - ProjectResourceSet resourceSet = new ImmutableFilteringProjectResourceSet(projectResourceSet, predicate); + ProjectResourceSet resourceSet = new ImmutableFilteringProjectResourceSet(projectResourceSet, predicate, rewriteMigrationResultMerger); return finder.apply(resourceSet); } public T searchTestJava(ProjectResourceFinder finder) { - ProjectResourceSet resourceSet = new ImmutableFilteringProjectResourceSet(projectResourceSet, (RewriteSourceFileHolder r) -> r.getAbsolutePath().normalize().startsWith(getTestJavaSourceSet().getAbsolutePath().toAbsolutePath().normalize())); + ProjectResourceSet resourceSet = new ImmutableFilteringProjectResourceSet(projectResourceSet, (RewriteSourceFileHolder r) -> r.getAbsolutePath().normalize().startsWith(getTestJavaSourceSet().getAbsolutePath().toAbsolutePath().normalize()), rewriteMigrationResultMerger); return finder.apply(resourceSet); } @@ -230,8 +240,8 @@ private class ImmutableFilteringProjectResourceSet extends ProjectResourceSet{ private final ProjectResourceSet projectResourceSet; private final Predicate> predicate; - public ImmutableFilteringProjectResourceSet(ProjectResourceSet projectResourceSet, Predicate> predicate) { - super(projectResourceSet.list(), executionContext); + public ImmutableFilteringProjectResourceSet(ProjectResourceSet projectResourceSet, Predicate> predicate, RewriteMigrationResultMerger migrationResultMerger) { + super(projectResourceSet.list(), executionContext, migrationResultMerger); this.projectResourceSet = projectResourceSet; this.predicate = predicate; } diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/build/api/RootBuildFileFilter.java b/components/sbm-core/src/main/java/org/springframework/sbm/build/api/RootBuildFileFilter.java index 3cf9e2ea0..af5959501 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/build/api/RootBuildFileFilter.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/build/api/RootBuildFileFilter.java @@ -16,7 +16,7 @@ package org.springframework.sbm.build.api; import org.springframework.sbm.project.resource.ProjectResourceSet; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; public class RootBuildFileFilter implements ProjectResourceFinder { @Override diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/build/filter/BuildFileProjectResourceFilter.java b/components/sbm-core/src/main/java/org/springframework/sbm/build/filter/BuildFileProjectResourceFinder.java similarity index 78% rename from components/sbm-core/src/main/java/org/springframework/sbm/build/filter/BuildFileProjectResourceFilter.java rename to components/sbm-core/src/main/java/org/springframework/sbm/build/filter/BuildFileProjectResourceFinder.java index fefb68450..7f6c20abe 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/build/filter/BuildFileProjectResourceFilter.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/build/filter/BuildFileProjectResourceFinder.java @@ -16,10 +16,10 @@ package org.springframework.sbm.build.filter; import org.springframework.sbm.build.api.BuildFile; -import org.springframework.sbm.project.resource.filter.GenericTypeListFilter; +import org.springframework.sbm.project.resource.finder.GenericTypeListFinder; -public class BuildFileProjectResourceFilter extends GenericTypeListFilter { - public BuildFileProjectResourceFilter() { +public class BuildFileProjectResourceFinder extends GenericTypeListFinder { + public BuildFileProjectResourceFinder() { super(BuildFile.class); } } diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/common/migration/actions/DeleteFileMatchingPattern.java b/components/sbm-core/src/main/java/org/springframework/sbm/common/migration/actions/DeleteFileMatchingPattern.java index 7739c55d1..1b18429c7 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/common/migration/actions/DeleteFileMatchingPattern.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/common/migration/actions/DeleteFileMatchingPattern.java @@ -16,7 +16,7 @@ package org.springframework.sbm.common.migration.actions; import lombok.Setter; -import org.springframework.sbm.common.filter.PathPatternMatchingProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.PathPatternMatchingProjectResourceFinder; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.engine.recipe.AbstractAction; import org.springframework.sbm.project.resource.ProjectResource; diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/common/migration/actions/MoveFilesAction.java b/components/sbm-core/src/main/java/org/springframework/sbm/common/migration/actions/MoveFilesAction.java index d3ffbdc63..b802dd442 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/common/migration/actions/MoveFilesAction.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/common/migration/actions/MoveFilesAction.java @@ -18,7 +18,7 @@ import org.springframework.sbm.engine.recipe.AbstractAction; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.project.resource.ProjectResource; -import org.springframework.sbm.common.filter.PathPatternMatchingProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.PathPatternMatchingProjectResourceFinder; import lombok.Getter; import lombok.Setter; diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/common/migration/conditions/FileMatchingPatternExist.java b/components/sbm-core/src/main/java/org/springframework/sbm/common/migration/conditions/FileMatchingPatternExist.java index 6a0df8ea7..d82270d00 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/common/migration/conditions/FileMatchingPatternExist.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/common/migration/conditions/FileMatchingPatternExist.java @@ -16,7 +16,7 @@ package org.springframework.sbm.common.migration.conditions; import lombok.*; -import org.springframework.sbm.common.util.OsAgnosticPathMatcher; +import org.springframework.sbm.utils.OsAgnosticPathMatcher; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.engine.recipe.Condition; import org.springframework.util.PathMatcher; diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/engine/commands/ApplyCommand.java b/components/sbm-core/src/main/java/org/springframework/sbm/engine/commands/ApplyCommand.java index 3ea10fba7..a4de73f14 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/engine/commands/ApplyCommand.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/engine/commands/ApplyCommand.java @@ -16,8 +16,8 @@ package org.springframework.sbm.engine.commands; import org.springframework.beans.factory.config.ConfigurableListableBeanFactory; -import org.springframework.sbm.common.filter.DeletedResourcePathStringFilter; -import org.springframework.sbm.common.filter.ModifiedResourcePathStringFilter; +import org.springframework.sbm.project.resource.finder.DeletedResourcePathStringFilter; +import org.springframework.sbm.project.resource.finder.ModifiedResourcePathStringFilter; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.engine.context.ProjectContextSerializer; import org.springframework.sbm.engine.git.GitSupport; diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/engine/commands/ApplyCommandHelper.java b/components/sbm-core/src/main/java/org/springframework/sbm/engine/commands/ApplyCommandHelper.java index 6b0196178..fddfe3897 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/engine/commands/ApplyCommandHelper.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/engine/commands/ApplyCommandHelper.java @@ -21,8 +21,8 @@ import org.springframework.sbm.engine.recipe.RecipesBuilder; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.engine.context.ProjectContextSerializer; -import org.springframework.sbm.common.filter.DeletedResourcePathStringFilter; -import org.springframework.sbm.common.filter.ModifiedResourcePathStringFilter; +import org.springframework.sbm.project.resource.finder.DeletedResourcePathStringFilter; +import org.springframework.sbm.project.resource.finder.ModifiedResourcePathStringFilter; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Component; diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/engine/context/ProjectContext.java b/components/sbm-core/src/main/java/org/springframework/sbm/engine/context/ProjectContext.java index 70ec4d8fb..e3b0b433a 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/engine/context/ProjectContext.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/engine/context/ProjectContext.java @@ -24,16 +24,17 @@ import org.springframework.sbm.build.api.Module; import org.springframework.sbm.build.api.BuildFile; import org.springframework.sbm.build.api.RootBuildFileFilter; -import org.springframework.sbm.build.filter.BuildFileProjectResourceFilter; -import org.springframework.sbm.engine.recipe.RewriteMigrationResultMerger; +import org.springframework.sbm.build.filter.BuildFileProjectResourceFinder; import org.springframework.sbm.java.api.ProjectJavaSources; import org.springframework.sbm.java.impl.ProjectJavaSourcesImpl; import org.springframework.sbm.java.refactoring.JavaRefactoringFactory; import org.springframework.sbm.java.util.BasePackageCalculator; import org.springframework.sbm.parsers.JavaParserBuilder; import org.springframework.sbm.project.resource.ProjectResourceSet; +import org.springframework.sbm.project.resource.ProjectResourceSetFactory; +import org.springframework.sbm.project.resource.RewriteMigrationResultMerger; import org.springframework.sbm.project.resource.RewriteSourceFileHolder; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; import lombok.Getter; import lombok.Setter; @@ -53,8 +54,9 @@ public class ProjectContext { private final JavaParserBuilder javaParserBuilder; private final ExecutionContext executionContext; private final RewriteMigrationResultMerger rewriteMigrationResultMerger; + private final ProjectResourceSetFactory projectResourceSetFactory; - public ProjectContext(JavaRefactoringFactory javaRefactoringFactory, Path projectRootDirectory, ProjectResourceSet projectResources, BasePackageCalculator basePackageCalculator, JavaParserBuilder javaParserBuilder, ExecutionContext executionContext, RewriteMigrationResultMerger rewriteMigrationResultMerger) { + public ProjectContext(JavaRefactoringFactory javaRefactoringFactory, Path projectRootDirectory, ProjectResourceSet projectResources, BasePackageCalculator basePackageCalculator, JavaParserBuilder javaParserBuilder, ExecutionContext executionContext, RewriteMigrationResultMerger rewriteMigrationResultMerger, ProjectResourceSetFactory projectResourceSetFactory) { this.projectRootDirectory = projectRootDirectory.toAbsolutePath(); this.projectResources = projectResources; this.javaRefactoringFactory = javaRefactoringFactory; @@ -62,6 +64,7 @@ public ProjectContext(JavaRefactoringFactory javaRefactoringFactory, Path projec this.javaParserBuilder = javaParserBuilder; this.executionContext = executionContext; this.rewriteMigrationResultMerger = rewriteMigrationResultMerger; + this.projectResourceSetFactory = projectResourceSetFactory; } public ProjectResourceSet getProjectResources() { @@ -74,7 +77,7 @@ public ProjectResourceSet getProjectResources() { */ @Deprecated(forRemoval = false) public List getModules() { - return search(new BuildFileProjectResourceFilter()).stream() + return search(new BuildFileProjectResourceFinder()).stream() .map(this::mapToModule) .collect(Collectors.toList()); } @@ -92,7 +95,8 @@ private Module mapToModule(BuildFile buildFile) { basePackageCalculator, javaParserBuilder, executionContext, - rewriteMigrationResultMerger + rewriteMigrationResultMerger, + projectResourceSetFactory ); } @@ -128,7 +132,7 @@ public void apply(Recipe upgradeBootRecipe) { .toList(); RecipeRun recipeRun = upgradeBootRecipe.run(new InMemoryLargeSourceSet(ast), executionContext); - rewriteMigrationResultMerger.mergeResults(this, recipeRun.getChangeset().getAllResults()); + rewriteMigrationResultMerger.mergeResults(getProjectResources(), recipeRun.getChangeset().getAllResults()); // recipeRun.getChangeset().getAllResults().stream() // .forEach(r -> { // diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/engine/context/ProjectContextFactory.java b/components/sbm-core/src/main/java/org/springframework/sbm/engine/context/ProjectContextFactory.java index d34ac344b..348fe9c8d 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/engine/context/ProjectContextFactory.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/engine/context/ProjectContextFactory.java @@ -17,14 +17,12 @@ import org.openrewrite.ExecutionContext; import org.springframework.sbm.build.api.BuildFile; -import org.springframework.sbm.build.filter.BuildFileProjectResourceFilter; -import org.springframework.sbm.engine.recipe.RewriteMigrationResultMerger; +import org.springframework.sbm.build.filter.BuildFileProjectResourceFinder; +import org.springframework.sbm.engine.recipe.MigrationResultProjectContextMerger; import org.springframework.sbm.java.refactoring.JavaRefactoringFactory; import org.springframework.sbm.java.impl.ClasspathRegistry; import org.springframework.sbm.java.util.BasePackageCalculator; import org.springframework.sbm.parsers.JavaParserBuilder; -import org.springframework.sbm.parsers.RewriteMavenArtifactDownloader; -import org.springframework.sbm.project.parser.DependencyHelper; import org.springframework.sbm.project.resource.*; import lombok.RequiredArgsConstructor; import org.jetbrains.annotations.NotNull; @@ -45,14 +43,15 @@ public class ProjectContextFactory { private final JavaParserBuilder javaParserBuilder; private final ExecutionContext executionContext; private final RewriteMigrationResultMerger rewriteMigrationResultMerger; + private final ProjectResourceSetFactory projectResourceSetFactory; @NotNull public ProjectContext createProjectContext(Path projectDir, ProjectResourceSet projectResourceSet) { projectResourceSetHolder.setProjectResourceSet(projectResourceSet); applyProjectResourceWrappers(projectResourceSet); - List buildFiles = new BuildFileProjectResourceFilter().apply(projectResourceSet); + List buildFiles = new BuildFileProjectResourceFinder().apply(projectResourceSet); ClasspathRegistry.initializeFromBuildFiles(buildFiles); - ProjectContext projectContext = new ProjectContext(javaRefactoringFactory, projectDir, projectResourceSet, basePackageCalculator, javaParserBuilder, executionContext, rewriteMigrationResultMerger); + ProjectContext projectContext = new ProjectContext(javaRefactoringFactory, projectDir, projectResourceSet, basePackageCalculator, javaParserBuilder, executionContext, rewriteMigrationResultMerger, projectResourceSetFactory); return projectContext; } diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/engine/precondition/JavaSourceDirExistsPreconditionCheck.java b/components/sbm-core/src/main/java/org/springframework/sbm/engine/precondition/JavaSourceDirExistsPreconditionCheck.java index 79587f27b..3cc5b724a 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/engine/precondition/JavaSourceDirExistsPreconditionCheck.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/engine/precondition/JavaSourceDirExistsPreconditionCheck.java @@ -16,7 +16,7 @@ package org.springframework.sbm.engine.precondition; import org.springframework.core.io.Resource; -import org.springframework.sbm.common.util.OsAgnosticPathMatcher; +import org.springframework.sbm.utils.OsAgnosticPathMatcher; import org.springframework.sbm.utils.LinuxWindowsPathUnifier; import org.springframework.stereotype.Component; import org.springframework.util.PathMatcher; diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/MigrationResultProjectContextMerger.java b/components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/MigrationResultProjectContextMerger.java new file mode 100644 index 000000000..346e9192c --- /dev/null +++ b/components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/MigrationResultProjectContextMerger.java @@ -0,0 +1,42 @@ +/* + * Copyright 2021 - 2023 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.sbm.engine.recipe; + +import lombok.RequiredArgsConstructor; +import org.openrewrite.Result; +import org.openrewrite.SourceFile; +import org.springframework.sbm.project.resource.RewriteMigrationResultMerger; +import org.springframework.sbm.project.resource.finder.AbsolutePathResourceFinder; +import org.springframework.sbm.engine.context.ProjectContext; +import org.springframework.sbm.project.RewriteSourceFileWrapper; +import org.springframework.sbm.project.resource.ProjectResourceSet; +import org.springframework.sbm.project.resource.RewriteSourceFileHolder; +import org.springframework.stereotype.Component; + +import java.nio.file.Path; +import java.util.List; +import java.util.Optional; + +@Component +@RequiredArgsConstructor +public class MigrationResultProjectContextMerger { + + private final RewriteMigrationResultMerger rewriteMigrationResultMerger; + + public void mergeResults(ProjectContext context, List results) { + rewriteMigrationResultMerger.mergeResults(context.getProjectResources(), results); + } +} diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/OpenRewriteRecipeAdapterAction.java b/components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/OpenRewriteRecipeAdapterAction.java index 22a017098..fe49f2784 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/OpenRewriteRecipeAdapterAction.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/OpenRewriteRecipeAdapterAction.java @@ -34,7 +34,7 @@ public class OpenRewriteRecipeAdapterAction extends AbstractAction { @JsonIgnore @Autowired - private RewriteMigrationResultMerger resultMerger; + private MigrationResultProjectContextMerger resultMerger; @JsonIgnore @Autowired private ExecutionContext executionContext; diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/OpenRewriteSourceFilesFinder.java b/components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/OpenRewriteSourceFilesFinder.java index c40a6ca74..c2e1dba0a 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/OpenRewriteSourceFilesFinder.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/OpenRewriteSourceFilesFinder.java @@ -18,7 +18,7 @@ import org.openrewrite.SourceFile; import org.springframework.sbm.project.resource.ProjectResourceSet; import org.springframework.sbm.project.resource.RewriteSourceFileHolder; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; import java.util.List; import java.util.stream.Collectors; diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/RewriteRecipeRunner.java b/components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/RewriteRecipeRunner.java index abc1a3d0b..4997c876c 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/RewriteRecipeRunner.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/RewriteRecipeRunner.java @@ -29,7 +29,7 @@ @Component @RequiredArgsConstructor public class RewriteRecipeRunner { - private final RewriteMigrationResultMerger resultMerger; + private final MigrationResultProjectContextMerger resultMerger; private final ExecutionContext executionContext; // FIXME: Make this a method 'apply(org.openrewrite.Recipe)' on ProjectContext, see https://github.com/spring-projects-experimental/spring-boot-migrator/issues/803 diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/java/filter/FindJavaSourceContainingType.java b/components/sbm-core/src/main/java/org/springframework/sbm/java/filter/FindJavaSourceContainingType.java index ea6cf44de..baf823359 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/java/filter/FindJavaSourceContainingType.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/java/filter/FindJavaSourceContainingType.java @@ -19,7 +19,7 @@ import org.springframework.sbm.java.impl.OpenRewriteJavaSource; import org.springframework.sbm.java.impl.OpenRewriteType; import org.springframework.sbm.project.resource.ProjectResourceSet; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; import java.util.Optional; diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/java/filter/JavaSourceListFilter.java b/components/sbm-core/src/main/java/org/springframework/sbm/java/filter/JavaSourceListFinder.java similarity index 81% rename from components/sbm-core/src/main/java/org/springframework/sbm/java/filter/JavaSourceListFilter.java rename to components/sbm-core/src/main/java/org/springframework/sbm/java/filter/JavaSourceListFinder.java index 4a0605090..97e8ce662 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/java/filter/JavaSourceListFilter.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/java/filter/JavaSourceListFinder.java @@ -16,10 +16,10 @@ package org.springframework.sbm.java.filter; import org.springframework.sbm.java.api.JavaSource; -import org.springframework.sbm.project.resource.filter.GenericTypeListFilter; +import org.springframework.sbm.project.resource.finder.GenericTypeListFinder; -public class JavaSourceListFilter extends GenericTypeListFilter { - public JavaSourceListFilter() { +public class JavaSourceListFinder extends GenericTypeListFinder { + public JavaSourceListFinder() { super(JavaSource.class); } } diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/java/filter/OpenRewriteJavaSourceListFilter.java b/components/sbm-core/src/main/java/org/springframework/sbm/java/filter/OpenRewriteJavaSourceListFinder.java similarity index 77% rename from components/sbm-core/src/main/java/org/springframework/sbm/java/filter/OpenRewriteJavaSourceListFilter.java rename to components/sbm-core/src/main/java/org/springframework/sbm/java/filter/OpenRewriteJavaSourceListFinder.java index e4e2e47f4..0b1f06ce0 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/java/filter/OpenRewriteJavaSourceListFilter.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/java/filter/OpenRewriteJavaSourceListFinder.java @@ -16,11 +16,11 @@ package org.springframework.sbm.java.filter; import org.springframework.sbm.java.impl.OpenRewriteJavaSource; -import org.springframework.sbm.project.resource.filter.GenericTypeListFilter; +import org.springframework.sbm.project.resource.finder.GenericTypeListFinder; -public class OpenRewriteJavaSourceListFilter extends GenericTypeListFilter { +public class OpenRewriteJavaSourceListFinder extends GenericTypeListFinder { - public OpenRewriteJavaSourceListFilter() { + public OpenRewriteJavaSourceListFinder() { super(OpenRewriteJavaSource.class); } diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/java/impl/ProjectJavaSourcesImpl.java b/components/sbm-core/src/main/java/org/springframework/sbm/java/impl/ProjectJavaSourcesImpl.java index 1e069280f..90b8f9b3a 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/java/impl/ProjectJavaSourcesImpl.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/java/impl/ProjectJavaSourcesImpl.java @@ -27,7 +27,7 @@ import org.openrewrite.java.tree.TypeUtils; import org.springframework.sbm.java.api.*; import org.springframework.sbm.java.exceptions.UnresolvedTypeException; -import org.springframework.sbm.java.filter.JavaSourceListFilter; +import org.springframework.sbm.java.filter.JavaSourceListFinder; import org.springframework.sbm.java.refactoring.JavaGlobalRefactoring; import org.springframework.sbm.project.resource.ProjectResourceSet; import org.springframework.sbm.project.resource.RewriteSourceFileHolder; @@ -57,7 +57,7 @@ public void apply(Recipe recipe) { @Override public List list() { - return new JavaSourceListFilter().apply(projectResourceSet); + return new JavaSourceListFinder().apply(projectResourceSet); } @Override @@ -68,7 +68,7 @@ public Stream asStream() { @Override public Stream stream() { - return new JavaSourceListFilter().apply(projectResourceSet).stream(); + return new JavaSourceListFinder().apply(projectResourceSet).stream(); } @Override diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/parser/PathScanner.java b/components/sbm-core/src/main/java/org/springframework/sbm/project/parser/PathScanner.java index 3029804ea..f9dfe129e 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/project/parser/PathScanner.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/project/parser/PathScanner.java @@ -17,7 +17,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.core.io.Resource; -import org.springframework.sbm.common.util.OsAgnosticPathMatcher; +import org.springframework.sbm.utils.OsAgnosticPathMatcher; import org.springframework.sbm.project.resource.ResourceHelper; import org.springframework.sbm.project.resource.SbmApplicationProperties; import org.springframework.sbm.utils.LinuxWindowsPathUnifier; diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/parser/ProjectContextInitializer.java b/components/sbm-core/src/main/java/org/springframework/sbm/project/parser/ProjectContextInitializer.java index c4de92626..d688219b3 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/project/parser/ProjectContextInitializer.java +++ b/components/sbm-core/src/main/java/org/springframework/sbm/project/parser/ProjectContextInitializer.java @@ -27,6 +27,7 @@ import org.springframework.sbm.parsers.RewriteProjectParser; import org.springframework.sbm.project.RewriteSourceFileWrapper; import org.springframework.sbm.project.resource.ProjectResourceSet; +import org.springframework.sbm.project.resource.ProjectResourceSetFactory; import org.springframework.sbm.project.resource.RewriteSourceFileHolder; import org.springframework.stereotype.Component; @@ -44,6 +45,7 @@ public class ProjectContextInitializer { private final RewriteSourceFileWrapper rewriteSourceFileWrapper; private final ExecutionContext executionContext; private final ProjectContextHolder projectContextHolder; + private final ProjectResourceSetFactory projectResourceSetFactory; public ProjectContext initProjectContext(Path projectDir, List resources) { final Path absoluteProjectDir = projectDir.toAbsolutePath().normalize(); @@ -53,7 +55,7 @@ public ProjectContext initProjectContext(Path projectDir, List resourc List parsedResources = mavenProjectParser.parse(absoluteProjectDir, resources, executionContext).sourceFiles(); List> rewriteSourceFileHolders = rewriteSourceFileWrapper.wrapRewriteSourceFiles(absoluteProjectDir, parsedResources); - ProjectResourceSet projectResourceSet = new ProjectResourceSet(rewriteSourceFileHolders, executionContext); + ProjectResourceSet projectResourceSet = projectResourceSetFactory.createFromSourceFileHolders(rewriteSourceFileHolders); ProjectContext projectContext = projectContextFactory.createProjectContext(projectDir, projectResourceSet); storeGitCommitHash(projectDir, projectContext); diff --git a/components/sbm-core/src/test/java/org/springframework/sbm/archfitfun/ExecutionScopeArchFitTest.java b/components/sbm-core/src/test/java/org/springframework/sbm/archfitfun/ExecutionScopeArchFitTest.java index 571b1ccab..984fe6631 100644 --- a/components/sbm-core/src/test/java/org/springframework/sbm/archfitfun/ExecutionScopeArchFitTest.java +++ b/components/sbm-core/src/test/java/org/springframework/sbm/archfitfun/ExecutionScopeArchFitTest.java @@ -29,7 +29,6 @@ import org.springframework.sbm.boot.autoconfigure.SbmSupportRewriteConfiguration; import org.springframework.sbm.boot.autoconfigure.ScopeConfiguration; import org.springframework.sbm.build.impl.MavenSettingsInitializer; -import org.springframework.sbm.build.impl.RewriteMavenParser; import org.springframework.sbm.engine.commands.ApplicableRecipeListCommand; import org.springframework.sbm.engine.commands.ApplyCommand; import org.springframework.sbm.engine.commands.ScanCommand; @@ -41,21 +40,16 @@ import org.springframework.sbm.java.refactoring.JavaRefactoringFactoryImpl; import org.springframework.sbm.java.util.BasePackageCalculator; import org.springframework.sbm.parsers.JavaParserBuilder; -import org.springframework.sbm.parsers.RewriteMavenArtifactDownloader; -import org.springframework.sbm.parsers.RewriteParserConfiguration; -import org.springframework.sbm.parsers.RewriteProjectParser; import org.springframework.sbm.project.RewriteSourceFileWrapper; import org.springframework.sbm.project.parser.*; import org.springframework.sbm.project.resource.ProjectResourceSetHolder; import org.springframework.sbm.project.resource.ProjectResourceWrapperRegistry; import org.springframework.sbm.project.resource.ResourceHelper; import org.springframework.sbm.project.resource.SbmApplicationProperties; -import org.springframework.sbm.properties.parser.RewritePropertiesParser; import org.springframework.sbm.scopes.AbstractBaseScope; import org.springframework.sbm.scopes.ExecutionScope; import org.springframework.sbm.scopes.ProjectMetadata; import org.springframework.sbm.scopes.ScanScope; -import org.springframework.sbm.xml.parser.RewriteXmlParser; import org.springframework.test.util.ReflectionTestUtils; import org.springframework.validation.beanvalidation.CustomValidatorBean; @@ -128,7 +122,7 @@ // RewritePlainTextParser.class, // RewriteMavenParser.class, MavenSettingsInitializer.class, - RewriteMigrationResultMerger.class, + MigrationResultProjectContextMerger.class, JavaProvenanceMarkerFactory.class, MavenConfigHandler.class, RewriteSourceFileWrapper.class, diff --git a/components/sbm-core/src/test/java/org/springframework/sbm/build/api/Module_searchMainJava_Test.java b/components/sbm-core/src/test/java/org/springframework/sbm/build/api/Module_searchMainJava_Test.java index 9e1342f56..700a42c18 100644 --- a/components/sbm-core/src/test/java/org/springframework/sbm/build/api/Module_searchMainJava_Test.java +++ b/components/sbm-core/src/test/java/org/springframework/sbm/build/api/Module_searchMainJava_Test.java @@ -25,7 +25,7 @@ import org.springframework.sbm.project.resource.ProjectResourceSet; import org.springframework.sbm.project.resource.RewriteSourceFileHolder; import org.springframework.sbm.project.resource.TestProjectContext; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; import java.nio.file.Path; import java.util.List; diff --git a/components/sbm-core/src/test/java/org/springframework/sbm/build/api/Module_searchMainResources_Test.java b/components/sbm-core/src/test/java/org/springframework/sbm/build/api/Module_searchMainResources_Test.java index 2aa82ec9a..db9b38a0d 100644 --- a/components/sbm-core/src/test/java/org/springframework/sbm/build/api/Module_searchMainResources_Test.java +++ b/components/sbm-core/src/test/java/org/springframework/sbm/build/api/Module_searchMainResources_Test.java @@ -24,7 +24,7 @@ import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.project.resource.RewriteSourceFileHolder; import org.springframework.sbm.project.resource.TestProjectContext; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; import java.nio.file.Path; import java.util.List; diff --git a/components/sbm-core/src/test/java/org/springframework/sbm/build/api/Module_searchTestJava_Test.java b/components/sbm-core/src/test/java/org/springframework/sbm/build/api/Module_searchTestJava_Test.java index 74e26e67c..2292fa389 100644 --- a/components/sbm-core/src/test/java/org/springframework/sbm/build/api/Module_searchTestJava_Test.java +++ b/components/sbm-core/src/test/java/org/springframework/sbm/build/api/Module_searchTestJava_Test.java @@ -25,7 +25,7 @@ import org.springframework.sbm.project.resource.ProjectResourceSet; import org.springframework.sbm.project.resource.RewriteSourceFileHolder; import org.springframework.sbm.project.resource.TestProjectContext; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; import java.nio.file.Path; import java.util.List; diff --git a/components/sbm-core/src/test/java/org/springframework/sbm/build/api/Module_searchTestResources_Test.java b/components/sbm-core/src/test/java/org/springframework/sbm/build/api/Module_searchTestResources_Test.java index 94dea7bce..a21d7183e 100644 --- a/components/sbm-core/src/test/java/org/springframework/sbm/build/api/Module_searchTestResources_Test.java +++ b/components/sbm-core/src/test/java/org/springframework/sbm/build/api/Module_searchTestResources_Test.java @@ -24,7 +24,7 @@ import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.project.resource.RewriteSourceFileHolder; import org.springframework.sbm.project.resource.TestProjectContext; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; import java.util.List; import java.util.concurrent.atomic.AtomicBoolean; diff --git a/components/sbm-core/src/test/java/org/springframework/sbm/common/migration/actions/MoveFilesActionTest.java b/components/sbm-core/src/test/java/org/springframework/sbm/common/migration/actions/MoveFilesActionTest.java index 8e85aadf0..6318f7221 100644 --- a/components/sbm-core/src/test/java/org/springframework/sbm/common/migration/actions/MoveFilesActionTest.java +++ b/components/sbm-core/src/test/java/org/springframework/sbm/common/migration/actions/MoveFilesActionTest.java @@ -17,7 +17,7 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; -import org.springframework.sbm.common.filter.PathPatternMatchingProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.PathPatternMatchingProjectResourceFinder; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.project.resource.InternalProjectResource; import org.springframework.sbm.project.resource.ProjectResource; diff --git a/components/sbm-core/src/test/java/org/springframework/sbm/common/util/OsAgnosticPathMatcherTest.java b/components/sbm-core/src/test/java/org/springframework/sbm/common/util/OsAgnosticPathMatcherTest.java index 2377fbe06..6451f90af 100644 --- a/components/sbm-core/src/test/java/org/springframework/sbm/common/util/OsAgnosticPathMatcherTest.java +++ b/components/sbm-core/src/test/java/org/springframework/sbm/common/util/OsAgnosticPathMatcherTest.java @@ -16,10 +16,10 @@ package org.springframework.sbm.common.util; import org.junit.jupiter.api.AfterEach; -import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.CsvSource; +import org.springframework.sbm.utils.OsAgnosticPathMatcher; import org.springframework.util.PathMatcher; import static org.assertj.core.api.Assertions.assertThat; diff --git a/components/sbm-core/src/test/java/org/springframework/sbm/engine/recipe/OpenRewriteDeclarativeRecipeAdapterIntegrationTest.java b/components/sbm-core/src/test/java/org/springframework/sbm/engine/recipe/OpenRewriteDeclarativeRecipeAdapterIntegrationTest.java index 13164711f..67d337c37 100644 --- a/components/sbm-core/src/test/java/org/springframework/sbm/engine/recipe/OpenRewriteDeclarativeRecipeAdapterIntegrationTest.java +++ b/components/sbm-core/src/test/java/org/springframework/sbm/engine/recipe/OpenRewriteDeclarativeRecipeAdapterIntegrationTest.java @@ -40,7 +40,7 @@ ResourceHelper.class, ActionDeserializerRegistry.class, DefaultActionDeserializer.class, - RewriteMigrationResultMerger.class, + MigrationResultProjectContextMerger.class, RewriteSourceFileWrapper.class, CustomValidatorBean.class, RewriteExecutionContext.class, diff --git a/components/sbm-core/src/test/java/org/springframework/sbm/engine/recipe/OpenRewriteNamedRecipeAdapterIntegrationTest.java b/components/sbm-core/src/test/java/org/springframework/sbm/engine/recipe/OpenRewriteNamedRecipeAdapterIntegrationTest.java index c6bb48f40..b8ac480a0 100644 --- a/components/sbm-core/src/test/java/org/springframework/sbm/engine/recipe/OpenRewriteNamedRecipeAdapterIntegrationTest.java +++ b/components/sbm-core/src/test/java/org/springframework/sbm/engine/recipe/OpenRewriteNamedRecipeAdapterIntegrationTest.java @@ -41,7 +41,7 @@ ResourceHelper.class, ActionDeserializerRegistry.class, DefaultActionDeserializer.class, - RewriteMigrationResultMerger.class, + MigrationResultProjectContextMerger.class, RewriteSourceFileWrapper.class, RewriteRecipeLoader.class, CustomValidatorBean.class, diff --git a/components/sbm-core/src/test/java/org/springframework/sbm/project/parser/ProjectContextInitializerTest.java b/components/sbm-core/src/test/java/org/springframework/sbm/project/parser/ProjectContextInitializerTest.java index 5882ace31..61c6c253f 100644 --- a/components/sbm-core/src/test/java/org/springframework/sbm/project/parser/ProjectContextInitializerTest.java +++ b/components/sbm-core/src/test/java/org/springframework/sbm/project/parser/ProjectContextInitializerTest.java @@ -43,7 +43,7 @@ import org.springframework.sbm.engine.context.ProjectRootPathResolver; import org.springframework.sbm.engine.git.GitSupport; import org.springframework.sbm.engine.precondition.PreconditionVerifier; -import org.springframework.sbm.engine.recipe.RewriteMigrationResultMerger; +import org.springframework.sbm.engine.recipe.MigrationResultProjectContextMerger; import org.springframework.sbm.java.impl.RewriteJavaParser; import org.springframework.sbm.java.refactoring.JavaRefactoringFactoryImpl; import org.springframework.sbm.java.util.BasePackageCalculator; @@ -77,7 +77,7 @@ ProjectContextFactory.class, MavenPomCacheProvider.class, SbmApplicationProperties.class, - RewriteMigrationResultMerger.class, + MigrationResultProjectContextMerger.class, PathScanner.class, RewriteJavaParser.class, RewritePlainTextParser.class, diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade/common/actions/CreateAutoconfigurationAction.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade/common/actions/CreateAutoconfigurationAction.java index 2a535d494..0c758de6e 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade/common/actions/CreateAutoconfigurationAction.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade/common/actions/CreateAutoconfigurationAction.java @@ -21,7 +21,7 @@ import org.openrewrite.ExecutionContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.sbm.build.api.Module; -import org.springframework.sbm.common.filter.PathPatternMatchingProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.PathPatternMatchingProjectResourceFinder; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.engine.recipe.AbstractAction; import org.springframework.sbm.project.resource.ProjectResource; diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade/common/conditions/BootHasAutoconfigurationCondition.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade/common/conditions/BootHasAutoconfigurationCondition.java index b7b3048bc..61141e028 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade/common/conditions/BootHasAutoconfigurationCondition.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade/common/conditions/BootHasAutoconfigurationCondition.java @@ -15,7 +15,7 @@ */ package org.springframework.sbm.boot.upgrade.common.conditions; -import org.springframework.sbm.common.filter.PathPatternMatchingProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.PathPatternMatchingProjectResourceFinder; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.engine.recipe.Condition; diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/actions/Boot_24_25_CreateDatasourceInitializerAction.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/actions/Boot_24_25_CreateDatasourceInitializerAction.java index 883c2f00c..d9bff5de2 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/actions/Boot_24_25_CreateDatasourceInitializerAction.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/actions/Boot_24_25_CreateDatasourceInitializerAction.java @@ -20,7 +20,7 @@ import freemarker.template.Template; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.boot.upgrade_24_25.filter.CreateDatasourceInitializerAnalyzer; import org.springframework.sbm.build.MultiModuleApplicationNotSupportedException; import org.springframework.sbm.build.api.Module; @@ -44,7 +44,7 @@ public class Boot_24_25_CreateDatasourceInitializerAction extends AbstractAction public void apply(ProjectContext context) { if (context.getApplicationModules().isSingleModuleApplication()) { Module module = context.getApplicationModules().getRootModule(); - List applicationProperties = context.search(new SpringBootApplicationPropertiesResourceListFilter()); + List applicationProperties = context.search(new SpringBootApplicationPropertiesResourceListFinder()); applyToModule(module, applicationProperties); } else { throw new MultiModuleApplicationNotSupportedException("Action can only be applied to applications with single module."); diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/actions/Boot_24_25_SqlScriptDataSourceInitializationAction.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/actions/Boot_24_25_SqlScriptDataSourceInitializationAction.java index a0b17a9e0..1b2300991 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/actions/Boot_24_25_SqlScriptDataSourceInitializationAction.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/actions/Boot_24_25_SqlScriptDataSourceInitializationAction.java @@ -15,18 +15,18 @@ */ package org.springframework.sbm.boot.upgrade_24_25.actions; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.engine.recipe.AbstractAction; import org.springframework.sbm.boot.upgrade_24_25.filter.SqlScriptDataSourceInitializationPropertiesAnalyzer; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; import java.util.List; public class Boot_24_25_SqlScriptDataSourceInitializationAction extends AbstractAction { @Override public void apply(ProjectContext context) { - List springBootApplicationProperties = context.search(new SpringBootApplicationPropertiesResourceListFilter()); + List springBootApplicationProperties = context.search(new SpringBootApplicationPropertiesResourceListFinder()); List properties = new SqlScriptDataSourceInitializationPropertiesAnalyzer().findDeprecatedProperties(springBootApplicationProperties); properties.forEach(deprecatedPropertyMatch -> { deprecatedPropertyMatch.getSpringBootApplicationProperties().renameProperty(deprecatedPropertyMatch.getDeprecatedPropery(), deprecatedPropertyMatch.getNewProperty()); diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/conditions/Boot_24_25_SqlScriptDataSourceInitializationCondition.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/conditions/Boot_24_25_SqlScriptDataSourceInitializationCondition.java index 25b137b31..f14ed2f74 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/conditions/Boot_24_25_SqlScriptDataSourceInitializationCondition.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/conditions/Boot_24_25_SqlScriptDataSourceInitializationCondition.java @@ -16,7 +16,7 @@ package org.springframework.sbm.boot.upgrade_24_25.conditions; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.boot.upgrade_24_25.filter.SqlScriptDataSourceInitializationPropertiesAnalyzer; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.engine.recipe.Condition; @@ -31,7 +31,7 @@ public String getDescription() { @Override public boolean evaluate(ProjectContext context) { - List filteredResources = context.search(new SpringBootApplicationPropertiesResourceListFilter()); + List filteredResources = context.search(new SpringBootApplicationPropertiesResourceListFinder()); List properties = new SqlScriptDataSourceInitializationPropertiesAnalyzer().findDeprecatedProperties(filteredResources); return !properties.isEmpty(); } diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/filter/CreateDatasourceInitializerAnalyzer.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/filter/CreateDatasourceInitializerAnalyzer.java index 0f050ae46..9412c73c5 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/filter/CreateDatasourceInitializerAnalyzer.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/filter/CreateDatasourceInitializerAnalyzer.java @@ -15,11 +15,11 @@ */ package org.springframework.sbm.boot.upgrade_24_25.filter; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.build.api.Module; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; import org.springframework.sbm.project.resource.ProjectResource; -import org.springframework.sbm.common.filter.PathPatternMatchingProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.PathPatternMatchingProjectResourceFinder; import java.util.List; import java.util.stream.Collectors; @@ -45,17 +45,17 @@ public List findSchemaAndDataFiles(Module module) { } public List findPropertyFilesContainingDataUsernameProperty(Module module) { - List applicationProperties = module.search(new SpringBootApplicationPropertiesResourceListFilter()); + List applicationProperties = module.search(new SpringBootApplicationPropertiesResourceListFinder()); return findPropertyFilesContainingProperty(applicationProperties, "spring.datasource.data-username"); } public List findPropertyFilesContainingDataPasswordProperty(Module context) { - List applicationProperties = context.search(new SpringBootApplicationPropertiesResourceListFilter()); + List applicationProperties = context.search(new SpringBootApplicationPropertiesResourceListFinder()); return findPropertyFilesContainingProperty(applicationProperties, "spring.datasource.data-password"); } public List findPropertyFilesContainingSchemaUsernameProperty(Module context) { - List applicationProperties = context.search(new SpringBootApplicationPropertiesResourceListFilter()); + List applicationProperties = context.search(new SpringBootApplicationPropertiesResourceListFinder()); return findPropertyFilesContainingProperty(applicationProperties, "spring.datasource.schema-username"); } } diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SchemaSqlAndDataSqlFiles.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SchemaSqlAndDataSqlFiles.java index 79954cb8c..8fbad3ecc 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SchemaSqlAndDataSqlFiles.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SchemaSqlAndDataSqlFiles.java @@ -22,7 +22,7 @@ import org.springframework.sbm.boot.asciidoctor.TodoList; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.project.resource.ProjectResource; -import org.springframework.sbm.common.filter.PathPatternMatchingProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.PathPatternMatchingProjectResourceFinder; import org.springframework.stereotype.Component; import java.nio.file.Path; diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SqlScriptDataSourceInitialization.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SqlScriptDataSourceInitialization.java index 4c04f44b6..c11841ab3 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SqlScriptDataSourceInitialization.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_24_25/report/Boot_24_25_SqlScriptDataSourceInitialization.java @@ -18,11 +18,11 @@ import org.springframework.core.annotation.Order; import org.springframework.sbm.boot.UpgradeSectionBuilder; import org.springframework.sbm.boot.asciidoctor.*; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.boot.upgrade_24_25.conditions.Boot_24_25_SqlScriptDataSourceInitializationCondition; import org.springframework.sbm.boot.upgrade_24_25.filter.SqlScriptDataSourceInitializationPropertiesAnalyzer; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; import org.springframework.stereotype.Component; import java.util.Comparator; @@ -36,7 +36,7 @@ public class Boot_24_25_SqlScriptDataSourceInitialization implements UpgradeSect @Override public boolean isApplicable(ProjectContext projectContext) { return new Boot_24_25_SqlScriptDataSourceInitializationCondition().evaluate(projectContext); -// List filteredResources = projectContext.search(new SpringBootApplicationPropertiesResourceListFilter()); +// List filteredResources = projectContext.search(new SpringBootApplicationPropertiesResourceListFinder()); // List properties = new SqlScriptDataSourceInitializationPropertiesAnalyzer().findDeprecatedProperties(filteredResources); // return !properties.isEmpty(); } @@ -44,7 +44,7 @@ public boolean isApplicable(ProjectContext projectContext) { @Override public Section build(ProjectContext projectContext) { - List filteredResources = projectContext.search(new SpringBootApplicationPropertiesResourceListFilter()); + List filteredResources = projectContext.search(new SpringBootApplicationPropertiesResourceListFinder()); List deprecatedProperties = new SqlScriptDataSourceInitializationPropertiesAnalyzer().findDeprecatedProperties(filteredResources); Table.Builder tableBuilder = Table.builder(); diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/checks/ApacheSolrRepositoryBeanFinder.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/checks/ApacheSolrRepositoryBeanFinder.java index dd3b6f0fb..64ec4c0d5 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/checks/ApacheSolrRepositoryBeanFinder.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/checks/ApacheSolrRepositoryBeanFinder.java @@ -18,7 +18,7 @@ import org.springframework.sbm.java.api.JavaSourceAndType; import org.springframework.sbm.java.impl.OpenRewriteJavaSource; import org.springframework.sbm.project.resource.ProjectResourceSet; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; import org.springframework.stereotype.Component; import java.util.List; diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/filter/JmxEndpointExposureFinder.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/filter/JmxEndpointExposureFinder.java index 57726c37a..e70f7667f 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/filter/JmxEndpointExposureFinder.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/filter/JmxEndpointExposureFinder.java @@ -16,9 +16,9 @@ package org.springframework.sbm.boot.upgrade_27_30.filter; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.project.resource.ProjectResourceSet; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; import org.springframework.sbm.properties.api.PropertiesSource; import java.util.List; @@ -28,7 +28,7 @@ public class JmxEndpointExposureFinder implements ProjectResourceFinder apply(ProjectResourceSet projectResourceSet) { - List springBootApplicationProperties = new SpringBootApplicationPropertiesResourceListFilter().apply(projectResourceSet); + List springBootApplicationProperties = new SpringBootApplicationPropertiesResourceListFinder().apply(projectResourceSet); return springBootApplicationProperties.stream() .filter(find -> find.getProperty(JMX_ENDPOINT_KEY).isPresent()) .toList(); diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/filter/LoggingDateFormatPropertyFinder.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/filter/LoggingDateFormatPropertyFinder.java index 36d65d7b9..ed87df383 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/filter/LoggingDateFormatPropertyFinder.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/filter/LoggingDateFormatPropertyFinder.java @@ -17,18 +17,12 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; -import org.springframework.sbm.common.filter.PathPatternMatchingProjectResourceFinder; -import org.springframework.sbm.project.resource.ProjectResource; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.project.resource.ProjectResourceSet; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; import org.springframework.sbm.properties.api.PropertiesSource; -import java.io.IOException; -import java.io.StringReader; import java.util.List; -import java.util.Properties; -import java.util.stream.Collectors; @Slf4j public class LoggingDateFormatPropertyFinder implements ProjectResourceFinder> { @@ -37,7 +31,7 @@ public class LoggingDateFormatPropertyFinder implements ProjectResourceFinder
  • apply(ProjectResourceSet projectResourceSet) { - List springBootApplicationProperties = new SpringBootApplicationPropertiesResourceListFilter().apply(projectResourceSet); + List springBootApplicationProperties = new SpringBootApplicationPropertiesResourceListFinder().apply(projectResourceSet); return springBootApplicationProperties.stream() .filter(x -> x.getProperty(LOGGING_DATE_FORMAT_KEY).isPresent()) diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/report/helper/ChangesToDataPropertiesHelper.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/report/helper/ChangesToDataPropertiesHelper.java index 36fa148a9..acd9d8963 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/report/helper/ChangesToDataPropertiesHelper.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/report/helper/ChangesToDataPropertiesHelper.java @@ -19,8 +19,7 @@ import lombok.RequiredArgsConstructor; import org.springframework.sbm.boot.common.conditions.IsSpringBootProject; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; -import org.springframework.sbm.boot.upgrade_27_30.report.SpringBootUpgradeReportSection; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.boot.upgrade_27_30.report.SpringBootUpgradeReportSectionHelper; import org.springframework.sbm.build.migration.conditions.NoDependencyExistMatchingRegex; import org.springframework.sbm.engine.context.ProjectContext; @@ -59,7 +58,7 @@ public boolean evaluate(ProjectContext context) { boolean noDepExists = new NoDependencyExistMatchingRegex(List.of("org\\.springframework\\.data\\:.*")).evaluate( context); List search = context - .search(new SpringBootApplicationPropertiesResourceListFilter()); + .search(new SpringBootApplicationPropertiesResourceListFinder()); data = new HashMap<>(); diff --git a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/report/helper/SpringFactoriesHelper.java b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/report/helper/SpringFactoriesHelper.java index 164a2f5b2..54ad6cf6d 100644 --- a/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/report/helper/SpringFactoriesHelper.java +++ b/components/sbm-recipes-boot-upgrade/src/main/java/org/springframework/sbm/boot/upgrade_27_30/report/helper/SpringFactoriesHelper.java @@ -16,13 +16,12 @@ package org.springframework.sbm.boot.upgrade_27_30.report.helper; import org.springframework.sbm.boot.upgrade_27_30.report.SpringBootUpgradeReportSectionHelper; -import org.springframework.sbm.common.filter.PathPatternMatchingProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.PathPatternMatchingProjectResourceFinder; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.project.resource.ProjectResource; import java.io.ByteArrayInputStream; import java.io.IOException; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Properties; diff --git a/components/sbm-recipes-boot-upgrade/src/test/java/org/springframework/sbm/boot/upgrade/common/actions/CreateAutoconfigurationActionTest.java b/components/sbm-recipes-boot-upgrade/src/test/java/org/springframework/sbm/boot/upgrade/common/actions/CreateAutoconfigurationActionTest.java index ccf71357f..1cbe2456b 100644 --- a/components/sbm-recipes-boot-upgrade/src/test/java/org/springframework/sbm/boot/upgrade/common/actions/CreateAutoconfigurationActionTest.java +++ b/components/sbm-recipes-boot-upgrade/src/test/java/org/springframework/sbm/boot/upgrade/common/actions/CreateAutoconfigurationActionTest.java @@ -18,7 +18,7 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.springframework.sbm.common.filter.PathPatternMatchingProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.PathPatternMatchingProjectResourceFinder; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.project.resource.ProjectResource; import org.springframework.sbm.project.resource.TestProjectContext; diff --git a/components/sbm-recipes-boot-upgrade/src/test/java/org/springframework/sbm/boot/upgrade_24_25/actions/Boot_24_25_SqlScriptDataSourceInitializationActionTest.java b/components/sbm-recipes-boot-upgrade/src/test/java/org/springframework/sbm/boot/upgrade_24_25/actions/Boot_24_25_SqlScriptDataSourceInitializationActionTest.java index d9acf5f3b..785a42d36 100644 --- a/components/sbm-recipes-boot-upgrade/src/test/java/org/springframework/sbm/boot/upgrade_24_25/actions/Boot_24_25_SqlScriptDataSourceInitializationActionTest.java +++ b/components/sbm-recipes-boot-upgrade/src/test/java/org/springframework/sbm/boot/upgrade_24_25/actions/Boot_24_25_SqlScriptDataSourceInitializationActionTest.java @@ -16,10 +16,10 @@ package org.springframework.sbm.boot.upgrade_24_25.actions; import org.springframework.sbm.boot.properties.SpringApplicationPropertiesPathMatcher; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; import org.springframework.sbm.boot.properties.SpringBootApplicationPropertiesRegistrar; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; import org.springframework.sbm.parsers.RewriteExecutionContext; import org.springframework.sbm.project.resource.TestProjectContext; import org.junit.jupiter.api.Test; @@ -47,7 +47,7 @@ void apply_withAllPropertiesInOneFile() { Boot_24_25_SqlScriptDataSourceInitializationAction sut = new Boot_24_25_SqlScriptDataSourceInitializationAction(); sut.apply(projectContext); - List filteredResources = projectContext.search(new SpringBootApplicationPropertiesResourceListFilter()); + List filteredResources = projectContext.search(new SpringBootApplicationPropertiesResourceListFinder()); SpringBootApplicationProperties properties = filteredResources.get(0); assertThat(properties.getProperty("spring.sql.init.continue-on-error").get()).isEqualTo("spring.sql.init.continue-on-error"); @@ -70,12 +70,12 @@ void apply_withPropertiesInTwoFiles() { Boot_24_25_SqlScriptDataSourceInitializationAction sut = new Boot_24_25_SqlScriptDataSourceInitializationAction(); sut.apply(projectContext); - SpringBootApplicationProperties properties = projectContext.search(new SpringBootApplicationPropertiesResourceListFilter()).get(0); + SpringBootApplicationProperties properties = projectContext.search(new SpringBootApplicationPropertiesResourceListFinder()).get(0); assertThat(properties.getProperty("spring.sql.init.continue-on-error").get()).isEqualTo("spring.sql.init.continue-on-error"); assertThat(properties.getProperty("spring.sql.init.separator").get()).isEqualTo("spring.sql.init.separator"); - SpringBootApplicationProperties properties2 = projectContext.search(new SpringBootApplicationPropertiesResourceListFilter()).get(1); + SpringBootApplicationProperties properties2 = projectContext.search(new SpringBootApplicationPropertiesResourceListFinder()).get(1); assertThat(properties2.getProperty("spring.sql.init.continue-on-error").get()).isEqualTo("spring.sql.init.continue-on-error"); assertThat(properties2.getProperty("spring.sql.init.separator").get()).isEqualTo("spring.sql.init.separator"); } @@ -91,7 +91,7 @@ void apply_withOnlySchemaCredentials() { Boot_24_25_SqlScriptDataSourceInitializationAction sut = new Boot_24_25_SqlScriptDataSourceInitializationAction(); sut.apply(projectContext); - SpringBootApplicationProperties properties = projectContext.search(new SpringBootApplicationPropertiesResourceListFilter()).get(0); + SpringBootApplicationProperties properties = projectContext.search(new SpringBootApplicationPropertiesResourceListFinder()).get(0); assertThat(properties.getProperty("spring.sql.init.password").get()).isEqualTo("spring.sql.init.password"); assertThat(properties.getProperty("spring.sql.init.username").get()).isEqualTo("spring.sql.init.username"); @@ -108,7 +108,7 @@ void apply_withOnlyDataCredentials() { Boot_24_25_SqlScriptDataSourceInitializationAction sut = new Boot_24_25_SqlScriptDataSourceInitializationAction(); sut.apply(projectContext); - SpringBootApplicationProperties properties = projectContext.search(new SpringBootApplicationPropertiesResourceListFilter()).get(0); + SpringBootApplicationProperties properties = projectContext.search(new SpringBootApplicationPropertiesResourceListFinder()).get(0); assertThat(properties.getProperty("spring.sql.init.password").get()).isEqualTo("spring.sql.init.password"); assertThat(properties.getProperty("spring.sql.init.username").get()).isEqualTo("spring.sql.init.username"); @@ -127,7 +127,7 @@ void apply_withSchemaAndDateCredentialsButSameName() { Boot_24_25_SqlScriptDataSourceInitializationAction sut = new Boot_24_25_SqlScriptDataSourceInitializationAction(); sut.apply(projectContext); - SpringBootApplicationProperties properties = projectContext.search(new SpringBootApplicationPropertiesResourceListFilter()).get(0); + SpringBootApplicationProperties properties = projectContext.search(new SpringBootApplicationPropertiesResourceListFinder()).get(0); assertThat(properties.getProperty("spring.sql.init.password").get()).isEqualTo("spring.sql.init.password"); assertThat(properties.getProperty("spring.sql.init.username").get()).isEqualTo("spring.sql.init.username"); @@ -146,7 +146,7 @@ void apply_withSchemaAndDateCredentialsButDifferentNames() { Boot_24_25_SqlScriptDataSourceInitializationAction sut = new Boot_24_25_SqlScriptDataSourceInitializationAction(); sut.apply(projectContext); - SpringBootApplicationProperties properties = projectContext.search(new SpringBootApplicationPropertiesResourceListFilter()).get(0); + SpringBootApplicationProperties properties = projectContext.search(new SpringBootApplicationPropertiesResourceListFinder()).get(0); assertThat(properties.getProperty("spring.datasource.data-password").get()).isEqualTo("spring.sql.init.password"); assertThat(properties.getProperty("spring.datasource.data-username").get()).isEqualTo("NAME_1"); @@ -170,10 +170,10 @@ void apply_withSchemaAndDateCredentialsButDifferentNamesInTwoFiles() { Boot_24_25_SqlScriptDataSourceInitializationAction sut = new Boot_24_25_SqlScriptDataSourceInitializationAction(); sut.apply(projectContext); - SpringBootApplicationProperties properties = projectContext.search(new SpringBootApplicationPropertiesResourceListFilter()).get(0); + SpringBootApplicationProperties properties = projectContext.search(new SpringBootApplicationPropertiesResourceListFinder()).get(0); assertThat(properties.getProperty("spring.datasource.data-password").get()).isEqualTo("spring.sql.init.password"); assertThat(properties.getProperty("spring.datasource.data-username").get()).isEqualTo("NAME_1"); - SpringBootApplicationProperties properties2 = projectContext.search(new SpringBootApplicationPropertiesResourceListFilter()).get(1); + SpringBootApplicationProperties properties2 = projectContext.search(new SpringBootApplicationPropertiesResourceListFinder()).get(1); assertThat(properties2.getProperty("spring.datasource.schema-password").get()).isEqualTo("spring.sql.init.password"); assertThat(properties2.getProperty("spring.datasource.schema-username").get()).isEqualTo("NAME_2"); } diff --git a/components/sbm-recipes-boot-upgrade/src/test/java/org/springframework/sbm/boot/upgrade_27_30/actions/Boot_27_30_AddLoggingDateFormatTest.java b/components/sbm-recipes-boot-upgrade/src/test/java/org/springframework/sbm/boot/upgrade_27_30/actions/Boot_27_30_AddLoggingDateFormatTest.java index 9418f2326..796520130 100644 --- a/components/sbm-recipes-boot-upgrade/src/test/java/org/springframework/sbm/boot/upgrade_27_30/actions/Boot_27_30_AddLoggingDateFormatTest.java +++ b/components/sbm-recipes-boot-upgrade/src/test/java/org/springframework/sbm/boot/upgrade_27_30/actions/Boot_27_30_AddLoggingDateFormatTest.java @@ -19,7 +19,7 @@ import org.springframework.sbm.boot.properties.SpringApplicationPropertiesPathMatcher; import org.springframework.sbm.boot.properties.SpringBootApplicationPropertiesRegistrar; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.parsers.RewriteExecutionContext; import org.springframework.sbm.project.resource.TestProjectContext; @@ -43,7 +43,7 @@ public void givenAProjectWithoutLoggingDateFormatOverride_andSpringBootPropertie Boot_27_30_AddLoggingDateFormat action = new Boot_27_30_AddLoggingDateFormat(); action.apply(projectContext); - List bootApplicationProperties = new SpringBootApplicationPropertiesResourceListFilter().apply(projectContext.getProjectResources()); + List bootApplicationProperties = new SpringBootApplicationPropertiesResourceListFinder().apply(projectContext.getProjectResources()); assertThat(bootApplicationProperties.size()).isEqualTo(1); assertThat(bootApplicationProperties.get(0).getProperty("logging.pattern.dateformat").isPresent()).isTrue(); } diff --git a/components/sbm-recipes-boot-upgrade/src/test/java/org/springframework/sbm/boot/upgrade_27_30/actions/Boot_27_30_JmxEndpointExposureActionTest.java b/components/sbm-recipes-boot-upgrade/src/test/java/org/springframework/sbm/boot/upgrade_27_30/actions/Boot_27_30_JmxEndpointExposureActionTest.java index 7b8436cb3..5f7820e94 100644 --- a/components/sbm-recipes-boot-upgrade/src/test/java/org/springframework/sbm/boot/upgrade_27_30/actions/Boot_27_30_JmxEndpointExposureActionTest.java +++ b/components/sbm-recipes-boot-upgrade/src/test/java/org/springframework/sbm/boot/upgrade_27_30/actions/Boot_27_30_JmxEndpointExposureActionTest.java @@ -19,7 +19,7 @@ import org.springframework.sbm.boot.properties.SpringApplicationPropertiesPathMatcher; import org.springframework.sbm.boot.properties.SpringBootApplicationPropertiesRegistrar; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.parsers.RewriteExecutionContext; import org.springframework.sbm.project.resource.TestProjectContext; @@ -42,7 +42,7 @@ public void givenAProjectWithoutJmxEndpointExposureOverride_andSpringBootPropert Boot_27_30_JmxEndpointExposureAction boot_27_30_jmxEndpointExposureAction = new Boot_27_30_JmxEndpointExposureAction(); boot_27_30_jmxEndpointExposureAction.apply(projectContext); - List bootApplicationProperties = new SpringBootApplicationPropertiesResourceListFilter().apply(projectContext.getProjectResources()); + List bootApplicationProperties = new SpringBootApplicationPropertiesResourceListFinder().apply(projectContext.getProjectResources()); assertThat(bootApplicationProperties.size()).isEqualTo(1); assertThat(bootApplicationProperties.get(0).getProperty("management.endpoints.jmx.exposure.include").isPresent()).isTrue(); diff --git a/components/sbm-recipes-jee-to-boot/src/main/java/org/springframework/sbm/jee/jaxws/GenerateWebServices.java b/components/sbm-recipes-jee-to-boot/src/main/java/org/springframework/sbm/jee/jaxws/GenerateWebServices.java index b3800fd8b..0dbba9875 100644 --- a/components/sbm-recipes-jee-to-boot/src/main/java/org/springframework/sbm/jee/jaxws/GenerateWebServices.java +++ b/components/sbm-recipes-jee-to-boot/src/main/java/org/springframework/sbm/jee/jaxws/GenerateWebServices.java @@ -29,7 +29,6 @@ import freemarker.template.Configuration; import freemarker.template.Template; import org.apache.commons.io.FilenameUtils; -import org.openrewrite.InMemoryExecutionContext; import org.openrewrite.Parser; import org.openrewrite.xml.XmlParser; import org.openrewrite.xml.tree.Xml; diff --git a/components/sbm-recipes-jee-to-boot/src/main/java/org/springframework/sbm/jee/jpa/actions/MigrateEclipseLinkToSpringBoot.java b/components/sbm-recipes-jee-to-boot/src/main/java/org/springframework/sbm/jee/jpa/actions/MigrateEclipseLinkToSpringBoot.java index b6b0f5c52..4da56ec67 100644 --- a/components/sbm-recipes-jee-to-boot/src/main/java/org/springframework/sbm/jee/jpa/actions/MigrateEclipseLinkToSpringBoot.java +++ b/components/sbm-recipes-jee-to-boot/src/main/java/org/springframework/sbm/jee/jpa/actions/MigrateEclipseLinkToSpringBoot.java @@ -28,7 +28,7 @@ import org.springframework.sbm.java.api.ProjectJavaSources; import org.springframework.sbm.java.util.BasePackageCalculator; import org.springframework.sbm.jee.jpa.api.PersistenceXml; -import org.springframework.sbm.jee.jpa.filter.PersistenceXmlResourceFilter; +import org.springframework.sbm.jee.jpa.filter.PersistenceXmlResourceFinder; import java.io.StringWriter; import java.nio.file.Path; @@ -289,7 +289,7 @@ private List createExcludedDependencies() { private List extractEclipseLinkProperties(Module module) { List springBootJpaProperties = new ArrayList<>(); - Optional optPersistenceXml = module.search(new PersistenceXmlResourceFilter()); + Optional optPersistenceXml = module.search(new PersistenceXmlResourceFinder()); return optPersistenceXml.map(persistenceXml -> persistenceXml.getPersistence().getPersistenceUnit().get(0) // FIXME: should multiple persistence-units be handled or fail? .getProperties()) .filter(not(properties -> properties.getProperty().isEmpty())) diff --git a/components/sbm-recipes-jee-to-boot/src/main/java/org/springframework/sbm/jee/jpa/actions/MigratePersistenceXmlToApplicationPropertiesAction.java b/components/sbm-recipes-jee-to-boot/src/main/java/org/springframework/sbm/jee/jpa/actions/MigratePersistenceXmlToApplicationPropertiesAction.java index 0c73bac8a..e25d63425 100644 --- a/components/sbm-recipes-jee-to-boot/src/main/java/org/springframework/sbm/jee/jpa/actions/MigratePersistenceXmlToApplicationPropertiesAction.java +++ b/components/sbm-recipes-jee-to-boot/src/main/java/org/springframework/sbm/jee/jpa/actions/MigratePersistenceXmlToApplicationPropertiesAction.java @@ -20,13 +20,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.sbm.boot.properties.actions.AddSpringBootApplicationPropertiesAction; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.build.api.Module; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.engine.recipe.AbstractAction; import org.springframework.sbm.jee.jpa.api.Persistence; import org.springframework.sbm.jee.jpa.api.PersistenceXml; -import org.springframework.sbm.jee.jpa.filter.PersistenceXmlResourceFilter; +import org.springframework.sbm.jee.jpa.filter.PersistenceXmlResourceFinder; import java.util.List; @@ -39,16 +39,16 @@ public class MigratePersistenceXmlToApplicationPropertiesAction extends Abstract @Override public void apply(ProjectContext context) { Module module = context.getApplicationModules().stream() - .filter(m -> m.search(new PersistenceXmlResourceFilter()).isPresent()) + .filter(m -> m.search(new PersistenceXmlResourceFinder()).isPresent()) .findFirst() .orElseThrow(() -> new RuntimeException("No file 'META-INF/persistence.xml' could be found.")); - PersistenceXml persistenceXml = module.search(new PersistenceXmlResourceFilter()).get(); - List applicationProperties = module.search(new SpringBootApplicationPropertiesResourceListFilter()); + PersistenceXml persistenceXml = module.search(new PersistenceXmlResourceFinder()).get(); + List applicationProperties = module.search(new SpringBootApplicationPropertiesResourceListFinder()); if (applicationProperties.isEmpty()) { AddSpringBootApplicationPropertiesAction addSpringBootApplicationPropertiesAction = new AddSpringBootApplicationPropertiesAction(executionContext); addSpringBootApplicationPropertiesAction.apply(module); - applicationProperties = context.search(new SpringBootApplicationPropertiesResourceListFilter()); + applicationProperties = context.search(new SpringBootApplicationPropertiesResourceListFinder()); } mapPersistenceXmlToApplicationProperties(applicationProperties.get(0), persistenceXml); applicationProperties.get(0).markChanged(); @@ -75,6 +75,6 @@ void mapJpaPropertyToProperties(Persistence.PersistenceUnit.Properties.Property @Override public boolean isApplicable(ProjectContext context) { - return context.search(new PersistenceXmlResourceFilter()).isPresent(); + return context.search(new PersistenceXmlResourceFinder()).isPresent(); } } diff --git a/components/sbm-recipes-jee-to-boot/src/test/java/org/springframework/sbm/jee/ejb/actions/MigrateEjbDeploymentDescriptorTest.java b/components/sbm-recipes-jee-to-boot/src/test/java/org/springframework/sbm/jee/ejb/actions/MigrateEjbDeploymentDescriptorTest.java index 4852c2274..7c310bae3 100644 --- a/components/sbm-recipes-jee-to-boot/src/test/java/org/springframework/sbm/jee/ejb/actions/MigrateEjbDeploymentDescriptorTest.java +++ b/components/sbm-recipes-jee-to-boot/src/test/java/org/springframework/sbm/jee/ejb/actions/MigrateEjbDeploymentDescriptorTest.java @@ -19,7 +19,7 @@ import org.springframework.sbm.jee.ejb.api.EjbJarXml; import org.springframework.sbm.jee.ejb.resource.JeeEjbJarXmlProjectResourceRegistrar; import org.springframework.sbm.project.resource.TestProjectContext; -import org.springframework.sbm.project.resource.filter.GenericTypeListFilter; +import org.springframework.sbm.project.resource.finder.GenericTypeListFinder; import org.junit.jupiter.api.Test; import java.nio.file.Path; @@ -86,7 +86,7 @@ void givenDeploymentDescriptorContainsEjbWhenMatchingClassIsFoundThenStatelessAn // verify... assertThat(projectContext.getProjectJavaSources().list().size()).isEqualTo(1); assertThat(projectContext.getProjectJavaSources().list().get(0).print()).isEqualTo(expected); - List deploymentDescriptors = projectContext.search(new GenericTypeListFilter<>(EjbJarXml.class)); + List deploymentDescriptors = projectContext.search(new GenericTypeListFinder<>(EjbJarXml.class)); assertThat(deploymentDescriptors).isEmpty(); } @@ -136,7 +136,7 @@ void givenDeploymentDescriptorContainsEjbWithMappedName_whenMatchingClassIsFound // verify... assertThat(projectContext.getProjectJavaSources().list().size()).isEqualTo(1); assertThat(projectContext.getProjectJavaSources().list().get(0).print()).isEqualTo(expected); - List deploymentDescriptors = projectContext.search(new GenericTypeListFilter<>(EjbJarXml.class)); + List deploymentDescriptors = projectContext.search(new GenericTypeListFinder<>(EjbJarXml.class)); assertThat(deploymentDescriptors).isEmpty(); } @@ -186,7 +186,7 @@ void givenDeploymentDescriptorContainsEjbWithRemoteInterface_whenMatchingClassIs // verify... assertThat(projectContext.getProjectJavaSources().list().size()).isEqualTo(1); assertThat(projectContext.getProjectJavaSources().list().get(0).print()).isEqualTo(expected); - List deploymentDescriptors = projectContext.search(new GenericTypeListFilter<>(EjbJarXml.class)); + List deploymentDescriptors = projectContext.search(new GenericTypeListFinder<>(EjbJarXml.class)); assertThat(deploymentDescriptors).isEmpty(); } @@ -236,7 +236,7 @@ void givenDeploymentDescriptorContainsEjbWithLocalInterface_whenMatchingClassIsF // verify... assertThat(projectContext.getProjectJavaSources().list().size()).isEqualTo(1); assertThat(projectContext.getProjectJavaSources().list().get(0).print()).isEqualTo(expected); - List deploymentDescriptors = projectContext.search(new GenericTypeListFilter<>(EjbJarXml.class)); + List deploymentDescriptors = projectContext.search(new GenericTypeListFinder<>(EjbJarXml.class)); assertThat(deploymentDescriptors).isEmpty(); } } \ No newline at end of file diff --git a/components/sbm-recipes-jee-to-boot/src/test/java/org/springframework/sbm/jee/jpa/actions/PersistenceXmlToSpringBootApplicationPropertiesActionTest.java b/components/sbm-recipes-jee-to-boot/src/test/java/org/springframework/sbm/jee/jpa/actions/PersistenceXmlToSpringBootApplicationPropertiesActionTest.java index 33206fc31..4a3247ee1 100644 --- a/components/sbm-recipes-jee-to-boot/src/test/java/org/springframework/sbm/jee/jpa/actions/PersistenceXmlToSpringBootApplicationPropertiesActionTest.java +++ b/components/sbm-recipes-jee-to-boot/src/test/java/org/springframework/sbm/jee/jpa/actions/PersistenceXmlToSpringBootApplicationPropertiesActionTest.java @@ -16,10 +16,9 @@ package org.springframework.sbm.jee.jpa.actions; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.engine.context.ProjectContext; -import org.springframework.sbm.jee.jpa.filter.PersistenceXmlResourceFilter; -import org.springframework.sbm.jee.jpa.resource.PersistenceXmlProjectResourceRegistrar; +import org.springframework.sbm.jee.jpa.filter.PersistenceXmlResourceFinder; import org.springframework.sbm.project.resource.TestProjectContext; import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Nested; @@ -143,12 +142,12 @@ void whenNoApplicationPropertiesExistThenPropertiesShouldBeCreated() { .withProjectResource("pom2/src/main/resources/META-INF/persistence.xml", persistenceXml) .build(); - assertThat(projectContext.search(new SpringBootApplicationPropertiesResourceListFilter())).isEmpty(); + assertThat(projectContext.search(new SpringBootApplicationPropertiesResourceListFinder())).isEmpty(); MigratePersistenceXmlToApplicationPropertiesAction sut = new MigratePersistenceXmlToApplicationPropertiesAction(); sut.apply(projectContext); - List applicationProperties = projectContext.search(new SpringBootApplicationPropertiesResourceListFilter()); + List applicationProperties = projectContext.search(new SpringBootApplicationPropertiesResourceListFinder()); assertThat(applicationProperties).hasSize(1); assertThat(applicationProperties.get(0).getSourcePath().toString()).isEqualTo("pom1/src/main/resources/application.properties"); } @@ -177,11 +176,11 @@ void migrateJpaToSpringBoot() { ) .actionUnderTest(new MigratePersistenceXmlToApplicationPropertiesAction()) .verify(context -> { - List applicationProperties = context.search(new SpringBootApplicationPropertiesResourceListFilter()); + List applicationProperties = context.search(new SpringBootApplicationPropertiesResourceListFinder()); SpringBootApplicationProperties springBootApplicationProperties = applicationProperties.get(0); assertThat(springBootApplicationProperties.getProperty("spring.jpa.hibernate.ddl-auto").get()).isEqualTo("create-drop"); assertThat(springBootApplicationProperties.getProperty("spring.jpa.database-platform").get()).isEqualTo("org.hibernate.dialect.HSQLDialect"); - assertThat(context.search(new PersistenceXmlResourceFilter())).isNotEmpty(); + assertThat(context.search(new PersistenceXmlResourceFinder())).isNotEmpty(); }); diff --git a/components/sbm-recipes-spring-cloud/src/main/java/org/springframework/sbm/sccs/MigrateToSpringCloudConfigServerHelper.java b/components/sbm-recipes-spring-cloud/src/main/java/org/springframework/sbm/sccs/MigrateToSpringCloudConfigServerHelper.java index bca376607..2f75b2aff 100644 --- a/components/sbm-recipes-spring-cloud/src/main/java/org/springframework/sbm/sccs/MigrateToSpringCloudConfigServerHelper.java +++ b/components/sbm-recipes-spring-cloud/src/main/java/org/springframework/sbm/sccs/MigrateToSpringCloudConfigServerHelper.java @@ -17,7 +17,7 @@ import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; import org.springframework.sbm.boot.properties.api.SpringProfile; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.engine.git.GitSupport; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.stereotype.Component; @@ -45,7 +45,7 @@ public MigrateToSpringCloudConfigServerHelper(GitSupport gitSupport) { } List findAllSpringProfiles(ProjectContext projectContext) { - List applicationProperties = projectContext.search(new SpringBootApplicationPropertiesResourceListFilter()); + List applicationProperties = projectContext.search(new SpringBootApplicationPropertiesResourceListFinder()); List profilesFound = new ArrayList<>(); applicationProperties.forEach(ap -> { profilesFound.add(ap.getSpringProfile()); @@ -66,7 +66,7 @@ List findAllSpringProfiles(ProjectContext projectContext) { } List findAllSpringApplicationProperties(ProjectContext context) { - return context.search(new SpringBootApplicationPropertiesResourceListFilter()); + return context.search(new SpringBootApplicationPropertiesResourceListFinder()); } Path initializeSccsProjectDir(Path projectRootDirectory) { diff --git a/components/sbm-recipes-spring-cloud/src/test/java/org/springframework/sbm/sccs/MigrateToSpringCloudConfigServerHelperTest.java b/components/sbm-recipes-spring-cloud/src/test/java/org/springframework/sbm/sccs/MigrateToSpringCloudConfigServerHelperTest.java index 648cd46cf..abd2bee04 100644 --- a/components/sbm-recipes-spring-cloud/src/test/java/org/springframework/sbm/sccs/MigrateToSpringCloudConfigServerHelperTest.java +++ b/components/sbm-recipes-spring-cloud/src/test/java/org/springframework/sbm/sccs/MigrateToSpringCloudConfigServerHelperTest.java @@ -21,7 +21,7 @@ import org.springframework.sbm.boot.properties.SpringBootApplicationPropertiesRegistrar; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; import org.springframework.sbm.boot.properties.api.SpringProfile; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.engine.git.GitSupport; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.project.resource.SbmApplicationProperties; @@ -94,7 +94,7 @@ void copyFiles(@TempDir Path tmpDir) throws IOException { Path targetDir = Files.createDirectory(tmpDir.resolve("copied-files")); - sut.copyFiles(projectContext.search(new SpringBootApplicationPropertiesResourceListFilter()), targetDir); + sut.copyFiles(projectContext.search(new SpringBootApplicationPropertiesResourceListFinder()), targetDir); assertThat(targetDir.resolve("application.properties")).exists(); assertThat(targetDir.resolve("application-foo.properties")).exists(); @@ -114,9 +114,9 @@ void configureSccsConnection() { .addRegistrar(new SpringBootApplicationPropertiesRegistrar(new SpringApplicationPropertiesPathMatcher(), new RewriteExecutionContext())) .build(); - sut.configureSccsConnection(projectContext.search(new SpringBootApplicationPropertiesResourceListFilter())); + sut.configureSccsConnection(projectContext.search(new SpringBootApplicationPropertiesResourceListFinder())); - SpringBootApplicationProperties applicationProperties1 = projectContext.search(new SpringBootApplicationPropertiesResourceListFilter()).stream().filter(p -> p.getAbsolutePath().toString().endsWith("application.properties")).findFirst().get(); + SpringBootApplicationProperties applicationProperties1 = projectContext.search(new SpringBootApplicationPropertiesResourceListFinder()).stream().filter(p -> p.getAbsolutePath().toString().endsWith("application.properties")).findFirst().get(); assertThat(applicationProperties1.print()).isEqualTo( "property1=foo\n" + "spring.config.import=optional:configserver:http://localhost:8888" @@ -148,7 +148,7 @@ void testFindAllSpringApplicationProperties() { sut.findAllSpringApplicationProperties(context); - verify(context).search(any(SpringBootApplicationPropertiesResourceListFilter.class)); + verify(context).search(any(SpringBootApplicationPropertiesResourceListFinder.class)); } @Test diff --git a/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/common/finder/SpringBeanMethodDeclarationFinder.java b/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/common/finder/SpringBeanMethodDeclarationFinder.java index 1c130319f..81bba841b 100644 --- a/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/common/finder/SpringBeanMethodDeclarationFinder.java +++ b/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/common/finder/SpringBeanMethodDeclarationFinder.java @@ -16,9 +16,9 @@ package org.springframework.sbm.boot.common.finder; import lombok.RequiredArgsConstructor; -import org.springframework.sbm.java.filter.JavaSourceListFilter; +import org.springframework.sbm.java.filter.JavaSourceListFinder; import org.springframework.sbm.project.resource.ProjectResourceSet; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; import java.util.ArrayList; import java.util.List; @@ -37,7 +37,7 @@ public List apply(ProjectResourceSet projectResourceSet) { List matches = new ArrayList<>(); - new JavaSourceListFilter() + new JavaSourceListFinder() .apply(projectResourceSet) .stream() .filter(js -> js.hasImportStartingWith(SPRING_BEAN_ANNOTATION)) diff --git a/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/SpringBootApplicationPropertiesRegistrar.java b/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/SpringBootApplicationPropertiesRegistrar.java index 4321b4120..c08c26f18 100644 --- a/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/SpringBootApplicationPropertiesRegistrar.java +++ b/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/SpringBootApplicationPropertiesRegistrar.java @@ -21,7 +21,7 @@ import org.openrewrite.properties.tree.Properties; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; import org.springframework.sbm.boot.properties.api.SpringProfile; -import org.springframework.sbm.common.util.OsAgnosticPathMatcher; +import org.springframework.sbm.utils.OsAgnosticPathMatcher; import org.springframework.sbm.project.resource.ProjectResourceWrapper; import org.springframework.sbm.project.resource.RewriteSourceFileHolder; import org.springframework.stereotype.Component; diff --git a/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/actions/AddSpringBootApplicationPropertiesAction.java b/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/actions/AddSpringBootApplicationPropertiesAction.java index e9110a304..45a26b491 100644 --- a/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/actions/AddSpringBootApplicationPropertiesAction.java +++ b/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/actions/AddSpringBootApplicationPropertiesAction.java @@ -16,7 +16,6 @@ package org.springframework.sbm.boot.properties.actions; import com.fasterxml.jackson.annotation.JsonIgnore; -import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; @@ -25,7 +24,7 @@ import org.openrewrite.ExecutionContext; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.build.api.Module; import org.springframework.sbm.engine.recipe.AbstractAction; import org.springframework.sbm.engine.context.ProjectContext; @@ -71,6 +70,6 @@ public void apply(Module module) { @Override public boolean isApplicable(ProjectContext context) { - return context.search(new SpringBootApplicationPropertiesResourceListFilter()).isEmpty(); + return context.search(new SpringBootApplicationPropertiesResourceListFinder()).isEmpty(); } } diff --git a/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/conditions/NoSpringBootApplicationPropertiesExists.java b/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/conditions/NoSpringBootApplicationPropertiesExists.java index 554a549f4..6d774967d 100644 --- a/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/conditions/NoSpringBootApplicationPropertiesExists.java +++ b/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/conditions/NoSpringBootApplicationPropertiesExists.java @@ -15,7 +15,7 @@ */ package org.springframework.sbm.boot.properties.conditions; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.engine.recipe.Condition; import org.springframework.sbm.engine.context.ProjectContext; @@ -30,6 +30,6 @@ public String getDescription() { @Override public boolean evaluate(ProjectContext context) { - return context.search(new SpringBootApplicationPropertiesResourceListFilter()).isEmpty(); + return context.search(new SpringBootApplicationPropertiesResourceListFinder()).isEmpty(); } } diff --git a/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/finder/SpringBootDefaultPropertiesFinder.java b/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/finder/SpringBootDefaultPropertiesFinder.java index 9a24cba47..7ccc0c56a 100644 --- a/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/finder/SpringBootDefaultPropertiesFinder.java +++ b/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/finder/SpringBootDefaultPropertiesFinder.java @@ -15,10 +15,9 @@ */ package org.springframework.sbm.boot.properties.finder; -import org.openrewrite.properties.tree.Properties; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; import org.springframework.sbm.project.resource.ProjectResourceSet; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; import java.util.Optional; diff --git a/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/search/SpringBootApplicationPropertiesResourceListFilter.java b/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/search/SpringBootApplicationPropertiesResourceListFinder.java similarity index 75% rename from components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/search/SpringBootApplicationPropertiesResourceListFilter.java rename to components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/search/SpringBootApplicationPropertiesResourceListFinder.java index 758a2aef1..ca730a8d9 100644 --- a/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/search/SpringBootApplicationPropertiesResourceListFilter.java +++ b/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/properties/search/SpringBootApplicationPropertiesResourceListFinder.java @@ -16,11 +16,11 @@ package org.springframework.sbm.boot.properties.search; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; -import org.springframework.sbm.project.resource.filter.GenericTypeListFilter; +import org.springframework.sbm.project.resource.finder.GenericTypeListFinder; -public class SpringBootApplicationPropertiesResourceListFilter extends GenericTypeListFilter { +public class SpringBootApplicationPropertiesResourceListFinder extends GenericTypeListFinder { - public SpringBootApplicationPropertiesResourceListFilter() { + public SpringBootApplicationPropertiesResourceListFinder() { super(SpringBootApplicationProperties.class); } } diff --git a/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/web/finder/FindRestControllerBeans.java b/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/web/finder/FindRestControllerBeans.java index 4cb0bb1c0..73bdf7134 100644 --- a/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/web/finder/FindRestControllerBeans.java +++ b/components/sbm-support-boot/src/main/java/org/springframework/sbm/boot/web/finder/FindRestControllerBeans.java @@ -16,9 +16,9 @@ package org.springframework.sbm.boot.web.finder; import org.springframework.sbm.boot.web.api.RestControllerBean; -import org.springframework.sbm.java.filter.JavaSourceListFilter; +import org.springframework.sbm.java.filter.JavaSourceListFinder; import org.springframework.sbm.project.resource.ProjectResourceSet; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; import java.util.List; import java.util.stream.Collectors; @@ -32,7 +32,7 @@ public class FindRestControllerBeans implements ProjectResourceFinder apply(ProjectResourceSet projectResourceSet) { - return new JavaSourceListFilter().apply(projectResourceSet).stream() + return new JavaSourceListFinder().apply(projectResourceSet).stream() .flatMap(js -> { return js .getTypes() diff --git a/components/sbm-support-boot/src/test/java/org/springframework/sbm/boot/properties/actions/AddSpringBootApplicationPropertiesActionTest.java b/components/sbm-support-boot/src/test/java/org/springframework/sbm/boot/properties/actions/AddSpringBootApplicationPropertiesActionTest.java index fb43d8a12..8e7e4d8a9 100644 --- a/components/sbm-support-boot/src/test/java/org/springframework/sbm/boot/properties/actions/AddSpringBootApplicationPropertiesActionTest.java +++ b/components/sbm-support-boot/src/test/java/org/springframework/sbm/boot/properties/actions/AddSpringBootApplicationPropertiesActionTest.java @@ -16,7 +16,7 @@ package org.springframework.sbm.boot.properties.actions; import org.springframework.sbm.boot.properties.api.SpringBootApplicationProperties; -import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFilter; +import org.springframework.sbm.boot.properties.search.SpringBootApplicationPropertiesResourceListFinder; import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.parsers.RewriteExecutionContext; import org.springframework.sbm.project.resource.TestProjectContext; @@ -49,7 +49,7 @@ void apply() { ActionTest.withProjectContext(projectContextBuilder) .actionUnderTest(sut) .verify(projectContext -> { - SpringBootApplicationProperties springBootApplicationProperties = projectContext.search(new SpringBootApplicationPropertiesResourceListFilter()).get(0); + SpringBootApplicationProperties springBootApplicationProperties = projectContext.search(new SpringBootApplicationPropertiesResourceListFinder()).get(0); assertThat(springBootApplicationProperties).isNotNull(); assertThat(springBootApplicationProperties.hasChanges()).isTrue(); }); diff --git a/components/sbm-support-boot/src/test/java/org/springframework/sbm/boot/properties/search/SpringBootApplicationPropertiesResourceFilterTest.java b/components/sbm-support-boot/src/test/java/org/springframework/sbm/boot/properties/search/SpringBootApplicationPropertiesResourceFilterTest.java index d69b58ea8..d100a0d20 100644 --- a/components/sbm-support-boot/src/test/java/org/springframework/sbm/boot/properties/search/SpringBootApplicationPropertiesResourceFilterTest.java +++ b/components/sbm-support-boot/src/test/java/org/springframework/sbm/boot/properties/search/SpringBootApplicationPropertiesResourceFilterTest.java @@ -36,7 +36,7 @@ void test() { .addRegistrar(new SpringBootApplicationPropertiesRegistrar(new SpringApplicationPropertiesPathMatcher(), new RewriteExecutionContext())) .build(); - List properties = context.search(new SpringBootApplicationPropertiesResourceListFilter()); + List properties = context.search(new SpringBootApplicationPropertiesResourceListFinder()); assertThat(properties).hasSize(1); assertThat(properties.get(0).getProperty("foo").get()).isEqualTo("bar"); } diff --git a/components/sbm-support-jee/src/main/java/org/springframework/sbm/jee/ejb/filter/EjbJarXmlResourceFinder.java b/components/sbm-support-jee/src/main/java/org/springframework/sbm/jee/ejb/filter/EjbJarXmlResourceFinder.java index c0946340a..678ec683f 100644 --- a/components/sbm-support-jee/src/main/java/org/springframework/sbm/jee/ejb/filter/EjbJarXmlResourceFinder.java +++ b/components/sbm-support-jee/src/main/java/org/springframework/sbm/jee/ejb/filter/EjbJarXmlResourceFinder.java @@ -17,7 +17,7 @@ import org.springframework.sbm.jee.ejb.api.EjbJarXml; import org.springframework.sbm.project.resource.ProjectResourceSet; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; import java.util.Optional; diff --git a/components/sbm-support-jee/src/main/java/org/springframework/sbm/jee/jpa/filter/PersistenceXmlResourceFilter.java b/components/sbm-support-jee/src/main/java/org/springframework/sbm/jee/jpa/filter/PersistenceXmlResourceFinder.java similarity index 80% rename from components/sbm-support-jee/src/main/java/org/springframework/sbm/jee/jpa/filter/PersistenceXmlResourceFilter.java rename to components/sbm-support-jee/src/main/java/org/springframework/sbm/jee/jpa/filter/PersistenceXmlResourceFinder.java index 4f12d112e..8fe693ccb 100644 --- a/components/sbm-support-jee/src/main/java/org/springframework/sbm/jee/jpa/filter/PersistenceXmlResourceFilter.java +++ b/components/sbm-support-jee/src/main/java/org/springframework/sbm/jee/jpa/filter/PersistenceXmlResourceFinder.java @@ -16,12 +16,12 @@ package org.springframework.sbm.jee.jpa.filter; import org.springframework.sbm.jee.jpa.api.PersistenceXml; -import org.springframework.sbm.project.resource.GenericTypeFilter; +import org.springframework.sbm.project.resource.finder.GenericTypeFinder; // FIXME: what if persistence.xml in src/test/resources also exists?! -public class PersistenceXmlResourceFilter extends GenericTypeFilter { +public class PersistenceXmlResourceFinder extends GenericTypeFinder { - public PersistenceXmlResourceFilter() { + public PersistenceXmlResourceFinder() { super(PersistenceXml.class); } diff --git a/components/sbm-support-weblogic/src/main/java/org/springframework/sbm/jee/wls/finder/JeeWlsEjbDeploymentDescriptorFilter.java b/components/sbm-support-weblogic/src/main/java/org/springframework/sbm/jee/wls/finder/JeeWlsEjbDeploymentDescriptorFilter.java index 27ef45254..893222a88 100644 --- a/components/sbm-support-weblogic/src/main/java/org/springframework/sbm/jee/wls/finder/JeeWlsEjbDeploymentDescriptorFilter.java +++ b/components/sbm-support-weblogic/src/main/java/org/springframework/sbm/jee/wls/finder/JeeWlsEjbDeploymentDescriptorFilter.java @@ -17,7 +17,7 @@ import org.springframework.sbm.project.resource.ProjectResourceSet; import org.springframework.sbm.jee.wls.WlsEjbDeploymentDescriptor; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; import java.util.Optional; diff --git a/sbm-support-rewrite-integration-test/.gitignore b/sbm-support-rewrite-integration-test/.gitignore new file mode 100644 index 000000000..5ff6309b7 --- /dev/null +++ b/sbm-support-rewrite-integration-test/.gitignore @@ -0,0 +1,38 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/sbm-support-rewrite-integration-test/pom.xml b/sbm-support-rewrite-integration-test/pom.xml new file mode 100644 index 000000000..a08aa08d9 --- /dev/null +++ b/sbm-support-rewrite-integration-test/pom.xml @@ -0,0 +1,117 @@ + + + + + 4.0.0 + + org.example + sbm-support-rewrite-integration-test + 1.0-SNAPSHOT + + + 17 + 17 + UTF-8 + 3.1.3 + + + + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + + + + + org.springframework.boot + spring-boot-starter + + + org.springframework.experimental + sbm-support-rewrite + 0.1.0-SNAPSHOT + + + org.openrewrite.recipe + rewrite-spring + 5.0.10 + + + + + + + org.springframework.boot + spring-boot-maven-plugin + 3.1.3 + + + + repackage + + + + + + + org.apache.maven.wagon + wagon-http + + + org.apache.maven.resolver + maven-resolver-transport-wagon + + + org.apache.maven.resolver + maven-resolver-connector-basic + + + org.apache.maven + maven-compat + + + org.apache.maven + maven-embedder + + + org.codehaus.plexus + plexus-cipher + + + org.eclipse.sisu + org.eclipse.sisu.plexus + + + + + + com.acme.example.SpringBoot3Upgrade + + + + + + + \ No newline at end of file diff --git a/sbm-support-rewrite-integration-test/src/main/java/com/acme/example/SpringBoot3Upgrade.java b/sbm-support-rewrite-integration-test/src/main/java/com/acme/example/SpringBoot3Upgrade.java new file mode 100644 index 000000000..9ea047f09 --- /dev/null +++ b/sbm-support-rewrite-integration-test/src/main/java/com/acme/example/SpringBoot3Upgrade.java @@ -0,0 +1,93 @@ +/* + * Copyright 2021 - 2023 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.acme.example; + +import org.openrewrite.*; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.event.EventListener; +import org.springframework.core.io.Resource; +import org.springframework.sbm.parsers.ProjectScanner; +import org.springframework.sbm.parsers.RewriteProjectParser; +import org.springframework.sbm.parsers.RewriteProjectParsingResult; +import org.springframework.sbm.parsers.events.StartedParsingResourceEvent; +import org.springframework.sbm.project.RewriteSourceFileWrapper; +import org.springframework.sbm.project.resource.*; +import org.springframework.sbm.recipes.RewriteRecipeDiscovery; + +import java.nio.file.Path; +import java.util.List; +import java.util.Optional; + +/** + * @author Fabian Krüger + */ +@SpringBootApplication +public class SpringBoot3Upgrade implements CommandLineRunner { + public static void main(String[] args) { + SpringApplication.run(SpringBoot3Upgrade.class, args); + } + + @Autowired + RewriteProjectParser parser; + @Autowired + ProjectScanner scanner; + @Autowired + RewriteRecipeDiscovery discovery; + @Autowired + ExecutionContext executionContext; + @Autowired + ProjectResourceSetSerializer serializer; + @Autowired + ProjectResourceSetFactory projectResourceSetFactory; + + @EventListener(StartedParsingResourceEvent.class) + public void onStartedParsingResourceEvent(StartedParsingResourceEvent event) { + System.out.println(); + } + + @Override + public void run(String... args) throws Exception { + Path baseDir = null; + if(args.length == 0) { + throw new IllegalArgumentException("A path must be provided"); + } else { + String pathStr = args[0]; + baseDir = Path.of(pathStr); + } + + // scan + List resources = scanner.scan(baseDir); + + // parse + RewriteProjectParsingResult parsingResult = parser.parse(baseDir, resources, executionContext); + List sourceFiles = parsingResult.sourceFiles(); + ProjectResourceSet projectResourceSet = projectResourceSetFactory.create(baseDir, sourceFiles); + + // discover + String recipeName = "org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_1"; + List recipes = discovery.discoverRecipes(); + Optional recipe = recipes.stream().filter(r -> recipeName.equals(r.getName())).findFirst(); + + // apply + recipe.ifPresent((Recipe r) -> { + projectResourceSet.apply(r); + serializer.writeChanges(projectResourceSet); + }); + } +} diff --git a/sbm-support-rewrite-integration-test/src/main/resources/application.properties b/sbm-support-rewrite-integration-test/src/main/resources/application.properties new file mode 100644 index 000000000..96cd9beef --- /dev/null +++ b/sbm-support-rewrite-integration-test/src/main/resources/application.properties @@ -0,0 +1,2 @@ +logging.level.root=warn +logging.level.org.springframework.sbm=debug \ No newline at end of file diff --git a/sbm-support-rewrite/pom.xml b/sbm-support-rewrite/pom.xml index 47d1535fb..fae58fa38 100644 --- a/sbm-support-rewrite/pom.xml +++ b/sbm-support-rewrite/pom.xml @@ -218,7 +218,6 @@ javax.xml.bind jaxb-api ${jaxb-api.version} - test org.springframework.boot diff --git a/sbm-support-rewrite/src/main/java/org/springframework/sbm/boot/autoconfigure/ProjectResourceSetConfiguration.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/boot/autoconfigure/ProjectResourceSetConfiguration.java new file mode 100644 index 000000000..924347d8a --- /dev/null +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/boot/autoconfigure/ProjectResourceSetConfiguration.java @@ -0,0 +1,56 @@ +/* + * Copyright 2021 - 2023 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.sbm.boot.autoconfigure; + +import org.openrewrite.ExecutionContext; +import org.springframework.boot.autoconfigure.AutoConfiguration; +import org.springframework.context.annotation.Bean; +import org.springframework.sbm.project.RewriteSourceFileWrapper; +import org.springframework.sbm.project.resource.ProjectResourceSerializer; +import org.springframework.sbm.project.resource.ProjectResourceSetFactory; +import org.springframework.sbm.project.resource.ProjectResourceSetSerializer; +import org.springframework.sbm.project.resource.RewriteMigrationResultMerger; + +/** + * @author Fabian Krüger + */ +@AutoConfiguration +public class ProjectResourceSetConfiguration { + @Bean + RewriteSourceFileWrapper rewriteSourceFileWrapper() { + return new RewriteSourceFileWrapper(); + } + + @Bean + RewriteMigrationResultMerger rewriteMigrationResultMerger(RewriteSourceFileWrapper rewriteSourceFileWrapper) { + return new RewriteMigrationResultMerger(rewriteSourceFileWrapper); + } + + @Bean + ProjectResourceSerializer projectResourceSerializer() { + return new ProjectResourceSerializer(); + } + + @Bean + ProjectResourceSetSerializer projectResourceSetSerializer(ProjectResourceSerializer resourceSerializer) { + return new ProjectResourceSetSerializer(resourceSerializer); + } + + @Bean + ProjectResourceSetFactory projectResourceSetFactory(RewriteMigrationResultMerger rewriteMigrationResultMerger, RewriteSourceFileWrapper sourceFileWrapper, ExecutionContext executionContext) { + return new ProjectResourceSetFactory(rewriteMigrationResultMerger, sourceFileWrapper, executionContext); + } +} diff --git a/sbm-support-rewrite/src/main/java/org/springframework/sbm/boot/autoconfigure/SbmSupportRewriteConfiguration.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/boot/autoconfigure/SbmSupportRewriteConfiguration.java index e45c901dd..316109822 100644 --- a/sbm-support-rewrite/src/main/java/org/springframework/sbm/boot/autoconfigure/SbmSupportRewriteConfiguration.java +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/boot/autoconfigure/SbmSupportRewriteConfiguration.java @@ -22,6 +22,6 @@ * @author Fabian Krüger */ @AutoConfiguration -@Import({DiscoveryConfiguration.class, ScannerConfiguration.class}) +@Import({DiscoveryConfiguration.class, ScannerConfiguration.class, ProjectResourceSetConfiguration.class}) public class SbmSupportRewriteConfiguration { } diff --git a/sbm-support-rewrite/src/main/java/org/springframework/sbm/parsers/ParserProperties.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/parsers/ParserProperties.java index 97461a3d9..fc14e1cea 100644 --- a/sbm-support-rewrite/src/main/java/org/springframework/sbm/parsers/ParserProperties.java +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/parsers/ParserProperties.java @@ -81,6 +81,6 @@ public class ParserProperties { /** * Comma-separated list of patterns used to create PathMatcher to exclude paths from being parsed. */ - private Set ignoredPathPatterns = Set.of("**/target/**", "target/**"); + private Set ignoredPathPatterns = Set.of("**/target/**", "target/**", "**/.idea/**", ".idea/**", ".mvn/**", "**/.mvn/**"); } diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/RewriteSourceFileWrapper.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/RewriteSourceFileWrapper.java similarity index 100% rename from components/sbm-core/src/main/java/org/springframework/sbm/project/RewriteSourceFileWrapper.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/RewriteSourceFileWrapper.java diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/BaseProjectResource.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/BaseProjectResource.java similarity index 100% rename from components/sbm-core/src/main/java/org/springframework/sbm/project/resource/BaseProjectResource.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/BaseProjectResource.java diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/InternalProjectResource.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/InternalProjectResource.java similarity index 100% rename from components/sbm-core/src/main/java/org/springframework/sbm/project/resource/InternalProjectResource.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/InternalProjectResource.java diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/NoProjectResourceWrapperFoundException.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/NoProjectResourceWrapperFoundException.java similarity index 100% rename from components/sbm-core/src/main/java/org/springframework/sbm/project/resource/NoProjectResourceWrapperFoundException.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/NoProjectResourceWrapperFoundException.java diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/ProjectResource.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/ProjectResource.java similarity index 100% rename from components/sbm-core/src/main/java/org/springframework/sbm/project/resource/ProjectResource.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/ProjectResource.java diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSerializer.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSerializer.java similarity index 100% rename from components/sbm-core/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSerializer.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSerializer.java diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSet.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSet.java similarity index 66% rename from components/sbm-core/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSet.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSet.java index 8003a3530..f44767b6d 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSet.java +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSet.java @@ -16,13 +16,13 @@ package org.springframework.sbm.project.resource; import org.openrewrite.ExecutionContext; +import org.openrewrite.Recipe; +import org.openrewrite.Result; import org.openrewrite.SourceFile; +import org.openrewrite.internal.InMemoryLargeSourceSet; import java.nio.file.Path; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Optional; +import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -31,10 +31,17 @@ public class ProjectResourceSet { private final List> projectResources = new ArrayList<>(); private final ExecutionContext executionContext; + private final RewriteMigrationResultMerger migrationResultMerger; - public ProjectResourceSet(List> projectResources, ExecutionContext executionContext) { + /** + * @deprecated + * Use {@link ProjectResourceSetFactory#create(Path, List) >)} instead. + */ + @Deprecated + public ProjectResourceSet(List> projectResources, ExecutionContext executionContext, RewriteMigrationResultMerger migrationResultMerger) { this.executionContext = executionContext; + this.migrationResultMerger = migrationResultMerger; this.projectResources.addAll(projectResources); } @@ -67,15 +74,6 @@ public int size() { return projectResources.size(); } -// /** -// * @deprecated use {@link ProjectContext#getFilteredResources(ProjectResourcesFilter)} -// * with {@link org.springframework.sbm.project.resource.filter.GenericTypeFilter} -// */ -// @Deprecated(forRemoval = true) -// public List> getProjections(Class projectionClass) { -// return typeFilteredList(projectionClass); -// } - public int indexOf(Path absolutePath) { return projectResources.stream() .map(ProjectResource::getAbsolutePath) @@ -83,11 +81,42 @@ public int indexOf(Path absolutePath) { .indexOf(absolutePath); } + public void apply(Recipe... recipes) { + InMemoryLargeSourceSet largeSourceSet = new InMemoryLargeSourceSet( + projectResources.stream() + .map(RewriteSourceFileHolder::getSourceFile) + .filter(SourceFile.class::isInstance) + .map(SourceFile.class::cast) + .toList() + ); + List results = new Recipe() { + @Override + public String getDisplayName() { + return "Run a list of recipes"; + } + + @Override + public String getDescription() { + return getDisplayName(); + } + + @Override + public List getRecipeList() { + return Arrays.asList(recipes); + } + } + .run(largeSourceSet, executionContext) + .getChangeset() + .getAllResults(); + + migrationResultMerger.mergeResults(this, results); + } + void clearDeletedResources() { Iterator> iterator = this.projectResources.iterator(); - while(iterator.hasNext()) { + while (iterator.hasNext()) { RewriteSourceFileHolder current = iterator.next(); - if(current.isDeleted()) { + if (current.isDeleted()) { iterator.remove(); } } diff --git a/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSetFactory.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSetFactory.java new file mode 100644 index 000000000..27c65cabb --- /dev/null +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSetFactory.java @@ -0,0 +1,44 @@ +/* + * Copyright 2021 - 2023 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.springframework.sbm.project.resource; + +import lombok.RequiredArgsConstructor; +import org.openrewrite.ExecutionContext; +import org.openrewrite.SourceFile; +import org.springframework.sbm.project.RewriteSourceFileWrapper; + +import java.nio.file.Path; +import java.util.List; + +/** + * @author Fabian Krüger + */ +@RequiredArgsConstructor +public class ProjectResourceSetFactory { + private final RewriteMigrationResultMerger rewriteMigrationResultMerger; + private final RewriteSourceFileWrapper sourceFileWrapper; + private final ExecutionContext executionContext; + + + public ProjectResourceSet create(Path baseDir, List sourceFiles) { + List> rewriteSourceFileHolders = sourceFileWrapper.wrapRewriteSourceFiles(baseDir, sourceFiles); + return createFromSourceFileHolders(rewriteSourceFileHolders); + } + + public ProjectResourceSet createFromSourceFileHolders(List> rewriteSourceFileHolders) { + return new ProjectResourceSet(rewriteSourceFileHolders, executionContext, rewriteMigrationResultMerger); + } +} diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSetHolder.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSetHolder.java similarity index 89% rename from components/sbm-core/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSetHolder.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSetHolder.java index c89210bab..052bf5b77 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSetHolder.java +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSetHolder.java @@ -17,7 +17,6 @@ import lombok.RequiredArgsConstructor; import org.openrewrite.ExecutionContext; -import org.springframework.sbm.engine.recipe.RewriteMigrationResultMerger; import org.springframework.stereotype.Component; import java.util.ArrayList; @@ -27,12 +26,13 @@ public class ProjectResourceSetHolder { private ProjectResourceSet projectResourceSet; private final ExecutionContext executionContext; + private final RewriteMigrationResultMerger migrationResultMerger; public void setProjectResourceSet(ProjectResourceSet projectResourceSet) { this.projectResourceSet = projectResourceSet; } public ProjectResourceSet getProjectResourceSet() { - return projectResourceSet == null ? new ProjectResourceSet(new ArrayList<>(), executionContext) : projectResourceSet; + return projectResourceSet == null ? new ProjectResourceSet(new ArrayList<>(), executionContext, migrationResultMerger) : projectResourceSet; } } diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSetSerializer.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSetSerializer.java similarity index 100% rename from components/sbm-core/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSetSerializer.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/ProjectResourceSetSerializer.java diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/ProjectResourceWrapper.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/ProjectResourceWrapper.java similarity index 100% rename from components/sbm-core/src/main/java/org/springframework/sbm/project/resource/ProjectResourceWrapper.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/ProjectResourceWrapper.java diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/RewriteMigrationResultMerger.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/RewriteMigrationResultMerger.java similarity index 70% rename from components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/RewriteMigrationResultMerger.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/RewriteMigrationResultMerger.java index e1e8c561a..30de8da56 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/engine/recipe/RewriteMigrationResultMerger.java +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/RewriteMigrationResultMerger.java @@ -13,18 +13,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.sbm.engine.recipe; +package org.springframework.sbm.project.resource; import lombok.RequiredArgsConstructor; import org.openrewrite.Result; import org.openrewrite.SourceFile; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.core.io.support.PathMatchingResourcePatternResolver; -import org.springframework.sbm.common.filter.AbsolutePathResourceFinder; -import org.springframework.sbm.engine.context.ProjectContext; import org.springframework.sbm.project.RewriteSourceFileWrapper; -import org.springframework.sbm.project.resource.ProjectResourceSet; -import org.springframework.sbm.project.resource.RewriteSourceFileHolder; +import org.springframework.sbm.project.resource.finder.AbsolutePathResourceFinder; import org.springframework.stereotype.Component; import java.nio.file.Path; @@ -36,20 +31,6 @@ public class RewriteMigrationResultMerger { private final RewriteSourceFileWrapper surceFileWrapper; - public void mergeResults(ProjectContext context, List results) { - // TODO: handle added - results.forEach(result -> { - SourceFile after = result.getAfter(); - SourceFile before = result.getBefore(); - if (after == null) { - handleDeleted(context, before); - } else if (before == null) { - handleAdded(context, after); - } else { - handleModified(context, after); - } - }); - } public void mergeResults(ProjectResourceSet resourceSet, List results) { results.forEach(result -> { @@ -65,20 +46,12 @@ public void mergeResults(ProjectResourceSet resourceSet, List results) { }); } - private void handleDeleted(ProjectContext context, SourceFile before) { - handleDeleted(context.getProjectResources(), before); - } - private void handleDeleted(ProjectResourceSet resourceSet, SourceFile before) { Path path = resourceSet.list().get(0).getAbsoluteProjectDir().resolve(before.getSourcePath()); Optional> match = new AbsolutePathResourceFinder(path).apply(resourceSet); match.get().delete(); } - private void handleAdded(ProjectContext context, SourceFile after) { - handleAdded(context.getProjectResources(), after); - } - private void handleAdded(ProjectResourceSet resourceSet, SourceFile after) { RewriteSourceFileHolder modifiableProjectResource = surceFileWrapper.wrapRewriteSourceFiles(resourceSet.list().get(0).getAbsoluteProjectDir(), List.of(after)).get(0); resourceSet.add(modifiableProjectResource); @@ -95,10 +68,6 @@ private void handleModified(ProjectResourceSet resourceSet, SourceFile after) { replaceWrappedResource(modifiedResource.get(), after); } - private void handleModified(ProjectContext context, SourceFile after) { - handleModified(context.getProjectResources(), after); - } - private void replaceWrappedResource(RewriteSourceFileHolder resource, SourceFile r) { Class type = resource.getType(); resource.replaceWith((T) type.cast(r)); diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/RewriteSourceFileHolder.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/RewriteSourceFileHolder.java similarity index 100% rename from components/sbm-core/src/main/java/org/springframework/sbm/project/resource/RewriteSourceFileHolder.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/RewriteSourceFileHolder.java diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/SbmApplicationProperties.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/SbmApplicationProperties.java similarity index 100% rename from components/sbm-core/src/main/java/org/springframework/sbm/project/resource/SbmApplicationProperties.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/SbmApplicationProperties.java diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/common/filter/AbsolutePathResourceFinder.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/AbsolutePathResourceFinder.java similarity index 89% rename from components/sbm-core/src/main/java/org/springframework/sbm/common/filter/AbsolutePathResourceFinder.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/AbsolutePathResourceFinder.java index 3cc7fb66d..dd72e59b8 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/common/filter/AbsolutePathResourceFinder.java +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/AbsolutePathResourceFinder.java @@ -13,14 +13,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.sbm.common.filter; +package org.springframework.sbm.project.resource.finder; import lombok.RequiredArgsConstructor; import org.openrewrite.SourceFile; -import org.springframework.sbm.project.resource.ProjectResource; import org.springframework.sbm.project.resource.ProjectResourceSet; import org.springframework.sbm.project.resource.RewriteSourceFileHolder; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; import java.nio.file.Path; import java.util.Optional; diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/common/filter/AbsolutePathResourcesFinder.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/AbsolutePathResourcesFinder.java similarity index 93% rename from components/sbm-core/src/main/java/org/springframework/sbm/common/filter/AbsolutePathResourcesFinder.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/AbsolutePathResourcesFinder.java index f3d5d4956..20b4d5120 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/common/filter/AbsolutePathResourcesFinder.java +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/AbsolutePathResourcesFinder.java @@ -13,13 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.sbm.common.filter; +package org.springframework.sbm.project.resource.finder; import org.openrewrite.SourceFile; -import org.springframework.sbm.project.resource.ProjectResource; import org.springframework.sbm.project.resource.ProjectResourceSet; import org.springframework.sbm.project.resource.RewriteSourceFileHolder; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; import java.nio.file.Path; import java.util.*; diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/common/filter/DeletedResourcePathStringFilter.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/DeletedResourcePathStringFilter.java similarity index 90% rename from components/sbm-core/src/main/java/org/springframework/sbm/common/filter/DeletedResourcePathStringFilter.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/DeletedResourcePathStringFilter.java index a71126f32..d46473fa7 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/common/filter/DeletedResourcePathStringFilter.java +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/DeletedResourcePathStringFilter.java @@ -13,10 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.sbm.common.filter; +package org.springframework.sbm.project.resource.finder; import org.springframework.sbm.project.resource.ProjectResourceSet; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; import java.util.List; import java.util.stream.Collectors; diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/GenericTypeFilter.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/GenericTypeFinder.java similarity index 74% rename from components/sbm-core/src/main/java/org/springframework/sbm/project/resource/GenericTypeFilter.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/GenericTypeFinder.java index fb75c3eb0..3cebac90d 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/GenericTypeFilter.java +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/GenericTypeFinder.java @@ -13,23 +13,24 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.sbm.project.resource; +package org.springframework.sbm.project.resource.finder; -import org.springframework.sbm.project.resource.filter.GenericTypeListFilter; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; -import org.springframework.sbm.project.resource.filter.ResourceFilterException; +import org.springframework.sbm.project.resource.ProjectResourceSet; +import org.springframework.sbm.project.resource.finder.GenericTypeListFinder; +import org.springframework.sbm.project.resource.finder.ProjectResourceFinder; +import org.springframework.sbm.project.resource.finder.ResourceFilterException; import lombok.Getter; import java.util.List; import java.util.Optional; import java.util.stream.Collectors; -public class GenericTypeFilter implements ProjectResourceFinder> { +public class GenericTypeFinder implements ProjectResourceFinder> { @Getter private final Class type; - public GenericTypeFilter(Class type) { + public GenericTypeFinder(Class type) { this.type = type; } @@ -40,7 +41,7 @@ public Optional apply(ProjectResourceSet projectResourceSet) { .map(type::cast) .collect(Collectors.toList()); if (collect.size() > 1) { - throw new ResourceFilterException(String.format("Found more than one resource of type '%s'. Use %s instead.", type.getClass(), GenericTypeListFilter.class)); + throw new ResourceFilterException(String.format("Found more than one resource of type '%s'. Use %s instead.", type.getClass(), GenericTypeListFinder.class)); } return collect.isEmpty() ? Optional.empty() : Optional.of(collect.get(0)); } diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/filter/GenericTypeListFilter.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/GenericTypeListFinder.java similarity index 87% rename from components/sbm-core/src/main/java/org/springframework/sbm/project/resource/filter/GenericTypeListFilter.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/GenericTypeListFinder.java index a99f2fe0e..8c951e7ed 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/filter/GenericTypeListFilter.java +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/GenericTypeListFinder.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.sbm.project.resource.filter; +package org.springframework.sbm.project.resource.finder; import org.springframework.sbm.project.resource.ProjectResourceSet; import lombok.Getter; @@ -21,12 +21,12 @@ import java.util.List; import java.util.stream.Collectors; -public class GenericTypeListFilter implements ProjectResourceFinder> { +public class GenericTypeListFinder implements ProjectResourceFinder> { @Getter private final Class type; - public GenericTypeListFilter(Class type) { + public GenericTypeListFinder(Class type) { this.type = type; } diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/common/filter/ModifiedResourcePathStringFilter.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/ModifiedResourcePathStringFilter.java similarity index 90% rename from components/sbm-core/src/main/java/org/springframework/sbm/common/filter/ModifiedResourcePathStringFilter.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/ModifiedResourcePathStringFilter.java index ed3a0d8e1..213c51845 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/common/filter/ModifiedResourcePathStringFilter.java +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/ModifiedResourcePathStringFilter.java @@ -13,10 +13,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.sbm.common.filter; +package org.springframework.sbm.project.resource.finder; import org.springframework.sbm.project.resource.ProjectResourceSet; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; import java.util.List; import java.util.stream.Collectors; diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/common/filter/PathPatternMatchingProjectResourceFinder.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/PathPatternMatchingProjectResourceFinder.java similarity index 92% rename from components/sbm-core/src/main/java/org/springframework/sbm/common/filter/PathPatternMatchingProjectResourceFinder.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/PathPatternMatchingProjectResourceFinder.java index 079019e70..065b41e6e 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/common/filter/PathPatternMatchingProjectResourceFinder.java +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/PathPatternMatchingProjectResourceFinder.java @@ -13,12 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.sbm.common.filter; +package org.springframework.sbm.project.resource.finder; -import org.springframework.sbm.common.util.OsAgnosticPathMatcher; +import org.springframework.sbm.utils.OsAgnosticPathMatcher; import org.springframework.sbm.project.resource.ProjectResource; import org.springframework.sbm.project.resource.ProjectResourceSet; -import org.springframework.sbm.project.resource.filter.ProjectResourceFinder; import org.springframework.util.PathMatcher; import java.util.Arrays; diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/filter/ProjectResourceFinder.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/ProjectResourceFinder.java similarity index 93% rename from components/sbm-core/src/main/java/org/springframework/sbm/project/resource/filter/ProjectResourceFinder.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/ProjectResourceFinder.java index 1e8c33a73..972a6e345 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/filter/ProjectResourceFinder.java +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/ProjectResourceFinder.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.sbm.project.resource.filter; +package org.springframework.sbm.project.resource.finder; import org.springframework.sbm.project.resource.ProjectResourceSet; diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/filter/ResourceFilterException.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/ResourceFilterException.java similarity index 93% rename from components/sbm-core/src/main/java/org/springframework/sbm/project/resource/filter/ResourceFilterException.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/ResourceFilterException.java index 09ee68f9f..5aaf44e21 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/filter/ResourceFilterException.java +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/ResourceFilterException.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.sbm.project.resource.filter; +package org.springframework.sbm.project.resource.finder; public class ResourceFilterException extends RuntimeException { public ResourceFilterException(String s) { diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/filter/RewriteSourceFileHolderListFilter.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/RewriteSourceFileHolderListFinder.java similarity index 92% rename from components/sbm-core/src/main/java/org/springframework/sbm/project/resource/filter/RewriteSourceFileHolderListFilter.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/RewriteSourceFileHolderListFinder.java index 17cf8a511..0c276caca 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/project/resource/filter/RewriteSourceFileHolderListFilter.java +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/project/resource/finder/RewriteSourceFileHolderListFinder.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.sbm.project.resource.filter; +package org.springframework.sbm.project.resource.finder; import org.springframework.sbm.project.resource.ProjectResourceSet; import org.springframework.sbm.project.resource.RewriteSourceFileHolder; @@ -24,7 +24,7 @@ import java.util.stream.Collectors; @RequiredArgsConstructor -public class RewriteSourceFileHolderListFilter implements ProjectResourceFinder>> { +public class RewriteSourceFileHolderListFinder implements ProjectResourceFinder>> { private final Class wrappedType; diff --git a/components/sbm-core/src/main/java/org/springframework/sbm/common/util/OsAgnosticPathMatcher.java b/sbm-support-rewrite/src/main/java/org/springframework/sbm/utils/OsAgnosticPathMatcher.java similarity index 98% rename from components/sbm-core/src/main/java/org/springframework/sbm/common/util/OsAgnosticPathMatcher.java rename to sbm-support-rewrite/src/main/java/org/springframework/sbm/utils/OsAgnosticPathMatcher.java index 93f8be29e..1496f16e3 100644 --- a/components/sbm-core/src/main/java/org/springframework/sbm/common/util/OsAgnosticPathMatcher.java +++ b/sbm-support-rewrite/src/main/java/org/springframework/sbm/utils/OsAgnosticPathMatcher.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.sbm.common.util; +package org.springframework.sbm.utils; import org.springframework.sbm.utils.LinuxWindowsPathUnifier; import org.springframework.util.AntPathMatcher; diff --git a/sbm-support-rewrite/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/sbm-support-rewrite/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 03d1f0dd3..419c73db3 100644 --- a/sbm-support-rewrite/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/sbm-support-rewrite/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,4 +1,5 @@ org.springframework.sbm.boot.autoconfigure.ScopeConfiguration org.springframework.sbm.parsers.RewriteParserConfiguration org.springframework.sbm.boot.autoconfigure.ScannerConfiguration -org.springframework.sbm.boot.autoconfigure.DiscoveryConfiguration \ No newline at end of file +org.springframework.sbm.boot.autoconfigure.DiscoveryConfiguration +org.springframework.sbm.boot.autoconfigure.ProjectResourceSetConfiguration \ No newline at end of file