Ignore:
Timestamp:
03/19/14 18:24:17 (11 years ago)
Author:
wojtekp
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • DCWoRMS/branches/coolemall/simulator/xslt/debb/DCwormsDEBBUpdater.xsl

    r1260 r1302  
    182182                        <xsl:apply-templates select="profile" /> 
    183183                        <!-- device --> 
    184                         <xsl:apply-templates select="device" /> 
     184                        <xsl:apply-templates select="device"> 
     185                                <xsl:with-param name="parResourceClass" select="$resourceClass" />               
     186                        </xsl:apply-templates> 
     187                                                 
    185188                        <!-- resourceUnit --> 
    186189                        <xsl:apply-templates select="resourceUnit" /> 
     
    194197         
    195198        <xsl:template match="device"> 
     199                <xsl:param name="parResourceClass"/> 
    196200                <xsl:copy copy-namespaces="no"> 
    197201                        <xsl:copy-of select="@*" /> 
     
    222226                         
    223227                        <xsl:variable name="resourceClass" select="@class"/> 
    224                         <xsl:variable name="resourceType" select="@type"/> 
     228                        <!--  
     229                        <xsl:variable name="resourceType" select="@type"/>                       
     230                         --> 
     231                        <xsl:variable name="resourceType"> 
     232                                <xsl:value-of select="concat($parResourceClass, $resourceClass)" /> 
     233                        </xsl:variable> 
    225234                        <xsl:variable name="resourceName" select="@name"/> 
    226235                         
     
    230239                                <xsl:variable name="estimationPluginName" select="fun:getEnergyEstimator($resourceClass, $resourceType, $resourceName)"/> 
    231240                                <xsl:variable name="hasProfile" select="profile != ''"/> 
    232                                 <xsl:variable name="hasPowerProfile" select="profile/powerProfile != ''"/> 
    233241         
    234242                                <xsl:if test="$hasProfile = false() and $estimationPluginName != ''"> 
     
    246254                         
    247255                        <!-- profile --> 
    248                         <xsl:apply-templates select="profile" /> 
     256                        <xsl:apply-templates select="profile" mode="device"> 
     257                                <xsl:with-param name="parResourceClass" select="$parResourceClass" />    
     258                        </xsl:apply-templates> 
    249259                                                 
    250260                </xsl:copy> 
     
    253263 
    254264        <xsl:function name="fun:getEnergyEstimator"> 
    255                 <xsl:param name="computingResourceClass"/> 
    256                 <xsl:param name="computingResourceType"/> 
    257                 <xsl:param name="computingResourceName"/> 
     265                <xsl:param name="resourceClass"/> 
     266                <xsl:param name="resourceType"/> 
     267                <xsl:param name="resourceName"/> 
    258268                 
    259269    
    260270                <xsl:variable name="estimatorName" > 
    261271                        <xsl:choose> 
    262                                 <xsl:when test="$nestedDoc//energyEstimationPlugin[resources/class=$computingResourceClass and resources/name=$computingResourceName]/name !=''"> 
    263                                         <xsl:value-of select="$nestedDoc//energyEstimationPlugin[resources/class=$computingResourceClass and resources/name=$computingResourceName]/name"/> 
    264                                 </xsl:when> 
    265                                 <xsl:when test="$nestedDoc//energyEstimationPlugin[resources/class=$computingResourceClass]/name !=''"> 
    266                                         <xsl:value-of  select="$nestedDoc//energyEstimationPlugin[resources/class=$computingResourceClass ]/name"/> 
     272                                <xsl:when test="$nestedDoc//energyEstimationPlugin[resources/class=$resourceClass and resource/type=$resourceType and resources/name=$resourceName]/name !=''"> 
     273                                        <xsl:value-of select="$nestedDoc//energyEstimationPlugin[resources/class=$resourceClass and resource/type=$resourceType and resources/name=$resourceName]/name"/> 
     274                                </xsl:when> 
     275                                <xsl:when test="$nestedDoc//energyEstimationPlugin[resources/class=$resourceClass and resources/type=$resourceType]/name !=''"> 
     276                                        <xsl:value-of select="$nestedDoc//energyEstimationPlugin[resources/class=$resourceClass and resources/type=$resourceType]/name"/> 
     277                                </xsl:when> 
     278                                <xsl:when test="$nestedDoc//energyEstimationPlugin[resources/class=$resourceClass and resources/name=$resourceName]/name !=''"> 
     279                                        <xsl:value-of select="$nestedDoc//energyEstimationPlugin[resources/class=$resourceClass and resources/name=$resourceName]/name"/> 
     280                                </xsl:when> 
     281                                <xsl:when test="$nestedDoc//energyEstimationPlugin[resources/class=$resourceClass]/name !=''"> 
     282                                        <xsl:value-of  select="$nestedDoc//energyEstimationPlugin[resources/class=$resourceClass ]/name"/> 
    267283                                </xsl:when> 
    268284                                <xsl:otherwise> 
     
    341357        </xsl:template> 
    342358 
     359        <xsl:template match="profile" mode="device"> 
     360                <xsl:param name="parResourceClass"/> 
     361                <xsl:copy copy-namespaces="no"> 
     362                        <xsl:copy-of select="@*" /> 
     363                         
     364                         
     365                        <xsl:variable name="resourceClass" select="../@class"/> 
     366                        <!--  
     367                        <xsl:variable name="resourceType" select="@type"/>                       
     368                         --> 
     369                        <xsl:variable name="resourceType"> 
     370                                <xsl:value-of select="concat($parResourceClass, $resourceClass)" /> 
     371                        </xsl:variable> 
     372                        <xsl:variable name="resourceName" select="../@name"/> 
     373                         
     374 
     375                        <!-- Don't add energyEstimationPlugin information if there is a template defined for the computingResource. 
     376                         It will appear in the template. --> 
     377                        <xsl:variable name="estimationPluginName" select="fun:getEnergyEstimator($resourceClass, $resourceType, $resourceName)"/> 
     378                        <xsl:variable name="hasPowerProfile" select="powerProfile != ''"/> 
     379 
     380                        <xsl:if test="$hasPowerProfile = false() and $estimationPluginName != ''"> 
     381                                        <xsl:element name="powerProfile"> 
     382                                                <xsl:element name="energyEstimationPlugin"> 
     383                                                        <xsl:element name="name"> 
     384                                                                <xsl:value-of select="$estimationPluginName"/> 
     385                                                        </xsl:element> 
     386                                                </xsl:element> 
     387                                        </xsl:element> 
     388                        </xsl:if> 
     389                         
     390                        <xsl:apply-templates select="powerProfile" /> 
     391                        <xsl:apply-templates select="airThroughputProfile" /> 
     392 
     393                </xsl:copy> 
     394        </xsl:template> 
     395         
    343396        <xsl:template match="powerProfile"> 
    344397                <xsl:copy copy-namespaces="no"> 
Note: See TracChangeset for help on using the changeset viewer.