1313
1414/** Facade for the POM Operator, providing methods for modifying and querying POM files. */
1515public 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