|  | -- @atlcompiler atl2006 | 
|  | -- @path CMIS=/jwt-ecm-sync-cmis-model/src/org/eclipse/jwt/ecm/sync/cmis/ecore/CMISSyncModel.ecore | 
|  | -- @path JWT=/jwt-metamodel/src/org/eclipse/jwt/meta/ecore/JWTMetaModel.ecore | 
|  |  | 
|  | module jwt2cmis; | 
|  | create OUT : CMIS from IN : JWT; | 
|  |  | 
|  | helper context JWT!Package def: canonicalName(): String = | 
|  | if self.superpackage.oclIsUndefined() then | 
|  | self.name | 
|  | else | 
|  | self.superpackage.canonicalName() + '.' + self.name | 
|  | endif; | 
|  |  | 
|  | helper context JWT!PackageableElement def: canonicalName(): String = | 
|  | self.package.canonicalName() + '.' + self.name; | 
|  |  | 
|  | rule Model2SyncRoot { | 
|  | from | 
|  | s: JWT!Model | 
|  | to | 
|  | thisModelsRoot: CMIS!SyncFolder ( | 
|  | id <- s.canonicalName(), | 
|  | properties <- thisModelsRoot.properties.append(typeProperty1), | 
|  | properties <- thisModelsRoot.properties.append(nameProperty), | 
|  | parents <- Sequence{demoRoot} | 
|  | ), | 
|  | nameProperty: CMIS!StringToObjectMapEntry(key <- 'cmis:name', value <- s.name), | 
|  | typeProperty1: CMIS!StringToObjectMapEntry(key <- 'cmis:objectTypeId', value <- 'cmis:folder'), | 
|  | demoRoot: CMIS!SyncFolder ( | 
|  | id <- 'demoRoot' | 
|  | ) | 
|  | } | 
|  |  | 
|  | rule Activity2Document { | 
|  | from | 
|  | s: JWT!Activity | 
|  | to | 
|  | t: CMIS!SyncDocument ( | 
|  | id <- s.canonicalName(), | 
|  | parents <- JWT!Model.allInstances(), | 
|  | properties <- t.properties.append(typeProperty), | 
|  | properties <- t.properties.append(nameProperty), | 
|  | contentStream <- thisModule.exportToSvg(s) | 
|  | ), | 
|  | typeProperty: CMIS!StringToObjectMapEntry(key <- 'cmis:objectTypeId', value <- 'cmis:document'), | 
|  | nameProperty: CMIS!StringToObjectMapEntry(key <- 'cmis:name', value <- s.name) | 
|  | } |