Concursos e Seleções

Um erro ocorreu enquanto processava o modelo.
Malformed regular expression: Dangling meta character '*' near index 38
EDITAL Nº  7, DE  26 DE ABRIL DE 2019(*)
                                      ^

----
FTL stack trace ("~" means nesting-related):
	- Failed at: #assign summary = summary?replace(tit...  [in template "20154#20194#74569211" at line 49, column 25]
----
1<#macro excerpt abstract> 
2  <#assign maxCharLimit=300> 
3  <#assign maxWordLimit=30> 
4  <#if abstract?length &lt; maxCharLimit> 
5    ${htmlUtil.escape(abstract)} 
6  <#else>    
7    <#assign words=htmlUtil.escape(abstract)?word_list> 
8    <#list words[0..maxWordLimit] as word> 
9        <#if word?index != maxWordLimit> 
10            ${word} 
11        <#else> 
12            ${word}... 
13        </#if> 
14    </#list> 
15  </#if> 
16</#macro> 
17<#assign assetEntryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")> 
18<#assign dlFileEntryLocalService = serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")> 
19 
20<div class = "lista-de-dou"> 
21    <#if entries?has_content> 
22        <#list entries as curEntry> 
23            <div class = "dou row"> 
24                <!--Pegando classes úteis--> 
25                <#assign assetRenderer = curEntry.getAssetRenderer() />  
26                <#assign journalArticle = assetRenderer.getArticle()> 
27                <span id="articleid" style="display:none;">${journalArticle}</span> 
28                 
29                <#if saxReaderUtil.read(journalArticle.getContent())?has_content> 
30                    <#assign docXml = saxReaderUtil.read(journalArticle.getContent()) /> 
31                    <!--Montagem do link--> 
32                    <#assign urltitle = assetRenderer.getUrlTitle() />  
33                    <#assign viewURL = themeDisplay.getPortalURL() + "/web/dou/-/" + "${urltitle}" /> 
34                    <!--Pegando elementos--> 
35                    <#assign tag = docXml.valueOf("//dynamic-element[@name='highlightSigla']/dynamic-content[@language-id='pt_BR']/text()") />  
36                    <#if !tag?has_content> 
37                        <#assign tag = docXml.valueOf("//dynamic-element[@name='artSection']/dynamic-content[@language-id='pt_BR']/text()") />  
38                    </#if> 
39                    <#assign summary = curEntry.getSummary(locale)?replace('<[^>]+>','','r')?replace('&nbsp;',' ','r')> 
40                    <#if !summary?has_content> 
41                        <#assign summary = docXml.valueOf("//dynamic-element[@name='ementa']/dynamic-content/text()")?replace('<[^>]+>','','r')?replace('&nbsp;',' ','r')/> 
42                    </#if> 
43                    <#if !summary?has_content> 
44                        <#assign summary = docXml.valueOf("//dynamic-element[@name='texto']/dynamic-content/text()")?replace('<[^>]+>','','r')?replace('&nbsp;',' ','r')/> 
45                    </#if> 
46                     
47                    <#if summary?has_content> 
48                        <#assign tituloMateria = curEntry.getTitle(locale)/> 
49                        <#assign summary = summary?replace(tituloMateria,'','r')/> 
50                    </#if> 
51 
52                    <#assign pictureURL = journalArticle.getSmallImageURL()> 
53                    <#if !pictureURL?has_content> 
54                        <#assign xmlValue = docXml.valueOf("//dynamic-element[@name='HighlightImage']/dynamic-content[@language-id='pt_BR']/text()") /> 
55                        <#assign pictureURL = getArticleDLEntryUrl(xmlValue)> 
56                    </#if> 
57                    <#assign data = docXml.valueOf("//dynamic-element[@name='pubDate']/dynamic-content[@language-id='pt_BR']/text()") /> 
58                    <#assign titulo = docXml.valueOf("//dynamic-element[@name='highlight']/dynamic-content[@language-id='pt_BR']/text()") /> 
59                    <#if !titulo?has_content> 
60                        <#assign titulo = curEntry.getTitle(locale)> 
61                    </#if> 
62                    <#if titulo?has_content> 
63                        <div class = "${pictureURL?has_content?then('col-10', 'col-12')}"> 
64                            <p class = "tag">${tag}</p> 
65                            <a class = "title" href = "${viewURL}">${titulo}</a> 
66                            <p class = "summary"><@excerpt abstract="${summary}"/></p> 
67                            <p class = "date">${data}</p> 
68                        </div>   
69                        <#if pictureURL?has_content > 
70                            <div class = "col-2"> 
71                                    <a href = "${viewURL}"><img src = "${pictureURL}" width = "100%"></a> 
72                            </div> 
73                        </#if> 
74                    </#if> 
75                </#if> 
76            </div> 
77        </#list> 
78    <#else> 
79    <div class="alert alert-warning" role="alert"> 
80        Não foram encontrados conteúdos. 
81    </div> 
82    </#if> 
83</div> 
84<#function getArticleDLEntryUrl xmlValue> 
85  <#local docUrl = "" /> 
86 
87  <#if xmlValue?has_content> 
88    <#local jsonObject = xmlValue?eval /> 
89 
90    <#local entryUuid = jsonObject.uuid /> 
91    <#local entryGroupId = getterUtil.getLong(jsonObject.groupId) /> 
92 
93    <#local dlFileEntry = dlFileEntryLocalService.getDLFileEntryByUuidAndGroupId(entryUuid, entryGroupId) /> 
94 
95    <#local assetEntry = assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry", dlFileEntry.fileEntryId) /> 
96    <#local assetRenderer = assetEntry.assetRenderer /> 
97 
98    <#local docUrl = assetRenderer.getURLDownload(themeDisplay) /> 
99  </#if> 
100  <#return docUrl /> 
101</#function>