@@ -133,10 +133,7 @@ public AspectModel load( final File file ) {
133
133
* @return the Aspect Model
134
134
*/
135
135
public AspectModel load ( final Collection <File > files ) {
136
- final List <AspectModelFile > migratedFiles = files .stream ()
137
- .map ( AspectModelFileLoader ::load )
138
- .map ( this ::migrate )
139
- .toList ();
136
+ final List <AspectModelFile > migratedFiles = files .stream ().map ( AspectModelFileLoader ::load ).map ( this ::migrate ).toList ();
140
137
final LoaderContext loaderContext = new LoaderContext ();
141
138
resolve ( migratedFiles , loaderContext );
142
139
return buildAspectModel ( loaderContext .loadedFiles () );
@@ -230,8 +227,8 @@ private AspectModel loadNamespacePackageFromStream( final InputStream inputStrea
230
227
231
228
while ( (entry = zis .getNextEntry ()) != null ) {
232
229
boolean isRelevantEntry =
233
- (hasAspectModelsFolder && entry .getName ().startsWith ( ASPECT_MODELS_FOLDER ) && entry .getName ().endsWith ( ".ttl" )) ||
234
- ( !hasAspectModelsFolder && entry .getName ().endsWith ( ".ttl" ));
230
+ (hasAspectModelsFolder && entry .getName ().startsWith ( ASPECT_MODELS_FOLDER ) && entry .getName ().endsWith ( ".ttl" )) || (
231
+ !hasAspectModelsFolder && entry .getName ().endsWith ( ".ttl" ));
235
232
236
233
if ( isRelevantEntry ) {
237
234
AspectModelFile aspectModelFile = migrate ( AspectModelFileLoader .load ( zis ) );
@@ -268,31 +265,25 @@ private AspectModelFile migrate( final AspectModelFile file ) {
268
265
return MetaModelVersionMigrator .INSTANCE .apply ( file );
269
266
}
270
267
271
- private record LoaderContext (
272
- Set <String > resolvedUrns ,
273
- Set <AspectModelFile > loadedFiles ,
274
- Deque <String > unresolvedUrns ,
275
- Deque <AspectModelFile > unresolvedFiles
276
- ) {
268
+ private record LoaderContext ( Set <String > resolvedUrns , Set <AspectModelFile > loadedFiles , Deque <String > unresolvedUrns ,
269
+ Deque <AspectModelFile > unresolvedFiles ) {
277
270
private LoaderContext () {
278
271
this ( new HashSet <>(), new HashSet <>(), new ArrayDeque <>(), new ArrayDeque <>() );
279
272
}
280
273
}
281
274
282
275
private Set <String > getAllUrnsInModel ( final Model model ) {
283
276
return Streams .stream ( model .listStatements ().mapWith ( statement -> {
284
- final Stream <String > subjectUri = statement .getSubject ().isURIResource ()
285
- ? Stream .of ( statement .getSubject ().getURI () )
286
- : Stream .empty ();
277
+ final Stream <String > subjectUri = statement .getSubject ().isURIResource () ?
278
+ Stream .of ( statement .getSubject ().getURI () ) :
279
+ Stream .empty ();
287
280
final Stream <String > propertyUri = Stream .of ( statement .getPredicate ().getURI () );
288
- final Stream <String > objectUri = statement .getObject ().isURIResource ()
289
- ? Stream .of ( statement .getObject ().asResource ().getURI () )
290
- : Stream .empty ();
291
-
292
- return Stream .of ( subjectUri , propertyUri , objectUri )
293
- .flatMap ( Function .identity () )
294
- .flatMap ( urn -> AspectModelUrn .from ( urn ).toJavaOptional ().stream () )
295
- .map ( AspectModelUrn ::toString );
281
+ final Stream <String > objectUri = statement .getObject ().isURIResource () ?
282
+ Stream .of ( statement .getObject ().asResource ().getURI () ) :
283
+ Stream .empty ();
284
+
285
+ return Stream .of ( subjectUri , propertyUri , objectUri ).flatMap ( Function .identity () )
286
+ .flatMap ( urn -> AspectModelUrn .from ( urn ).toJavaOptional ().stream () ).map ( AspectModelUrn ::toString );
296
287
} ) ).flatMap ( Function .identity () ).collect ( toSet () );
297
288
}
298
289
@@ -351,21 +342,14 @@ private Optional<AspectModelFile> applyResolutionStrategy( final String urn ) {
351
342
}
352
343
353
344
private void urnsFromModelNeedResolution ( final AspectModelFile modelFile , final LoaderContext context ) {
354
- Streams .stream ( modelFile .sourceModel ().listStatements ( null , RDF .type , (RDFNode ) null ) )
355
- .map ( Statement ::getSubject )
356
- .filter ( Resource ::isURIResource )
357
- .map ( Resource ::getURI )
358
- .filter ( uri -> uri .startsWith ( "urn:samm:" ) )
345
+ Streams .stream ( modelFile .sourceModel ().listStatements ( null , RDF .type , (RDFNode ) null ) ).map ( Statement ::getSubject )
346
+ .filter ( Resource ::isURIResource ).map ( Resource ::getURI ).filter ( uri -> uri .startsWith ( "urn:samm:" ) )
359
347
.forEach ( urn -> context .resolvedUrns ().add ( urn ) );
360
348
361
- getAllUrnsInModel ( modelFile .sourceModel () ).stream ()
362
- .filter ( urn -> !context .resolvedUrns ().contains ( urn ) )
363
- .filter ( urn -> !urn .startsWith ( XSD .NS ) )
364
- .filter ( urn -> !urn .startsWith ( RDF .uri ) )
365
- .filter ( urn -> !urn .startsWith ( SammNs .SAMM .getNamespace () ) )
366
- .filter ( urn -> !urn .startsWith ( SammNs .SAMMC .getNamespace () ) )
367
- .filter ( urn -> !urn .startsWith ( SammNs .SAMME .getNamespace () ) )
368
- .filter ( urn -> !urn .startsWith ( SammNs .UNIT .getNamespace () ) )
349
+ getAllUrnsInModel ( modelFile .sourceModel () ).stream ().filter ( urn -> !context .resolvedUrns ().contains ( urn ) )
350
+ .filter ( urn -> !urn .startsWith ( XSD .NS ) ).filter ( urn -> !urn .startsWith ( RDF .uri ) )
351
+ .filter ( urn -> !urn .startsWith ( SammNs .SAMM .getNamespace () ) ).filter ( urn -> !urn .startsWith ( SammNs .SAMMC .getNamespace () ) )
352
+ .filter ( urn -> !urn .startsWith ( SammNs .SAMME .getNamespace () ) ).filter ( urn -> !urn .startsWith ( SammNs .UNIT .getNamespace () ) )
369
353
.forEach ( urn -> context .unresolvedUrns ().add ( urn ) );
370
354
}
371
355
@@ -391,8 +375,7 @@ private void resolve( final List<AspectModelFile> inputFiles, final LoaderContex
391
375
}
392
376
393
377
while ( !context .unresolvedUrns ().isEmpty () ) {
394
- applyResolutionStrategy ( context .unresolvedUrns ().pop () )
395
- .map ( this ::migrate )
378
+ applyResolutionStrategy ( context .unresolvedUrns ().pop () ).map ( this ::migrate )
396
379
.ifPresent ( resolvedFile -> markModelFileAsLoaded ( resolvedFile , context ) );
397
380
}
398
381
}
@@ -412,11 +395,9 @@ private AspectModel buildAspectModel( final Collection<AspectModelFile> inputFil
412
395
final Model model = file .sourceModel ();
413
396
final ModelElementFactory modelElementFactory = new ModelElementFactory ( mergedModel , Map .of (), element -> aspectModelFile );
414
397
final List <ModelElement > fileElements = model .listStatements ( null , RDF .type , (RDFNode ) null ).toList ().stream ()
415
- .map ( Statement ::getSubject )
416
- .filter ( RDFNode ::isURIResource )
398
+ .map ( Statement ::getSubject ).filter ( RDFNode ::isURIResource )
417
399
.map ( resource -> mergedModel .createResource ( resource .getURI () ) )
418
- .map ( resource -> modelElementFactory .create ( ModelElement .class , resource ) )
419
- .toList ();
400
+ .map ( resource -> modelElementFactory .create ( ModelElement .class , resource ) ).toList ();
420
401
aspectModelFile .setElements ( fileElements );
421
402
elements .addAll ( fileElements );
422
403
}
0 commit comments