Forums

Home » Liferay Portal » Español » 3. Desarrollo

Combination View Flat View Tree View
Threads [ Previous | Next ]
Jorge Jiménez Barra
Sobre AssetEntry/JornalArticle y display
February 18, 2012 9:50 AM
Answer

Jorge Jiménez Barra

Rank: New Member

Posts: 17

Join Date: February 24, 2011

Recent Posts

Buenas, he creado un porlet con el siguiente codigo:
 1
 2        <%
 3
 4                AssetEntry assetEntry = AssetEntryLocalServiceUtil.getEntry(23012);
 5                String languageId = LanguageUtil.getLanguageId(request);
 6                JournalArticle article = JournalArticleLocalServiceUtil.getLatestArticle(assetEntry.getClassPK());               
 7                String content = JournalContentUtil.getContent(article.getGroupId(), article.getArticleId(), null, languageId, themeDisplay);
 8                JournalArticleDisplay articleDisplay = JournalContentUtil.getDisplay(article.getGroupId(), article.getArticleId(), null, null, languageId, themeDisplay);
 9   
10
11        %>
12<%=content%>
13<%=articleDisplay%>


Como veis nada fuera de lo normal.

Sin embargo tengo fallos a la hora de cargar un jorunarArticle que posea una plantilla/template. El conten y el articleDisplay me devuelven null

¿Alguna ayuda?

Por cierto, si en la misma pagina está el publicador de contenido funciona bien, pero no si está el visor de contenido web
Jorge Jiménez Barra
RE: Sobre AssetEntry/JornalArticle y display
February 18, 2012 12:40 PM
Answer

Jorge Jiménez Barra

Rank: New Member

Posts: 17

Join Date: February 24, 2011

Recent Posts

Bueno, novedades:

De las siete posibles llamadas a JournalContentUtil.getDisplay solo hay una que da resultado no nulo:

1    JournalArticleDisplay articleDisplay2 = JournalContentUtil.getDisplay(articleResource.getGroupId(), articleResource.getArticleId(), article.getVersion(), templateId, null, languageId, themeDisplay, 1, xmlRequest);


Claro está que para eso tengo que crear el atributo en request xmlRequest, que no se como crearlo, porque cada vez que realizo este codigo:
1    String xmlRequest = PortletRequestUtil.toXML(renderRequest, renderResponse);


me salta esta excepción:
 1
 219:48:04,871 ERROR [render_portlet_jsp:154] java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory
 3    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688)
 4    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533)
 5    at com.test.NewPortlet.doView(NewPortlet.java:65)
 6    at com.liferay.portal.kernel.portlet.LiferayPortlet.doDispatch(LiferayPortlet.java:211)
 7    at com.liferay.util.bridges.mvc.MVCPortlet.doDispatch(MVCPortlet.java:318)
 8    at javax.portlet.GenericPortlet.render(GenericPortlet.java:233)
 9    at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100)
10    at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64)
11    at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:93)
12    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
13    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
14    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
15    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
16    at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:70)
17    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
18    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
19    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
20    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:593)
21    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:530)
22    at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:637)
Jorge Jiménez Barra
RE: Sobre AssetEntry/JornalArticle y display
February 23, 2012 5:30 AM
Answer

Jorge Jiménez Barra

Rank: New Member

Posts: 17

Join Date: February 24, 2011

Recent Posts

Por si alguien le interesa. Es un bug conocido y arreglado para la EE.

Yo lo he arreglado en mi servidor recompilando el código y sustituyendo el archivo implicado emoticon

Un saludo.
Miguel Ángel Júlvez
RE: Sobre AssetEntry/JornalArticle y display
March 1, 2012 10:45 AM
Answer

Miguel Ángel Júlvez

Rank: Junior Member

Posts: 56

Join Date: March 29, 2011

Recent Posts

Jorge Jiménez Barra:
Por si alguien le interesa. Es un bug conocido y arreglado para la EE.

Yo lo he arreglado en mi servidor recompilando el código y sustituyendo el archivo implicado emoticon

Un saludo.


Hola Jorge,

¿me puedes decir cual es el archivo a sustituir y dónde lo puedo conseguir?

Muchas gracias
Un saludo
Miguel Ángel Júlvez
RE: Sobre AssetEntry/JornalArticle y display
March 1, 2012 10:57 AM
Answer

Miguel Ángel Júlvez

Rank: Junior Member

Posts: 56

Join Date: March 29, 2011

Recent Posts

He visto Jorge tu mensaje en (http://www.liferay.com/es/community/forums/-/message_boards/message/12589337/maximized)

Yo hice lo mismo, pero al llamar a
1PortletRequestUtil.toXML(request, response)
me da

118:37:18,634 INFO  [stdout] (http--0.0.0.0-16080-1) 18:37:18,634 ERROR [render_portlet_jsp:154] java.lang.ClassNotFoundException: org.apache.commons.fileupload.FileItemFactory from [Module "deployment.test-portlet.war:main" from Service Module Loader]


Por cierto, uso JBoss

Gracias
Miguel Ángel Júlvez
RE: Sobre AssetEntry/JornalArticle y display
March 1, 2012 11:06 AM
Answer

Miguel Ángel Júlvez

Rank: Junior Member

Posts: 56

Join Date: March 29, 2011

Recent Posts

Nada Jorge,

me había dejado de poner

1portal-dependency-jars=\
2    commons-fileupload.jar


en el liferay-plugin-package.properties

Un saludo
Jorge Jiménez Barra
RE: Sobre AssetEntry/JornalArticle y display
March 1, 2012 11:54 AM
Answer

Jorge Jiménez Barra

Rank: New Member

Posts: 17

Join Date: February 24, 2011

Recent Posts

Para conseguirlo tienes que descargarte el source de Liferay de la web, montarlo en el ide que trabajes, modificar su codigo según el articulo que referencio y compilarlo.
Entonces puesdes sustituirlo.

El archivo es: BaseTransformer.java que al compilarlo se trasnformará en el BaseTransformer.class que se encuentra en el jar \tomcat-7.0.23\lib\ext\portal-service.jar

Un saludo.