diff options
author | Sandro S. Andrade <sandroandrade@kde.org> | 2013-06-22 22:54:30 -0300 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-06-23 03:54:22 +0200 |
commit | b2b0a0ef671b362b58a309a5231426a3f21be67e (patch) | |
tree | 9c104fc7d40725d508011b403dd0e1d91f27e665 /scripts | |
parent | 9ba79ded05ec78858a9199ce9011f7037e72ca6b (diff) |
Provide support for profiles and profile applications
Change-Id: I73fe7c7c6145d2b15316d7fab7017f939c34470e
Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/normative-xmi/SADuSEProfile.qtxmi | 13 | ||||
-rw-r--r-- | scripts/normative-xmi/SADuSEProfile.xmi | 16 | ||||
-rw-r--r-- | scripts/normative-xmi/xmi2qt.xq | 5 |
3 files changed, 32 insertions, 2 deletions
diff --git a/scripts/normative-xmi/SADuSEProfile.qtxmi b/scripts/normative-xmi/SADuSEProfile.qtxmi new file mode 100644 index 00000000..117cb2e4 --- /dev/null +++ b/scripts/normative-xmi/SADuSEProfile.qtxmi @@ -0,0 +1,13 @@ +<qtxmi:XMI xmlns:qtxmi="http://www.qt-project.org" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:uml="http://www.omg.org/spec/UML/20110701"> + <namespace path="QtSADuse"> + <class name="QSADuseProcessComponent" isAbstract="false"> + <forwarddecl namespace="QtUml" class="QUmlComponent"/> + <associationend isDerived="false" isDerivedUnion="false" isReadOnly="false" subsettedProperty="" redefinedProperty="" id="ProcessComponent-base_Component" defaultValue="" aggregation="none" oppositeEnd="" subsettedBy=""> + <accessor return="QUmlComponent *" name="base_Component" constness=" const"/> + <accessor return="void " name="setBase_Component" constness=""> + <parameter type="QUmlComponent *" name="base_Component"/> + </accessor> + </associationend> + </class> + </namespace> +</qtxmi:XMI> diff --git a/scripts/normative-xmi/SADuSEProfile.xmi b/scripts/normative-xmi/SADuSEProfile.xmi new file mode 100644 index 00000000..04f57488 --- /dev/null +++ b/scripts/normative-xmi/SADuSEProfile.xmi @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xmi:XMI xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:uml="http://www.omg.org/spec/UML/20110701"> + <uml:Profile name="SADuSEProfile" xmi:id="" URI="http://liveblue.wordpress.com/SADuSEProfile"> + <elementImport xmi:type="uml:ElementImport" xmi:id="_elementImport.0"> + <importedElement href=":/metamodels/UML.xmi#Component"/> + </elementImport> + <packagedElement xmi:type="uml:Stereotype" name="ProcessComponent" xmi:id="ProcessComponent"> + <ownedAttribute xmi:type="uml:Property" visibility="public" name="base_Component" xmi:id="ProcessComponent-base_Component" association="A_component_processComponent"> + <type xmi:type="uml:Class" href=":/metamodels/UML.xmi#Component"/> + </ownedAttribute> + </packagedElement> + <packagedElement xmi:type="uml:Extension" name="A_component_processComponent" xmi:id="A_component_processComponent" memberEnd="A_component_processComponent-ProcessComponent ProcessComponent-base_Component"> + <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="A_component_processComponent-ProcessComponent" name="extension_ProcessComponent" type="ProcessComponent" aggregation="composite" association="A_component_processComponent"/> + </packagedElement> + </uml:Profile> +</xmi:XMI> diff --git a/scripts/normative-xmi/xmi2qt.xq b/scripts/normative-xmi/xmi2qt.xq index 594852bc..1d718d99 100644 --- a/scripts/normative-xmi/xmi2qt.xq +++ b/scripts/normative-xmi/xmi2qt.xq @@ -18,6 +18,7 @@ declare function qtxmi:mappedBaseNamespace($xmiFile as xs:string*) as xs:string* else if ($xmiFile = "MOF.xmi") then "QtMof" else if ($xmiFile = "MOF-merged.xmi") then "QtMof" else if ($xmiFile = "DuSE.xmi") then "QtDuse" + else if ($xmiFile = "SADuSEProfile.xmi") then "QtSADuse" else "QtUnknown" }; @@ -236,11 +237,11 @@ declare function qtxmi:subsettedBy($property as node()) as xs:string { <qtxmi:XMI xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:uml="http://www.omg.org/spec/UML/20110701" xmlns:qtxmi="http://www.qt-project.org"> { -for $namespace in distinct-values((doc($xmiFile)//packagedElement[@xmi:type="uml:Package"] | doc($xmiFile)//uml:Package)/@xmi:id) +for $namespace in distinct-values((doc($xmiFile)//packagedElement[@xmi:type="uml:Package" or @xmi:type="uml:Profile"] | doc($xmiFile)//uml:Package | doc($xmiFile)//uml:Profile)/@xmi:id) return <namespace path="{replace(replace(replace(concat(qtxmi:mappedBaseNamespace($xmiFile), $namespace), "-", "/"), "::", "/"), "/$", "")}"> { -for $class in doc($xmiFile)//*[@xmi:id=$namespace]/packagedElement[@xmi:type="uml:Class"] +for $class in doc($xmiFile)//*[@xmi:id=$namespace]/packagedElement[@xmi:type="uml:Class" or @xmi:type="uml:Stereotype"] let $namespace := concat(replace(concat(qtxmi:mappedBaseNamespace($xmiFile), $namespace), "-", "::"), "::") let $superClasses := $class/generalization/@general | $class/generalization/general/@xmi:idref | $class/generalization/general/@href let $isAbstract := if ($class/@isAbstract) then $class/@isAbstract else "false" |