|
47 | 47 | import org.eclipse.esmf.aspectmodel.urn.AspectModelUrn; |
48 | 48 | import org.eclipse.esmf.aspectmodel.validation.services.AspectModelValidator; |
49 | 49 | import org.eclipse.esmf.metamodel.AspectModel; |
| 50 | +import org.eclipse.esmf.metamodel.impl.DefaultScalar; |
| 51 | +import org.eclipse.esmf.metamodel.impl.DefaultScalarValue; |
50 | 52 | import org.eclipse.esmf.samm.KnownVersion; |
51 | 53 |
|
52 | 54 | import io.micronaut.http.multipart.CompletedFileUpload; |
@@ -82,11 +84,10 @@ public AspectModelResult getModel( final AspectModelUrn aspectModelUrn, final St |
82 | 84 | loadModelFromUrn( aspectModelUrn ); |
83 | 85 | validateModel( aspectModel ); |
84 | 86 |
|
85 | | - return aspectModel.files().stream() |
86 | | - .filter( a -> a.elements().stream().anyMatch( e -> e.urn().equals( aspectModelUrn ) ) ) |
87 | | - .findFirst() |
88 | | - .map( aspectModelFile -> new AspectModelResult( |
89 | | - aspectModelFile.filename(), |
| 87 | + return aspectModel.files().stream().filter( a -> a.elements().stream().anyMatch( |
| 88 | + e -> ( e instanceof DefaultScalarValue && ( (DefaultScalarValue) e ).getType() |
| 89 | + .equals( new DefaultScalar( aspectModelUrn.toString() ) ) ) || e.urn().equals( aspectModelUrn ) ) ).findFirst() |
| 90 | + .map( aspectModelFile -> new AspectModelResult( aspectModelFile.filename(), |
90 | 91 | AspectSerializer.INSTANCE.aspectModelFileToString( aspectModelFile ) ) ) |
91 | 92 | .orElseThrow( () -> new FileNotFoundException( "Aspect Model not found" ) ); |
92 | 93 | } catch ( final ModelResolutionException e ) { |
@@ -126,11 +127,8 @@ public void createOrSaveModel( final String turtleData, final AspectModelUrn asp |
126 | 127 | ModelUtils.createFile( newFile ); |
127 | 128 |
|
128 | 129 | final AspectModelFile createdFile = aspectModelSupplier.get().files().stream() |
129 | | - .filter( aspectModelFile -> aspectModelFile.sourceLocation() |
130 | | - .map( src -> src.equals( newFile.toUri() ) ) |
131 | | - .orElse( false ) ) |
132 | | - .findFirst() |
133 | | - .orElseThrow( () -> new FileNotFoundException( "Created aspect model file not found: " + newFile ) ); |
| 130 | + .filter( aspectModelFile -> aspectModelFile.sourceLocation().map( src -> src.equals( newFile.toUri() ) ).orElse( false ) ) |
| 131 | + .findFirst().orElseThrow( () -> new FileNotFoundException( "Created aspect model file not found: " + newFile ) ); |
134 | 132 |
|
135 | 133 | AspectSerializer.INSTANCE.write( createdFile ); |
136 | 134 | } catch ( final IOException e ) { |
@@ -184,9 +182,8 @@ public MigrationResult migrateWorkspace( final boolean setNewVersion, final Path |
184 | 182 | final List<String> errors = new ArrayList<>(); |
185 | 183 |
|
186 | 184 | try { |
187 | | - getAllNamespaces( false ).forEach( |
188 | | - ( namespace, versions ) -> versions.forEach( |
189 | | - version -> processVersion( namespace, version, setNewVersion, errors, metaModelStoragePath ) ) ); |
| 185 | + getAllNamespaces( false ).forEach( ( namespace, versions ) -> versions.forEach( |
| 186 | + version -> processVersion( namespace, version, setNewVersion, errors, metaModelStoragePath ) ) ); |
190 | 187 | return new MigrationResult( true, errors ); |
191 | 188 | } catch ( final Exception e ) { |
192 | 189 | errors.add( e.getMessage() ); |
@@ -244,8 +241,7 @@ private void applyNamespaceVersionChange( final AspectModel aspectModel, final L |
244 | 241 | } |
245 | 242 |
|
246 | 243 | ModelUtils.createFile( updatedFile.namespaceUrn(), |
247 | | - updatedFile.filename().orElseThrow( () -> new FileHandlingException( "Filename missing" ) ), |
248 | | - metaModelStoragePath ); |
| 244 | + updatedFile.filename().orElseThrow( () -> new FileHandlingException( "Filename missing" ) ), metaModelStoragePath ); |
249 | 245 |
|
250 | 246 | AspectSerializer.INSTANCE.write( updatedFile ); |
251 | 247 | } catch ( final IOException e ) { |
|
0 commit comments