[ https://issues.apache.org/jira/browse/DOXIASITETOOLS-185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hervé Boutemy updated DOXIASITETOOLS-185: ----------------------------------------- Description: custom field is an open XML element, that Velocity has to traverse to find expected data: on each traversal, a test has to be added. That leads to code like in Fluido skin: {code}#if ( $decoration.custom.getChild( 'fluidoSkin' ) && $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'skipGenerationDate' ) && $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'skipGenerationDate' ).getValue() == 'true' ){code} or {code}#if ( $decoration.custom.getChild('fluidoSkin') && $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'navBarStyle' ) ) #* *##set ( $navBarStyle = $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'navBarStyle' ).getValue() ){code} or {code}#if ( $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'breadcrumbDivider' ) ) #set ( $breadcrumbDivider = $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'breadcrumbDivider' ).getValue() ) #else #set ( $breadcrumbDivider = '/' ) #end{code} Adding 3 methods to decoration: - {{getCustomChild( "fluidoSkin.navBarStyle" )}} - {{getCustomChildValue( "fluidoSkin.navBarStyle" )}} - {{getCustomChildValue( "fluidoSkin.breadcrumbDivider", "/" )}} would permit to simplify: {code}#if ( $decoration.getCustomChildValue( 'fluidoSkin.skipGenerationDate' ) == 'true' ){code} and {code}#if ( $decoration.getCustomChild('fluidoSkin.navBarStyle' ) ) #* *##set ( $navBarStyle = $decoration.getCustomChild('fluidoSkin.navBarStyle' ).getValue() ){code} and {code}#set ( $breadcrumbDivider = $decoration.getCustomValue( 'fluidoSkin.breadcrumbDivider', '/' ) ){code} was: custom field is an open XML element, that Velocity has to traverse to find expected data: on each traversal, a test has to be added. That leads to code like in Fluido skin: {code}#if ( $decoration.custom.getChild( 'fluidoSkin' ) && $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'skipGenerationDate' ) && $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'skipGenerationDate' ).getValue() == 'true' ){code} or {code}#if ( $decoration.custom.getChild('fluidoSkin') && $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'navBarStyle' ) ) #* *##set ( $navBarStyle = $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'navBarStyle' ).getValue()){code} or {code}#if ( $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'breadcrumbDivider' ) ) #set ( $breadcrumbDivider = $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'breadcrumbDivider' ).getValue() ) #else #set ( $breadcrumbDivider = '/' ) #end{code} Adding 3 methods to decoration: - {{getCustomChild( "fluidoSkin.navBarStyle" )}} - {{getCustomChildValue( "fluidoSkin.navBarStyle" )}} - {{getCustomChildValue( "fluidoSkin.breadcrumbDivider", "/" )}} would permit to simplify: {code}#if ( $decoration.getCustomChildValue( 'fluidoSkin.skipGenerationDate' ) == 'true' ){code} and {code}#if ( $decoration.getCustomChild('fluidoSkin.navBarStyle' ) ) #* *##set ( $navBarStyle = $decoration.getCustomChild('fluidoSkin.navBarStyle' ).getValue()){code} and {code}#set ( $breadcrumbDivider = $decoration.getCustomValue( 'fluidoSkin.breadcrumbDivider', '/' ) ){code} > add helpers to traverse custom skin parameters > ---------------------------------------------- > > Key: DOXIASITETOOLS-185 > URL: https://issues.apache.org/jira/browse/DOXIASITETOOLS-185 > Project: Maven Doxia Sitetools > Issue Type: Improvement > Components: Decoration model > Affects Versions: 1.7.5 > Reporter: Hervé Boutemy > Assignee: Hervé Boutemy > Fix For: 1.8 > > > custom field is an open XML element, that Velocity has to traverse to find > expected data: on each traversal, a test has to be added. > That leads to code like in Fluido skin: > {code}#if ( $decoration.custom.getChild( 'fluidoSkin' ) && > $decoration.custom.getChild( 'fluidoSkin' ).getChild( 'skipGenerationDate' ) > && $decoration.custom.getChild( 'fluidoSkin' ).getChild( > 'skipGenerationDate' ).getValue() == 'true' ){code} > or > {code}#if ( $decoration.custom.getChild('fluidoSkin') > && $decoration.custom.getChild( 'fluidoSkin' ).getChild( > 'navBarStyle' ) ) > #* *##set ( $navBarStyle = $decoration.custom.getChild( 'fluidoSkin' > ).getChild( 'navBarStyle' ).getValue() ){code} > or > {code}#if ( $decoration.custom.getChild( 'fluidoSkin' ).getChild( > 'breadcrumbDivider' ) ) > #set ( $breadcrumbDivider = $decoration.custom.getChild( 'fluidoSkin' > ).getChild( 'breadcrumbDivider' ).getValue() ) > #else > #set ( $breadcrumbDivider = '/' ) > #end{code} > Adding 3 methods to decoration: > - {{getCustomChild( "fluidoSkin.navBarStyle" )}} > - {{getCustomChildValue( "fluidoSkin.navBarStyle" )}} > - {{getCustomChildValue( "fluidoSkin.breadcrumbDivider", "/" )}} > would permit to simplify: > {code}#if ( $decoration.getCustomChildValue( 'fluidoSkin.skipGenerationDate' > ) == 'true' ){code} > and > {code}#if ( $decoration.getCustomChild('fluidoSkin.navBarStyle' ) ) > #* *##set ( $navBarStyle = > $decoration.getCustomChild('fluidoSkin.navBarStyle' ).getValue() ){code} > and > {code}#set ( $breadcrumbDivider = $decoration.getCustomValue( > 'fluidoSkin.breadcrumbDivider', '/' ) ){code} -- This message was sent by Atlassian JIRA (v6.4.14#64029)