blob: 001cde73d5e15075f7c51dd000a3d1bc9b2864d4 [file] [log] [blame]
[comment
/*********************************************************************
* Copyright (c) 2019 Intecs Solutions SpA
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Intecs Solutions - Initial API and implementation
*
**********************************************************************/
/]
[comment encoding = UTF-8 /]
[module projectFileTemplate_sanmodel('http://www.polarsys.org/chess/SAN')/]
[template public projectFileTemplate_sanmodel(sanmodel : SANModel, projectName : String)]
[comment @main /]
[file (projectName.concat('.prj'), false, 'UTF-8')]
<?xml version="1.0" encoding="ASCII"?>
<models:Project xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:models="http://www.mobius.illinois.edu/projects" name="[projectName/]" lastSavedVersion="2.5.9.201902201008">
[let nodes : Sequence(Node) = sanmodel.getAllNodes()->asSequence()]
[for (node : Node | nodes)]
[if (node.oclIsKindOf(AtomicNode))]
<atomic key="[node.oclAsType(AtomicNode).model.replaceAll('\\.', '_')/]">
<value name="[node.oclAsType(AtomicNode).model.replaceAll('\\.', '_')/]" type="SAN Model"/>
</atomic>
[else]
[if (node.oclIsKindOf(ComposedNode) and node.eContainer().oclIsKindOf(SANModel))]
<composed key="[node.name.replaceAll('\\.', '_')/]">
<value name="[node.name.replaceAll('\\.', '_')/]" category="Composed" type="Rep/Join Model"/>
</composed>
[/if]
[/if]
[/for]
[/let]
</models:Project>
[/file]
[/template]
[comment to handle start place of fragments in a sequence diagram /]
[query public getStartPlace(ctx : OclAny) : String =
invoke('org.polarsys.chess.mobius.utils.TransformationUtil', 'getStartPlace()', Sequence{})/]
[query public getStartX(ctx : OclAny) : Integer =
invoke('org.polarsys.chess.mobius.utils.TransformationUtil', 'getStartX()', Sequence{})/]
[query public getStartY(ctx : OclAny) : Integer =
invoke('org.polarsys.chess.mobius.utils.TransformationUtil', 'getStartY()', Sequence{})/]
[query public setStartPlace(startPlace : String) : OclAny =
invoke('org.polarsys.chess.mobius.utils.TransformationUtil', 'setStartPlace(java.lang.String)', Sequence{startPlace})/]
[query public setStartX(startX : Integer) : OclAny =
invoke('org.polarsys.chess.mobius.utils.TransformationUtil', 'setStartX(java.lang.Integer)', Sequence{startX})/]
[query public setStartY(startY : Integer) : OclAny =
invoke('org.polarsys.chess.mobius.utils.TransformationUtil', 'setStartY(java.lang.Integer)', Sequence{startY})/]
[query public getEmptyStringSet(traceCtx : OclAny) : Set(String) =
invoke('org.polarsys.chess.mobius.utils.TransformationUtil', 'getEmptyStringSet()', Sequence{}) /]
[query public addToGlobalVars(name : String, globalvars : Set(String)) : OclAny =
invoke('org.polarsys.chess.mobius.utils.TransformationUtil', 'addToGlobalVars(java.lang.String, java.util.Set)', Sequence{name, globalvars}) /]