Skip to content

Commit a666a2a

Browse files
authored
Refactor POMScanner (#227)
Remove static methods Remove legacyScanFrom method
1 parent 63476c9 commit a666a2a

File tree

9 files changed

+208
-167
lines changed

9 files changed

+208
-167
lines changed

plugins/codemodder-plugin-maven/src/main/java/io/codemodder/plugins/maven/operator/POMOperator.java

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,14 @@
1313

1414
/** Facade for the POM Operator, providing methods for modifying and querying POM files. */
1515
public class POMOperator {
16-
17-
private final Path pomFile;
18-
private final Path projectDir;
16+
private final POMScanner pomScanner;
1917

2018
public POMOperator(final Path pomFile, final Path projectDir) {
21-
this.pomFile = pomFile;
22-
this.projectDir = projectDir;
23-
}
24-
25-
public static POMOperator forTesting() {
26-
return new POMOperator();
19+
this.pomScanner = new POMScanner(pomFile.toFile(), projectDir.toFile());
2720
}
2821

29-
private POMOperator() {
30-
this.pomFile = null;
31-
this.projectDir = null;
22+
public POMScanner getPomScanner() {
23+
return pomScanner;
3224
}
3325

3426
/**
@@ -45,7 +37,8 @@ public ProjectModel addDependency(final DependencyGAV newDependencyGAV)
4537
throws XMLStreamException, URISyntaxException, IOException, DocumentException {
4638
final Dependency newDependency = new Dependency(newDependencyGAV);
4739
final ProjectModel projectModel =
48-
POMScanner.legacyScanFrom(pomFile.toFile(), projectDir.toFile())
40+
pomScanner
41+
.scanFrom()
4942
.withDependency(newDependency)
5043
.withSkipIfNewer(true)
5144
.withUseProperties(true)
@@ -69,7 +62,8 @@ public Collection<DependencyGAV> getAllFoundDependencies()
6962
throws DocumentException, IOException, URISyntaxException, XMLStreamException {
7063

7164
final ProjectModel originalProjectModel =
72-
POMScanner.legacyScanFrom(pomFile.toFile(), projectDir.toFile())
65+
pomScanner
66+
.scanFrom()
7367
.withSafeQueryType()
7468
.withRepositoryPath(FileUtils.createTempDirectoryWithPermissions().toFile())
7569
.build();
@@ -93,7 +87,7 @@ public Collection<DependencyGAV> getAllFoundDependencies()
9387
* @throws IOException If an I/O error occurs.
9488
* @throws XMLStreamException If an error occurs while handling XML streams.
9589
*/
96-
boolean modify(ProjectModel projectModel)
90+
static boolean modify(ProjectModel projectModel)
9791
throws URISyntaxException, IOException, XMLStreamException {
9892
return CommandChain.createForModify().execute(projectModel);
9993
}
@@ -107,7 +101,7 @@ boolean modify(ProjectModel projectModel)
107101
* @throws IOException If an I/O error occurs.
108102
* @throws XMLStreamException If an error occurs while handling XML streams.
109103
*/
110-
Collection<Dependency> queryDependency(ProjectModel projectModel)
104+
static Collection<Dependency> queryDependency(ProjectModel projectModel)
111105
throws URISyntaxException, IOException, XMLStreamException {
112106
return queryDependency(projectModel, Collections.emptyList());
113107
}
@@ -122,7 +116,7 @@ Collection<Dependency> queryDependency(ProjectModel projectModel)
122116
* @throws IOException If an I/O error occurs.
123117
* @throws XMLStreamException If an error occurs while handling XML streams.
124118
*/
125-
Optional<VersionQueryResponse> queryVersions(ProjectModel projectModel)
119+
static Optional<VersionQueryResponse> queryVersions(ProjectModel projectModel)
126120
throws URISyntaxException, IOException, XMLStreamException {
127121
Set<VersionDefinition> queryVersionResult =
128122
queryVersions(projectModel, Collections.emptyList());
@@ -183,7 +177,7 @@ Optional<VersionQueryResponse> queryVersions(ProjectModel projectModel)
183177
* @param version The version string to map.
184178
* @return the mapped semantic version.
185179
*/
186-
private Version mapVersion(String version) {
180+
private static Version mapVersion(String version) {
187181
String fixedVersion = version + (version.startsWith("1.") ? ".0" : ".0.0");
188182
return Version.valueOf(fixedVersion);
189183
}
@@ -194,7 +188,8 @@ private Version mapVersion(String version) {
194188
* @param projectModel Project Model (Context) class
195189
* @param commandList do not use (required for tests)
196190
*/
197-
Collection<Dependency> queryDependency(ProjectModel projectModel, List<Command> commandList)
191+
static Collection<Dependency> queryDependency(
192+
ProjectModel projectModel, List<Command> commandList)
198193
throws URISyntaxException, IOException, XMLStreamException {
199194
CommandChain chain = CommandChain.createForDependencyQuery(projectModel.getQueryType());
200195

@@ -223,7 +218,7 @@ Collection<Dependency> queryDependency(ProjectModel projectModel, List<Command>
223218
* @param projectModel Project Model (Context) class
224219
* @param commandList do not use (required for tests)
225220
*/
226-
Set<VersionDefinition> queryVersions(ProjectModel projectModel, List<Command> commandList)
221+
static Set<VersionDefinition> queryVersions(ProjectModel projectModel, List<Command> commandList)
227222
throws URISyntaxException, IOException, XMLStreamException {
228223
CommandChain chain = CommandChain.createForVersionQuery(projectModel.getQueryType());
229224

@@ -246,7 +241,7 @@ Set<VersionDefinition> queryVersions(ProjectModel projectModel, List<Command> co
246241
return lastCommand.result;
247242
}
248243

249-
private void executeChain(
244+
private static void executeChain(
250245
List<Command> commandList, CommandChain chain, ProjectModel projectModel)
251246
throws URISyntaxException, IOException, XMLStreamException {
252247
if (!commandList.isEmpty()) {

0 commit comments

Comments
 (0)