Back CardioFunXion - Towards a novel paradigm for cardiac function assessment from imaging

An error occurred while processing the template.
Multiple compatible overloaded variations were found with the same priority.
The FTL type of the argument values were: Null.
The Java type of the argument values were: Null.
The matching overload was searched among these members:
    com.liferay.portal.kernel.util.Validator_IW.isNotNull(String),
    com.liferay.portal.kernel.util.Validator_IW.isNotNull(Long),
    com.liferay.portal.kernel.util.Validator_IW.isNotNull(Object)

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #if (validator.isNotNull(.vars["Resum...  [in template "10155#10193#PROJECTE_RECERCA" at line 161, column 21]
----
1<#-- Carreguem la macro getPathForPlugins per obtenir les rutes a les carpetes dels plugins que necessitem--> 
2<#include "${fullTemplatesPath}/util/getPathForPlugins.ftl" /> 
3 
4<#assign jsBootstrapPath = getPathForPlugins('bootstrap','js','')?trim /> 
5<#assign imgUpfPath = getPathForPlugins('upf','images','')?trim/> 
6 
7<style type="text/css"> 
8 
9    .row, .form-horizontal>.form-group, .row-fluid { 
10        margin-right: 0px; 
11        margin-left: 0px; 
12
13    /* fix linea */ 
14    .nav { 
15        border-bottom: 1px solid #ddd; 
16
17    .nav-tabs > li > a { 
18        border-bottom: 0px solid !important; 
19
20    /* end fix linea */ 
21 
22    .nav-tabs>li>a, .nav-pills>li>a { 
23        padding-right: 12px; 
24        padding-left: 12px; 
25        line-height: 24px; 
26        padding: 0.425rem 0.6rem; 
27
28 
29    .nav-tabs>.active>a, .nav-tabs>.active>a:hover, .nav-tabs>.active>a:focus { 
30        color: #555; 
31        background-color: #fff; 
32        border: 1px solid #ddd; 
33        border-bottom-color: transparent!important; 
34        cursor: default; 
35        border-radius: 4px 4px 0 0; 
36        line-height: 23px; 
37
38     
39    .nav-tabs>li>a:hover, .nav-tabs>li>a:focus { 
40        border-color: #eee #eee #ddd; 
41        text-decoration: none; 
42        background-color: #eee; 
43        color: #c8102e; 
44        border-radius: 4px 4px 0 0; 
45
46 
47    #nom_page { 
48        display: none; 
49
50    .fitxa_projecte_item .row-fluid { 
51        display: flex !important; 
52        flex-wrap: wrap !important; 
53        align-items: stretch !important; 
54
55    .fitxa_projecte_item { 
56        width: 100%; 
57        margin: 0 0 10px 0; 
58        box-sizing: content-box; 
59        background-color: #eee; 
60        z-index: 0; 
61        border: 1px solid #eee !important; 
62        box-sizing: border-box; 
63
64    span.nom { 
65        font-weight: bold; 
66        text-transform: uppercase; 
67
68    .fitxa_projecte_item .row-fluid [class*="span"] { 
69        padding: 10px; 
70
71    .fitxa_projecte_item .span3 { 
72        background-color: #fff; 
73
74    .fitxa_projecte_logo { 
75        background-position: center center; 
76        background-image: url(${imgUpfPath}/fitxa-projecte.png); 
77        background-repeat: no-repeat; 
78        background-size: contain; 
79        min-width: 80px; 
80        min-height: 80px; 
81        display: block; 
82        margin: auto; 
83        position: relative; 
84        line-height: initial; 
85        width: 100%; 
86        height: 100%; 
87
88    @media (max-width: 767px) { 
89        #nom_page { 
90            display: block; 
91
92
93 
94    .header-back-to{ 
95        display:none; 
96
97    .header-title{ 
98        display:none; 
99
100    .taglib-header 	{ 
101        border:none; 
102
103 
104    .portlet-asset-publisher .asset-content{ 
105        margin-left:0px; 
106
107 
108    /*estil pròpi de les pestanyes responsive*/ 
109    .tabbable .nav-tabs::after, .tabbable .nav-pills::after { 
110        clear: both!important; 
111
112    a.accordion-link { 
113        display: none !important; 
114
115    @media (max-width:979px) { 
116 
117        ul.nav.nav-tabs.responsive-tabs { 
118            display: none; 
119
120        a.accordion-link { 
121            display: block !important; 
122            border: 1px solid #fff; 
123            background-color: #ddd; 
124            padding-top: 8px; 
125            padding-bottom: 8px; 
126            padding-left: 12px; 
127            padding-right: 12px line-height: 20px; 
128            text-decoration: none; 
129
130        .tab-pane { 
131            padding-top: 8px; 
132            padding-bottom: 8px; 
133            padding-left:12px; 
134            padding-right:12px; 
135
136        a.accordion-link:hover, a.accordion-link:focus { 
137            text-decoration: none; 
138
139
140    /*FI estil pestanyes responsive*/ 
141</style> 
142 
143<div id="nom_page"> 
144    <h1>${.vars['Nombre'].getData()}</h1> 
145</div> 
146 
147<div class="fitxa_projecte"> 
148    <div class="fitxa_projecte_item"> 
149        <div class="row-fluid"> 
150            <div class="span3"> 
151                <#if (.vars['Imagen'].getData()?has_content) > 
152                    <div style='background-image:url("${.vars['Imagen'].getData()}")' class="fitxa_projecte_logo"></div> 
153                <#else> 
154                    <div class="fitxa_projecte_logo"></div> 
155                </#if> 
156            </div> 
157            <div class="span9 "> 
158                <div class="lfr-meta-actions asset-actions"></div> 
159                <p class="fitxa_projecte_dato"> 
160                    <span class="nom">${.vars['Nombre'].getData()}</span><br> 
161                    <#if (validator.isNotNull(.vars['Resumen'])) > 
162                        <#assign resum = .vars['Resumen'].getData() /> 
163                        <#if (validator.isNotNull(resum?length)) > 
164                            <#assign resum = stringUtil.shorten(resum, 250) /> 
165                            <#if (resum?length == 250) > 
166                                <#assign resum = resum + "..." /> 
167                            </#if> 
168                        </#if> 
169                        ${resum} 
170                    </#if> 
171                </p> 
172            </div> 
173        </div> 
174    </div> 
175    <#assign dateMark = randomizer.nextInt()*(-1) /> 
176    <div class="tabbable"> 
177        <ul class="nav nav-tabs responsive-tabs tabs${dateMark}"> 
178            <#if (validator.isNotNull(.vars['Descripcion']) && .vars['Descripcion'].getData()?has_content) > 
179                <li class="active"><a href="#descripcio"><@liferay.language key="descripcio-tab" /></a></li> 
180            </#if> 
181            <#if ( (validator.isNotNull(.vars['InvestigadorPrincipal']) && .vars['InvestigadorPrincipal'].getData()?has_content) || 
182            (validator.isNotNull(.vars['Investigadores']) && .vars['Investigadores'].getData()?has_content) ) > 
183                <li><a href="#investigadors"><@liferay.language key="investigadors-tab" /></a></li> 
184            </#if> 
185            <#if (validator.isNotNull(.vars['Colaboradores']) && .vars['Colaboradores'].getData()?has_content) > 
186                <li><a href="#collabora"><@liferay.language key="collaboradors-tab" /></a></li> 
187            </#if> 
188            <#if (validator.isNotNull(.vars['Financiamiento']) && .vars['Financiamiento'].getData()?has_content) > 
189                <li><a href="#financament"><@liferay.language key="financament-tab" /></a></li> 
190            </#if> 
191        </ul> 
192 
193        <div class="tab-content"> 
194            <#if (validator.isNotNull(.vars['Descripcion']) && .vars['Descripcion'].getData()?has_content) > 
195                <div class="tab-pane active" id="descripcio"> 
196                    ${.vars['Descripcion'].getData()} 
197                </div> 
198            </#if> 
199            <#if ((validator.isNotNull(.vars['InvestigadorPrincipal']) && .vars['InvestigadorPrincipal'].getData()?has_content)|| 
200            (validator.isNotNull(.vars['Investigadores']) && .vars['Investigadores'].getData()?has_content)) > 
201                <div class="tab-pane" id="investigadors"> 
202                    <#if (validator.isNotNull(.vars['InvestigadorPrincipal']) && .vars['InvestigadorPrincipal'].getData()?has_content) > 
203                        <h2> <@liferay.language key="investigadors-principals" /></h2> 
204                        <#list .vars['InvestigadorPrincipal'].getSiblings() as cur_InvestigadorPrincipal > 
205                            <#if (validator.isNotNull(cur_InvestigadorPrincipal.LinkInvestigadorPrincipal) && 
206                            cur_InvestigadorPrincipal.LinkInvestigadorPrincipal.getData()?has_content)> 
207                                <a href="${cur_InvestigadorPrincipal.LinkInvestigadorPrincipal.getData()}">${cur_InvestigadorPrincipal.getData()}</a> 
208                            <#else> 
209                                ${cur_InvestigadorPrincipal.getData()} 
210                            </#if> 
211                            </br> 
212                        </#list> 
213                    </#if> 
214 
215 
216                    <#if (validator.isNotNull(.vars['Investigadores'])) > 
217                        <#if (.vars['Investigadores'].getData()?has_content) > 
218                        <#-- Només posem el títol si també hi han investigadors principals, per no repetir el nom de la pestanya. --> 
219                            <#if (validator.isNotNull(.vars['InvestigadorPrincipal']) && .vars['InvestigadorPrincipal'].getData()?has_content) > 
220                                <h3> <@liferay.language key="investigadors" /></h3> 
221                            </#if> 
222 
223 
224                            <#list .vars['Investigadores'].getSiblings() as cur_Investigadores > 
225                                <#if (validator.isNotNull(cur_Investigadores.LinkInvestigador) 
226                                && cur_Investigadores.LinkInvestigador.getData()?has_content) > 
227                                    <a href="${cur_Investigadores.LinkInvestigador.getData()}">${cur_Investigadores.getData()}</a> 
228                                <#else> 
229                                    ${cur_Investigadores.getData()} 
230                                </#if> 
231 
232                                </br> 
233                            </#list> 
234                        </#if> 
235                    </#if> 
236                </div> 
237            </#if> 
238            <#if (validator.isNotNull(.vars['Colaboradores']) && .vars['Colaboradores'].getData()?has_content) > 
239                <div class="tab-pane" id="collabora"> 
240                    ${.vars['Colaboradores'].getData()} 
241                </div> 
242            </#if> 
243 
244            <#if (validator.isNotNull(.vars['Financiamiento']) && .vars['Financiamiento'].getData()?has_content) > 
245                <div class="tab-pane" id="financament"> 
246                    ${.vars['Financiamiento'].getData()} 
247                </div> 
248            </#if> 
249        </div> 
250    </div> 
251</div> 
252 
253<script src="${jsBootstrapPath}/bootstrap_tab.js"></script> 
254<script src="${jsBootstrapPath}/jquery_bootstrap_responsive_tabs.js"></script> 
255 
256<script type="text/javascript"> 
257 
258/*Treure el títol de la pàgina 7.2*/ 
259document.querySelector(".upf__titol-pagina")?.remove() 
260 
261    $('.responsive-tabs.tabs${dateMark}').responsiveTabs({ 
262        accordionOn: ['xs', 'sm'] // xs, sm, md, lg 
263    }); 
264 
265    // Si la pàgina que llista els projectes és de primer nivell, llavors no es posa el divider del breadcrumb 
266    // i l'hem d'introduir nosaltres. 
267    if($(".breadcrumb li").length==2){ 
268        $(".breadcrumb .first").append("<span class='divider'>/</span>"); 
269
270 
271 
272</script>