<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>ADT in Liferay 7.1</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=111330421" />
  <subtitle>ADT in Liferay 7.1</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=111330421</id>
  <updated>2026-04-06T15:05:21Z</updated>
  <dc:date>2026-04-06T15:05:21Z</dc:date>
  <entry>
    <title>RE: ADT in Liferay 7.1</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=118599177" />
    <author>
      <name>Arnau Montfort</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=118599177</id>
    <updated>2020-02-26T14:29:26Z</updated>
    <published>2020-02-26T14:29:26Z</published>
    <summary type="html">Sill working in 7.2 &lt;br /&gt;Thanks for that ! &lt;br /&gt;&lt;img alt="emoticon" src="@theme_images_path@/emoticons/happy.gif" &gt;</summary>
    <dc:creator>Arnau Montfort</dc:creator>
    <dc:date>2020-02-26T14:29:26Z</dc:date>
  </entry>
  <entry>
    <title>RE: ADT in Liferay 7.1</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=117748282" />
    <author>
      <name>Yannik Horndt</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=117748282</id>
    <updated>2019-11-12T10:31:50Z</updated>
    <published>2019-11-12T10:31:50Z</published>
    <summary type="html">Thanks Rubén, this worked for me.&lt;br /&gt;I&amp;#39;m using 7.2 GA1 CE.&lt;br /&gt;I had to edit one field though. &lt;br /&gt;The imgJson value was: &lt;br /&gt;{&lt;br /&gt;    &amp;#34;groupId&amp;#34;: &amp;#34;14503&amp;#34;,&lt;br /&gt;    &amp;#34;alt&amp;#34;: &amp;#34;&amp;#34;,&lt;br /&gt;    &amp;#34;name&amp;#34;: &amp;#34;673323&amp;#34;,&lt;br /&gt;    &amp;#34;title&amp;#34;: &amp;#34;673323&amp;#34;,&lt;br /&gt;    &amp;#34;type&amp;#34;: &amp;#34;journal&amp;#34;,&lt;br /&gt;    &amp;#34;uuid&amp;#34;: &amp;#34;15a970d0-1a0e-f067-2910-f513466da6fa&amp;#34;,&lt;br /&gt;    &amp;#34;resourcePrimKey&amp;#34;: &amp;#34;172374&amp;#34;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;So instead of imgJson.fileEntryId, I had to put resourcePrimKey.&lt;br /&gt;&lt;br /&gt;Thanks again!&lt;br /&gt;&lt;br /&gt;Sincerely,&lt;br /&gt;Yannik</summary>
    <dc:creator>Yannik Horndt</dc:creator>
    <dc:date>2019-11-12T10:31:50Z</dc:date>
  </entry>
  <entry>
    <title>RE: ADT in Liferay 7.1</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=112024062" />
    <author>
      <name>Rubén Quinteros</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=112024062</id>
    <updated>2019-01-16T14:33:28Z</updated>
    <published>2019-01-16T14:33:28Z</published>
    <summary type="html">&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I had the same problem. This code worked in Liferay 7.1 .&lt;br /&gt;
  Basicly you need to build the path with the JSON, for this need use
  the JsonFactoryUtil to convert the String result to JSON and you can
  access to all atributtes.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&amp;lt;#if entries?has_content&amp;gt;&lt;br /&gt;     &amp;lt;#list entries as
  curEntry&amp;gt;&lt;br /&gt;     &lt;br /&gt;         &amp;lt;#assign renderer =
  entry.getAssetRenderer()&amp;gt;&lt;br /&gt;         &amp;lt;#assign journalArticle
  = renderer.getArticle()&amp;gt;&lt;br /&gt;         &amp;lt;#assign document =
  saxReaderUtil.read(journalArticle.getContent()) &amp;gt;&lt;br /&gt;        
  &amp;lt;#assign rootElement = document.getRootElement()&amp;gt;&lt;br /&gt;        
  &amp;lt;#assign xPathSelector =
  saxReaderUtil.createXPath(&amp;quot;dynamic-element[@name='NAME_VAR']&amp;quot;)&amp;gt;&lt;br /&gt;
          &amp;lt;#assign imgNews =
  xPathSelector.selectSingleNode(rootElement).getStringValue()&amp;gt;&lt;br /&gt;
          &amp;lt;#assign imgJson =
  jsonFactoryUtil.createJSONObject(imgNews)&amp;gt;&lt;br /&gt;        
  &amp;lt;#assign url = &amp;quot;/documents/&amp;quot;+ imgJson.groupId
  +&amp;quot;/&amp;quot; +imgJson.fileEntryId +&amp;quot;/&amp;quot;+ imgJson.name
  +&amp;quot;/&amp;quot;+imgJson.uuid &amp;gt;&lt;br /&gt;          &lt;br /&gt;     &amp;lt;img
  src=&amp;quot;${url}&amp;quot;&amp;gt;&lt;br /&gt;     &amp;lt;/#list&amp;gt;&lt;br /&gt; &amp;lt;/#if&amp;gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Regards.&lt;/p&gt;
&lt;p&gt;PS: You own me one beer.&lt;/p&gt;</summary>
    <dc:creator>Rubén Quinteros</dc:creator>
    <dc:date>2019-01-16T14:33:28Z</dc:date>
  </entry>
  <entry>
    <title>ADT in Liferay 7.1</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=111330420" />
    <author>
      <name>Gustavo Oliveira</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=111330420</id>
    <updated>2018-10-25T18:23:11Z</updated>
    <published>2018-10-25T18:23:11Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;Hi, im testing this new version 7.1. Im trying to create an ADT to show images from a structure, this code worked on 7.0 but now the image field is returning a JSON. Is there a new method to get the image url? Thanks&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;code&gt;​​​​​​​&amp;amp;lt;#if entries?has_content&amp;amp;gt;

&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;lt;#list entries as curEntry&amp;amp;gt;
&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;lt;#assign renderer = curEntry.getAssetRenderer() /&amp;amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;lt;#assign thumbnailPath = renderer.getThumbnailPath(renderRequest) /&amp;amp;gt;

&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;lt;#assign classe = renderer.getClassName() /&amp;amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;lt;#if classe == "com.liferay.journal.model.JournalArticle"&amp;amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;lt;#assign journalArticle = renderer.getArticle() /&amp;amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;lt;#assign document = saxReaderUtil.read(journalArticle.getContent()) /&amp;amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;lt;#assign rootElement = document.getRootElement() /&amp;amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;lt;#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='imagem']") /&amp;amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;lt;#assign image = xPathSelector.selectSingleNode(rootElement).getStringValue() /&amp;amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;lt;#assign xPathSelector2 = saxReaderUtil.createXPath("dynamic-element[@name='conteudo']") /&amp;amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;lt;#assign conteudo = xPathSelector2.selectSingleNode(rootElement).getStringValue() /&amp;amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;lt;p&amp;gt; ${curEntry.getTitle(locale)} ${curEntry.getDescription(locale)} &amp;lt;img src="${thumbnailPath}"&amp;gt; &amp;lt;/p&amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;lt;p&amp;gt;&amp;lt;img src="${image}"&amp;gt;&amp;lt;/p&amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;lt;p&amp;gt;${conteudo}&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;&amp;lt;a href="/web/guest/mais-noticias/-/asset_publisher/oJL9Y5ehvOlQ/content/${renderer.getUrlTitle()}"&amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;Link
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;/a&amp;gt;&amp;lt;/p&amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;!--#if--&amp;gt;
&amp;amp;nbsp;&amp;amp;nbsp; &amp;amp;nbsp; &amp;lt;!--#list--&amp;gt;

&amp;lt;!--#if--&amp;gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Gustavo Oliveira</dc:creator>
    <dc:date>2018-10-25T18:23:11Z</dc:date>
  </entry>
</feed>
