23
23
24
24
import org .eclipse .esmf .aspectmodel .resolver .exceptions .InvalidVersionException ;
25
25
import org .eclipse .esmf .metamodel .vocabulary .RdfNamespace ;
26
+ import org .eclipse .esmf .metamodel .vocabulary .SammNs ;
26
27
import org .eclipse .esmf .samm .KnownVersion ;
27
28
28
29
import com .google .common .collect .Streams ;
36
37
public class BammUriRewriter extends AbstractUriRewriter {
37
38
private final BammVersion bammVersion ;
38
39
39
- private static final String SAMM_C_PREFIX = "samm-c" ;
40
- private static final String SAMM_E_PREFIX = "samm-e" ;
41
-
42
40
public BammUriRewriter ( final BammVersion bammVersion ) {
43
41
// Translating versions will only fail if there are no SAMM versions (i.e., KnownVersion) for the versions in BAMM_VERSION
44
42
super ( KnownVersion .fromVersionString ( bammVersion .versionString () ).orElseThrow ( () ->
@@ -52,10 +50,10 @@ protected Map<String, String> buildPrefixMap( final Model sourceModel, final Map
52
50
final Map <String , String > oldToNewNamespaces ) {
53
51
return sourceModel .getNsPrefixMap ().keySet ().stream ()
54
52
.map ( prefix -> switch ( prefix ) {
55
- case "bamm" -> Map .entry ( "samm" , targetPrefixes .get ( "samm" ) );
56
- case "bamm-c" -> Map .entry ( SAMM_C_PREFIX , targetPrefixes .get ( SAMM_C_PREFIX ) );
57
- case "bamm-e" -> Map .entry ( SAMM_E_PREFIX , targetPrefixes .get ( SAMM_E_PREFIX ) );
58
- case "unit" -> Map .entry ( "unit" , targetPrefixes .get ( "unit" ) );
53
+ case "bamm" -> Map .entry ( SammNs . SAMM . getShortForm () , targetPrefixes .get ( SammNs . SAMM . getShortForm () ) );
54
+ case "bamm-c" -> Map .entry ( SammNs . SAMMC . getShortForm () , targetPrefixes .get ( SammNs . SAMMC . getShortForm () ) );
55
+ case "bamm-e" -> Map .entry ( SammNs . SAMME . getShortForm () , targetPrefixes .get ( SammNs . SAMME . getShortForm () ) );
56
+ case "unit" -> Map .entry ( SammNs . UNIT . getShortForm () , targetPrefixes .get ( SammNs . UNIT . getShortForm () ) );
59
57
default -> Map .entry ( prefix , rewriteUri ( sourceModel .getNsPrefixURI ( prefix ), oldToNewNamespaces )
60
58
.orElse ( sourceModel .getNsPrefixURI ( prefix ) ) );
61
59
} )
@@ -66,10 +64,12 @@ protected Map<String, String> buildPrefixMap( final Model sourceModel, final Map
66
64
protected Map <String , String > buildReplacementPrefixMap ( final Model sourceModel , final Map <String , String > targetPrefixes ) {
67
65
// The mapping of the URNs of the legacy BAMM Aspect Meta model to their corresponding SAMM counterparts
68
66
return Map .of (
69
- "urn:bamm:io.openmanufacturing:meta-model:" + bammVersion .versionString () + "#" , targetPrefixes .get ( "samm" ),
70
- "urn:bamm:io.openmanufacturing:characteristic:" + bammVersion .versionString () + "#" , targetPrefixes .get ( SAMM_C_PREFIX ),
71
- "urn:bamm:io.openmanufacturing:entity:" + bammVersion .versionString () + "#" , targetPrefixes .get ( SAMM_E_PREFIX ),
72
- "urn:bamm:io.openmanufacturing:unit:" + bammVersion .versionString () + "#" , targetPrefixes .get ( "unit" )
67
+ "urn:bamm:io.openmanufacturing:meta-model:" + bammVersion .versionString () + "#" ,
68
+ targetPrefixes .get ( SammNs .SAMM .getShortForm () ),
69
+ "urn:bamm:io.openmanufacturing:characteristic:" + bammVersion .versionString () + "#" ,
70
+ targetPrefixes .get ( SammNs .SAMMC .getShortForm () ),
71
+ "urn:bamm:io.openmanufacturing:entity:" + bammVersion .versionString () + "#" , targetPrefixes .get ( SammNs .SAMME .getShortForm () ),
72
+ "urn:bamm:io.openmanufacturing:unit:" + bammVersion .versionString () + "#" , targetPrefixes .get ( SammNs .UNIT .getShortForm () )
73
73
);
74
74
}
75
75
@@ -119,6 +119,7 @@ public Model migrate( final Model sourceModel ) {
119
119
120
120
sourceModel .removeAll ();
121
121
remappedStatements .forEach ( sourceModel ::add );
122
+ sourceModel .clearNsPrefixMap ();
122
123
sourceModel .setNsPrefixes ( buildPrefixMap ( sourceModel , targetPrefixes , oldToNewNamespaces ) );
123
124
return sourceModel ;
124
125
}
0 commit comments