blob: ce4cb9f0a0832204c81b4e268e09a8c04eadecd4 [file] [log] [blame]
-- @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)
}