|
From: Chris M. <zm...@us...> - 2001-12-01 19:25:29
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools
In directory usw-pr-cvs1:/tmp/cvs-serv4144
Modified Files:
common_assoc_code.xsl common_code.xsl gen_assoc_ccs.xsl
gen_assoc_hs.xsl
Log Message:
Associations complete.
Index: common_assoc_code.xsl
===================================================================
RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/common_assoc_code.xsl,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** common_assoc_code.xsl 2001/09/27 21:51:09 1.1
--- common_assoc_code.xsl 2001/12/01 19:25:23 1.2
***************
*** 8,46 ****
! <xsl:template name="assoc_collection_name">
! <xsl:param name="lower"/>
! <xsl:param name="upper"/>
! <xsl:param name="is_ordered"/>
! <xsl:param name="is_unique"/>
! <xsl:param name="aggregation"/>
- <xsl:variable name="collection">
- <xsl:call-template name="collection_name">
- <xsl:with-param name="lower">
- <xsl:value-of select="$lower"/>
- </xsl:with-param>
- <xsl:with-param name="upper">
- <xsl:value-of select="$upper"/>
- </xsl:with-param>
- <xsl:with-param name="is_ordered">
- <xsl:value-of select="$is_ordered"/>
- </xsl:with-param>
- <xsl:with-param name="is_unique">
- <xsl:value-of select="$is_unique"/>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
-
<xsl:choose>
<!-- Why? -->
<xsl:when test='$collection = "Bag"'>
! <xsl:text>_ptr </xsl:text>
</xsl:when>
<xsl:when test='string-length($collection) = 0'>
! <xsl:text>_ptr </xsl:text>
</xsl:when>
<xsl:otherwise>
! <xsl:value-of select="$collection"/>
! <xsl:text>* </xsl:text>
</xsl:otherwise>
</xsl:choose>
--- 8,24 ----
! <xsl:template name="assoc_collection_ext">
! <xsl:param name="collection"/>
<xsl:choose>
<!-- Why? -->
<xsl:when test='$collection = "Bag"'>
! <xsl:text>_ptr</xsl:text>
</xsl:when>
<xsl:when test='string-length($collection) = 0'>
! <xsl:text>_ptr</xsl:text>
</xsl:when>
<xsl:otherwise>
! <xsl:text>*</xsl:text>
</xsl:otherwise>
</xsl:choose>
Index: common_code.xsl
===================================================================
RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/common_code.xsl,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** common_code.xsl 2001/09/27 21:51:09 1.8
--- common_code.xsl 2001/12/01 19:25:23 1.9
***************
*** 189,214 ****
! <!-- Template for mangling names.
! Special care must be taken to process idl_substitute name tags.
-->
-
- <xsl:template match="Model:Tag" mode="mangle-name">
- <xsl:param name="the_xmi_id"/>
<xsl:choose>
! <xsl:when test='contains(@elements," ")'>
! <xsl:if test='substring-before(@elements," ") = $the_xmi_id'>
! <xsl:value-of select="@name"/>
! </xsl:if>
! <xsl:if test='substring-after(@elements," ") = $the_xmi_id'>
! <xsl:value-of select="@name"/>
! </xsl:if>
</xsl:when>
<xsl:otherwise>
! <xsl:if test='@elements = $the_xmi_id'>
! <xsl:value-of select="@name"/>
! </xsl:if>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
--- 189,238 ----
! <!-- Template for testing space separated lists.
-->
+ <xsl:template name="list-contains">
+ <xsl:param name="the_list"/>
+ <xsl:param name="the_item"/>
<xsl:choose>
! <xsl:when test='contains($the_list, " ")'>
! <xsl:choose>
! <xsl:when test='starts-with($the_list, $the_item)'>
! <xsl:value-of select="true()"/>
! </xsl:when>
! <xsl:otherwise>
! <xsl:call-template name="list-contains">
! <xsl:with-param name="the_list"
! select='substring-after($the_list," ")'/>
! <xsl:with-param name="the_item" select="$the_item"/>
! </xsl:call-template>
! </xsl:otherwise>
! </xsl:choose>
</xsl:when>
<xsl:otherwise>
! <xsl:value-of select="$the_list = $the_item"/>
</xsl:otherwise>
</xsl:choose>
+
+ </xsl:template>
+
+
+ <!-- Template for mangling names.
+ Special care must be taken to process idl_substitute name tags.
+ -->
+
+
+ <xsl:template match="Model:Tag" mode="mangle-name">
+ <xsl:param name="the_xmi_id"/>
+ <xsl:variable name="elems" select="@elements"/>
+ <xsl:variable name="elems_contains_xmi_id">
+ <xsl:call-template name="list-contains">
+ <xsl:with-param name="the_list" select="$elems"/>
+ <xsl:with-param name="the_item" select="$the_xmi_id"/>
+ </xsl:call-template>
+ </xsl:variable>
+ <xsl:if test='$elems_contains_xmi_id="true"'>
+ <xsl:value-of select='@name'/>
+ </xsl:if>
</xsl:template>
***************
*** 278,281 ****
--- 302,333 ----
</xsl:if>
+ </xsl:template>
+
+
+
+ <!-- Templates for finding a nodes package. -->
+ <!-- These use the package_name mode and setup the package_name variable. -->
+
+ <xsl:template match="*" mode="package_name"/>
+
+ <xsl:template
+ match="Model:DataType.typeCode | XMI.CorbaTcAlias | XMI.CorbaTypeCode"
+ mode="package_name">
+ <xsl:apply-templates mode="package_name"/>
+ </xsl:template>
+
+ <xsl:template match="XMI.CorbaTcBoolean" mode="package_name">
+ <xsl:text>CORBA</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="XMI.CorbaTcEnum" mode="package_name">
+ <xsl:text>DataTypes</xsl:text>
+ </xsl:template>
+
+ <xsl:template match="Model:Class" mode="package_name">
+ <xsl:call-template name="toName">
+ <xsl:with-param name="text" select="ancestor::Model:Package/@name"/>
+ <xsl:with-param name="position" select="1"/>
+ </xsl:call-template>
</xsl:template>
Index: gen_assoc_ccs.xsl
===================================================================
RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_assoc_ccs.xsl,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** gen_assoc_ccs.xsl 2001/10/31 22:40:38 1.2
--- gen_assoc_ccs.xsl 2001/12/01 19:25:23 1.3
***************
*** 12,15 ****
--- 12,350 ----
+ <xsl:template name="single-nav-impl">
+ <xsl:param name="end"/>
+ <xsl:param name="retv_param_package"/>
+ <xsl:param name="retv_param_type"/>
+ <xsl:param name="retv_collection_kind"/>
+ <xsl:param name="assoc_name"/>
+ <xsl:param name="func_name"/>
[...1136 lines suppressed...]
! <xsl:value-of select="$assoc_end2_name"/>
<xsl:text> ) </xsl:text>
<xsl:text>throw( </xsl:text>
***************
*** 675,681 ****
<xsl:text> i != fc_ref_all_links.end(); i++) </xsl:text>
<xsl:text> { if ((*i)[0] == </xsl:text>
! <xsl:value-of select="$assoc_end1_type_name"/>
<xsl:text> && (*i)[1] == </xsl:text>
! <xsl:value-of select="$assoc_end2_type_name"/>
<xsl:text>) </xsl:text>
<xsl:text> { fc_ref_all_links.erase(i); </xsl:text>
--- 963,969 ----
<xsl:text> i != fc_ref_all_links.end(); i++) </xsl:text>
<xsl:text> { if ((*i)[0] == </xsl:text>
! <xsl:value-of select="$assoc_end1_name"/>
<xsl:text> && (*i)[1] == </xsl:text>
! <xsl:value-of select="$assoc_end2_name"/>
<xsl:text>) </xsl:text>
<xsl:text> { fc_ref_all_links.erase(i); </xsl:text>
Index: gen_assoc_hs.xsl
===================================================================
RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_assoc_hs.xsl,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** gen_assoc_hs.xsl 2001/09/27 21:51:09 1.4
--- gen_assoc_hs.xsl 2001/12/01 19:25:23 1.5
***************
*** 14,20 ****
<xsl:template name="ASSOCIATION">
<xsl:param name="assocName"/>
! <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/>
<xsl:variable name="ASSOC_NAME">
<xsl:call-template name="to_upper">
--- 14,22 ----
<xsl:template name="ASSOCIATION">
<xsl:param name="assocName"/>
[...577 lines suppressed...]
! <xsl:value-of select="$assocEnd2PackageName"/>
! <xsl:text>::</xsl:text>
<xsl:value-of select="$assocEnd2TypeName"/>
<xsl:text>_ptr </xsl:text>
***************
*** 627,633 ****
<xalan:write select="$filename">
<xsl:call-template name="ASSOCIATION">
! <xsl:with-param name="assocName">
! <xsl:value-of select="$assocName"/>
! </xsl:with-param>
</xsl:call-template>
</xalan:write>
--- 749,754 ----
<xalan:write select="$filename">
<xsl:call-template name="ASSOCIATION">
! <xsl:with-param name="assocName" select="$assocName"/>
! <xsl:with-param name="package_name" select="$package_name"/>
</xsl:call-template>
</xalan:write>
|