@@ -200,40 +200,42 @@ public DefaultModelBuilder(
200200 }
201201
202202 public ModelBuilderSession newSession () {
203- return new ModelBuilderSession () {
204- DefaultModelBuilderSession mainSession ;
205-
206- /**
207- * Builds a model based on the provided ModelBuilderRequest.
208- *
209- * @param request The request containing the parameters for building the model.
210- * @return The result of the model building process.
211- * @throws ModelBuilderException If an error occurs during model building.
212- */
213- @ Override
214- public ModelBuilderResult build (ModelBuilderRequest request ) throws ModelBuilderException {
215- // Create or derive a session based on the request
216- DefaultModelBuilderSession session ;
217- if (mainSession == null ) {
218- mainSession = new DefaultModelBuilderSession (request );
219- session = mainSession ;
220- } else {
221- session = mainSession .derive (request , new DefaultModelBuilderResult ());
222- }
223- // Build the request
224- if (request .getRequestType () == ModelBuilderRequest .RequestType .BUILD_PROJECT ) {
225- // build the build poms
226- session .buildBuildPom ();
227- } else {
228- // simply build the effective model
229- session .buildEffectiveModel (new LinkedHashSet <>());
230- }
231- return session .result ;
203+ return new ModelBuilderSessionImpl ();
204+ }
205+
206+ protected class ModelBuilderSessionImpl implements ModelBuilderSession {
207+ ModelBuilderSessionState mainSession ;
208+
209+ /**
210+ * Builds a model based on the provided ModelBuilderRequest.
211+ *
212+ * @param request The request containing the parameters for building the model.
213+ * @return The result of the model building process.
214+ * @throws ModelBuilderException If an error occurs during model building.
215+ */
216+ @ Override
217+ public ModelBuilderResult build (ModelBuilderRequest request ) throws ModelBuilderException {
218+ // Create or derive a session based on the request
219+ ModelBuilderSessionState session ;
220+ if (mainSession == null ) {
221+ mainSession = new ModelBuilderSessionState (request );
222+ session = mainSession ;
223+ } else {
224+ session = mainSession .derive (request , new DefaultModelBuilderResult ());
225+ }
226+ // Build the request
227+ if (request .getRequestType () == ModelBuilderRequest .RequestType .BUILD_PROJECT ) {
228+ // build the build poms
229+ session .buildBuildPom ();
230+ } else {
231+ // simply build the effective model
232+ session .buildEffectiveModel (new LinkedHashSet <>());
232233 }
233- };
234+ return session .result ;
235+ }
234236 }
235237
236- protected class DefaultModelBuilderSession implements ModelProblemCollector {
238+ protected class ModelBuilderSessionState implements ModelProblemCollector {
237239 private static final Pattern REGEX = Pattern .compile ("\\ $\\ {([^}]+)}" );
238240
239241 final Session session ;
@@ -251,7 +253,7 @@ protected class DefaultModelBuilderSession implements ModelProblemCollector {
251253 List <RemoteRepository > externalRepositories ;
252254 List <RemoteRepository > repositories ;
253255
254- DefaultModelBuilderSession (ModelBuilderRequest request ) {
256+ ModelBuilderSessionState (ModelBuilderRequest request ) {
255257 this (
256258 request .getSession (),
257259 request ,
@@ -274,7 +276,7 @@ static List<RemoteRepository> repos(ModelBuilderRequest request) {
274276 }
275277
276278 @ SuppressWarnings ("checkstyle:ParameterNumber" )
277- private DefaultModelBuilderSession (
279+ private ModelBuilderSessionState (
278280 Session session ,
279281 ModelBuilderRequest request ,
280282 DefaultModelBuilderResult result ,
@@ -296,26 +298,26 @@ private DefaultModelBuilderSession(
296298 this .result .setSource (this .request .getSource ());
297299 }
298300
299- DefaultModelBuilderSession derive (ModelSource source ) {
301+ ModelBuilderSessionState derive (ModelSource source ) {
300302 return derive (source , new DefaultModelBuilderResult (result ));
301303 }
302304
303- DefaultModelBuilderSession derive (ModelSource source , DefaultModelBuilderResult result ) {
305+ ModelBuilderSessionState derive (ModelSource source , DefaultModelBuilderResult result ) {
304306 return derive (ModelBuilderRequest .build (request , source ), result );
305307 }
306308
307309 /**
308310 * Creates a new session, sharing cached datas and propagating errors.
309311 */
310- DefaultModelBuilderSession derive (ModelBuilderRequest request ) {
312+ ModelBuilderSessionState derive (ModelBuilderRequest request ) {
311313 return derive (request , new DefaultModelBuilderResult (result ));
312314 }
313315
314- DefaultModelBuilderSession derive (ModelBuilderRequest request , DefaultModelBuilderResult result ) {
316+ ModelBuilderSessionState derive (ModelBuilderRequest request , DefaultModelBuilderResult result ) {
315317 if (session != request .getSession ()) {
316318 throw new IllegalArgumentException ("Session mismatch" );
317319 }
318- return new DefaultModelBuilderSession (
320+ return new ModelBuilderSessionState (
319321 session ,
320322 request ,
321323 result ,
@@ -669,7 +671,7 @@ private void buildBuildPom() throws ModelBuilderException {
669671 try (PhasingExecutor executor = createExecutor ()) {
670672 for (DefaultModelBuilderResult r : allResults ) {
671673 executor .execute (() -> {
672- DefaultModelBuilderSession mbs = derive (r .getSource (), r );
674+ ModelBuilderSessionState mbs = derive (r .getSource (), r );
673675 try {
674676 mbs .buildEffectiveModel (new LinkedHashSet <>());
675677 } catch (ModelBuilderException e ) {
@@ -1689,7 +1691,7 @@ private Model doLoadDependencyManagement(
16891691 .source (importSource )
16901692 .repositories (repositories )
16911693 .build ();
1692- DefaultModelBuilderSession modelBuilderSession = derive (importRequest );
1694+ ModelBuilderSessionState modelBuilderSession = derive (importRequest );
16931695 // build the effective model
16941696 modelBuilderSession .buildEffectiveModel (importIds );
16951697 importResult = modelBuilderSession .result ;
@@ -1816,7 +1818,7 @@ private static List<String> getSubprojects(Model activated) {
18161818 }
18171819
18181820 public Model buildRawModel (ModelBuilderRequest request ) throws ModelBuilderException {
1819- DefaultModelBuilderSession build = new DefaultModelBuilderSession (request );
1821+ ModelBuilderSessionState build = new ModelBuilderSessionState (request );
18201822 Model model = build .readRawModel ();
18211823 if (((ModelProblemCollector ) build ).hasErrors ()) {
18221824 throw build .newModelBuilderException ();
0 commit comments