By Edgar Silva, on December 19th, 2007%
Bom, desenvolvendo com JBoss Studio e JBoss Seam, ainda me faz muita falta as mágicas que o Greenbox nos dava na palma da mão, por isso, estou estruturando algumas extensões para proporcionar maior produtividade agora criando agora plugins para Eclipse.
O exemplo a seguir me ajuda a ler qualquer .class Java para poder usar Reflection, obrigado Edson Tirelli, pela dica simplificada de capturar isto, segue aqui a dica:
[java]
URL url = null;
try {
File dir = new File(”/opt/java/redhat/jboss-studio/workspace/travelweb/build/classes/”);
url = dir.toURL();
} catch (MalformedURLException e) {
e.printStackTrace();
}
URL[] urls = {url};
ClassLoader spec = new URLClassLoader(urls);
Class c = null;
try {
c = spec.loadClass(”travelweb.entity.TravelRequest”);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
System.out.printf(”On class %s I found the following fields”,c.getName());
[/java]
By Edgar Silva, on December 14th, 2007%
Estes dias tivemos que realizar uma prova de conceito se o DWR rodava no JBoss Portal. A minha primeira impressão era que seria possível, mas em primeira instância a referência aos JavaScripts deveria ser feita nos templates, porém devido a flexibilidade no JBP toda referência fica nas próprias Páginas enviadas para o cliente pelo o Portlet.
Veja o exemplo da chamada no Html:
[html]
< %@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
< % String contextPath = renderResponse.encodeURL(renderRequest.getContextPath()); %>
script type=”text/javascript”>
script type=”text/javascript”>< %=contextPath%>/dwr/util.js
[/html]
Sendo assim, a referência é buscada pelo objeto renderResponse, retornando assim o local de execução do contexto http do jboss portal.
O código do Portlet é mais ou menos assim:
[java]
package org.jboss.portal.samples.dwr;
import java.io.IOException;
import javax.portlet.GenericPortlet;
import javax.portlet.PortletException;
import javax.portlet.PortletRequestDispatcher;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
public class DWRPortlet extends GenericPortlet {
@Override
public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException { |
response.setContentType(”text/html”);
PortletRequestDispatcher prd = getPortletContext().getRequestDispatcher (”/WEB-INF/dwr/view.jsp”);
prd.include(request, response); }
}
[/java]
Veja o resultado na seguinte imagem:

By Edgar Silva, on December 11th, 2007%
Esta foi a palestra ministrada por Fabiane Nardon e eu no JavaOne2007 em São Francisco, espero que sirva de ajuda e/ou sugestões:
Forge Abraço
Edgar
By Edgar Silva, on December 5th, 2007%
Em alguns cenários, você quer que suas aplicações Web busquem primeiramente as classes que estejam no reposítório de WEB-INF/lib e WEB-INF/classes . Isso pode acontecer por inúmeros motivos, entre eles uma biblioteca que depende de uma versão diferente da que é disponbilizada por padrão pelo container do JBoss. Sendo assim, altere as porções dentro do arquivo jboss-service.xml que fica no JBOSS_HOME/server/deploy/jboss-web.deployer/META-INF. Veja o exemplo:
[xml]
false
false
[/xml]