quinta-feira, 17 de julho de 2008
Plugin que exporta jspwiki para OpenOffice
Postado por
Francisco Calaça Xavier - BLOG
às
16:31
0
comentários
terça-feira, 1 de julho de 2008
site sobre JPAQL
Site interessante sobre jpa ql http://edocs.bea.com/kodo/docs40/full/html/ejb3_overview_query.html
Postado por
Francisco Calaça Xavier - BLOG
às
20:56
2
comentários
Uso do fetch na JPAQl
Ao utilizar fetch na jpa-ql procure buscar um nível de cada vez. Exemplo: Cliente --> Pessoa --> telefones select cliente from Cliente cliente left join fetch cliente.pessoa pessoa left join fetch pessoa.telefones tel
Postado por
Francisco Calaça Xavier - BLOG
às
20:56
0
comentários
sexta-feira, 27 de junho de 2008
Como fazer o eclipse rodar no linux ubuntu
Parâmetros de inicialização: eclipse.ini
Para que o eclipse não fique travando e fechando no linux sempre edite o eclipse.ini com estes parâmetros:
-showsplash
org.eclipse.platform
-vmargs
-server
-Dcom.sun.management.jmxremote
-Xms40m
-Xmx768m
-XX:MaxPermSize=128m
-XX:+UseParallelGC
-XX:+UseParallelOldGC
Postado por
Francisco Calaça Xavier - BLOG
às
07:49
0
comentários
quarta-feira, 11 de junho de 2008
tutorial webbeans
Para quem deseja fazer um exemplo com webbeans: http://www.caucho.com/resin/examples/jsf-webbeans/
Postado por
Francisco Calaça Xavier - BLOG
às
10:26
0
comentários
Como construir seu profile
Hoje procurei por várias ferramentas profile java. No meio da busca tropecei em um link muito interessante que descreve como criar nossos próprios profillers: http://www-128.ibm.com/developerworks/java/library/j-jip/index.html fica aí a dica
Postado por
Francisco Calaça Xavier - BLOG
às
10:23
0
comentários
Bug com filterBy column no richfaces
hoje descobri que existe um bug na ordenação do datatable do richfaces: filterBy column. Versão do richfaces: 3.2 O bug está registrado em: http://jira.jboss.com/jira/browse/RF-3012 Uma possível correção está em: http://www.jboss.com/index.html?module=bb&op=viewtopic&t=133192 na mensagem do Eklam. A thread do grupo javasf onde descobri foi: http://groups.google.com/group/javasf/browse_thread/thread/accc404b96d46771/cd58f46e2b6e8090?hl=pt-BR&lnk=gst&q=filterBy+column#cd58f46e2b6e8090
Postado por
Francisco Calaça Xavier - BLOG
às
08:00
0
comentários
sexta-feira, 6 de junho de 2008
desligar beep ubuntu
Para desligar o beep do ubuntu utilize
modprobe -r pcspkr
Postado por
Francisco Calaça Xavier - BLOG
às
20:10
0
comentários
Marcadores: ubuntu
quinta-feira, 5 de junho de 2008
Manipulando arquivos ical em Java
Hoje necessitei manipular arquivos iCal no Java. Após uma consulta de como fazer encontrei a api ICal4j: http://wiki.modularity.net.au/ical4j/index.php?title=Examples Trata-se de um excelente API para manipulação de calendários ical no Java. Bom Aprendizado
Postado por
Francisco Calaça Xavier - BLOG
às
09:16
0
comentários
domingo, 1 de junho de 2008
Gravar/Copiar CD e DVD no Ubuntu
Para gravar ou copiar cd/dvd no Ubuntu eu utilizo gnomebaker. Para instala-lo execute: sudo apt-get install gnomebaker execute o aplicativo gnomebaker para executar as operações
Postado por
Francisco Calaça Xavier - BLOG
às
07:39
0
comentários
Marcadores: ubuntu
assistir dvd no ubuntu
Hoje precisei assistir dvd's no ubuntu. Após uma pesquisa descobri como fazer. São necessários alguns pacotes instalados e os passos a seguir descrevem isto. Para assistir o dvd utilizei o programa totem.
Adiciona repositório medibuntu:
sudo wget http://www.medibuntu.org/sources.list.d/gutsy.list -O /etc/apt/sources.list.d/medibuntu.list
Importa chave gpg:
wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add -
Atualiza lista de pacotes disponíveis:
sudo apt-get update
Instala pacotes necessários para reproduzir DVDs:
sudo apt-get install libdvdcss2 libxine1-ffmpeg totem-xine
Postado por
Francisco Calaça Xavier - BLOG
às
07:06
0
comentários
Marcadores: ubuntu
quarta-feira, 13 de fevereiro de 2008
Erro comum com facelets
é comum acontecer o erro:
javax.faces.FacesException: /pesquisa.jspx(6,47) Jsp:root: Mandatory attribute version missing
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:425)
org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
Adicione no faces-config.xml:
<application>
<locale-config>
<default-locale>pt_BR</default-locale>
</locale-config>
<view-handler>
com.sun.facelets.FaceletViewHandler
</view-handler>
</application>
Postado por
Francisco Calaça Xavier - BLOG
às
17:25
2
comentários
Marcadores: jsf
quinta-feira, 31 de janeiro de 2008
EL não funciona na JSP
Certa vez tive problemas para fazer as expressões de linguagem funcionarem no JSP. Colocava Nome: ${nome}, por exemplo e aparecia este mesmo código.
Para resolver este problema é necessário adicionar:
<%@page isELIgnored="false"%>
no cabeçalho do jsp
Postado por
Francisco Calaça Xavier - BLOG
às
09:40
1 comentários
quarta-feira, 30 de janeiro de 2008
Introdução à Jpa (Java Persistence API)
Neste artigo criaremos um pequeno exemplo utilizando a jpa.
A JPA (Java Persistence API) faz o mapeamento objeto-relacional, ou seja, traduz o mundo objetos do java para o mundo relacional dos bancos de dados.
Trata-se apenas de uma especificação, ou seja, a implementação ficará por conta de terceiros como:
Em nosso exemplo utilizaremos o Hibernate. Para obtê-lo é necessário fazer o download de algumas bibliotecas do site http://hibernate.org:
Ao descompactar estes arquivos observa-se uma grande quantidade de .jar's. Após fazer alguns testes notei que os imprescindíveis são:
antlr-2.7.6.jar asm.jar cglib-2.1.3.jar commons-collections-2.1.1.jar commons-logging-1.0.4.jar dom4j-1.6.1.jar hibernate-annotations.jar hibernate-commons-annotations.jar hibernate-entitymanager.jar hibernate3.jar javassist.jar jboss-archive-browsing.jar jta.jar persistence.jarInicialmente criaremos a classe contato. Observe no código abaixo a existência de algumas anotações.
@EntityDefine uma entidade. Usamos esta anotação para dizer que a classe anotada é uma entidade, portanto, será persistida no banco de dados.
@IdDefine o campo que conterá o identificador da entidade. Será a chave primaria da tabela.
@GeneratedValue(strategy=SEQUENCE, generator = "geradorPessoa") @SequenceGenerator(name="geradorPessoa", sequenceName = "gerador_pessoa")Configurações para utilizar um Sequence do banco de dados.
Classe Contato
package org.jchico.jpa;
import static javax.persistence.GenerationType.SEQUENCE;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.SequenceGenerator;
@Entity
public class Contato {
@Id
@GeneratedValue(strategy=SEQUENCE, generator = "geradorPessoa")
@SequenceGenerator(name="geradorPessoa", sequenceName = "gerador_pessoa")
private int codigo;
private String nome;
private String telefone;
private String endereco;
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
}Agora criaremos a classe TesteContatoJpa. Esta classe será responsável por persistir os contatos. Note a necessidade da existência do EntityManager. Ele é o gerenciador de entidades. Este gerenciador é capaz de persistir, listar, remover, alterar, etc as entidades.
EntityManagerFactory emf = Persistence.createEntityManagerFactory("exemplo");
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
Para fazer consultas é necessário utilizar a JPAQL:
Query query = em.createQuery("select e from Contato e");
Classe TesteContatoJpa
package org.jchico.jpa;
import java.util.List;
import java.util.Scanner;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import javax.persistence.Query;
public class TesteContatoJpa {
public static void main(String[] args) {
EntityManagerFactory emf = Persistence.createEntityManagerFactory("exemplo");
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
//cria um contato e ajusta seus valores
Contato contato = new Contato();
Scanner scan = new Scanner(System.in);
System.out.print("\nDigite o nome:");
contato.setNome(scan.nextLine());
System.out.print("\nDigite o endereço:");
contato.setEndereco(scan.nextLine());
System.out.print("\nDigite o telefone:");
contato.setTelefone(scan.nextLine());
//adiciona um contato no banco
tx.begin();
em.persist(contato);
tx.commit();
//listar os contatos
Query query = em.createQuery("select e from Contato e");
List<Contato> listaContatos = query.getResultList();
for(Contato c : listaContatos){
System.out.printf("%20s %20s %20s", c.getNome(), c.getEndereco(), c.getTelefone());
}
}
}Agora veja o persistence.xml abaixo. Este arquivo deverá ficar no diretório META-INF da sua aplicação. Neste arquivo realizamos as configurações necessárias para a JPA, como o driver do banco, a url, usuario e senha.
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0"
xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
<persistence-unit name="exemplo">
<class>org.jchico.jpa.Contato</class>
<properties>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/>
<property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver"/>
<property name="hibernate.connection.username" value="sa"/>
<property name="hibernate.connection.password" value=""/>
<property name="hibernate.connection.url" value="jdbc:hsqldb:hsql://localhost/exemplo"/>
<property name="hibernate.show_sql" value="true"/>
</properties>
</persistence-unit>
</persistence>
Espero que você tenha gostado desta informação.
Postado por
Francisco Calaça Xavier - BLOG
às
13:21
3
comentários
Marcadores: jpa
segunda-feira, 28 de janeiro de 2008
Debug Remoto no eclipse
Algumas vezes é necessário resolver problemas que ocorrem somente quando a aplicação está sendo executada em um servidor. Nestes casos pode ser feito um debug remoto que consistem em iniciar o container (no caso o Tomcat) no modo debug e conectar uma IDE (no caso o Eclipse) para realizar o debug.
Preparei um video que demonstra como fazer debug remoto no eclipse.
clique aqui para ver o video
e aprenda a fazer debug remoto com eclipse
Postado por
Francisco Calaça Xavier - BLOG
às
18:33
0
comentários
Marcadores: videos
retirar a navbar do blogger
Para retirar a navbar do blobber adicione a seguinte tag:
#navbar iframe{heigth: 0px; visibility: hidden; display: none;}
Antes da tag body
Postado por
Francisco Calaça Xavier - BLOG
às
18:04
0
comentários
Alguns Lembretes Importantes para trabalhar com JSF
Lembrete 1:
Criar um novo sistema web, em Project Facets marcar a opção JavaServer Faces
Lembrete 2:
Utilizar as seguintes taglibs
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
Lembretes para adicionar suporte ao MyFaces
Lembrete 1:
Acrescentar o seguinte filtro no arquivo WEB-INF/web.xml
<filter>
<filter-name>MyFacesExtensionsFilter</filter-name>
<filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
<init-param>
<param-name>maxFileSize</param-name>
<param-value>20m</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>MyFacesExtensionsFilter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>MyFacesExtensionsFilter</filter-name>
<url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
</filter-mapping>
Lembrete 2:
Acrescentar o seguinte listener no arquivo WEB-INF/web.xml
<listener>
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
</listener>
Lembretes para adicionar suporte ao RichFaces
Lembrete 1:
Acrescentar o seguinte filtro no arquivo WEB-INF/web.xml
<filter>
<display-name>RichFaces Filter</display-name>
<filter-name>richfaces</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>richfaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
Lembretes para trabalhar com facelets
Lembrete 1:
Acrescentar os seguintes parametros no WEB-INF/web.xml
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.jspx</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<!-- Special Debug Output for Development -->
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>true</param-value>
</context-param>
<!-- Optional JSF-RI Parameters to Help Debug -->
<context-param>
<param-name>com.sun.faces.validateXml</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.verifyObjects</param-name>
<param-value>true</param-value>
</context-param>
Lembrete 2:
O arquivo de template:
<?xml version="1.0" encoding="iso-8859-1"?>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:t="http://myfaces.apache.org/tomahawk">
<head>
</head>
<body leftmargin="0" bottommargin="0" topmargin="0" rightmargin="0">
<ui:insert name="corpo"/>
<ui:include src="Rodape.jspx"/>
</body>
</html>
Lembrete 3:
As páginas:
<?xml version="1.0" encoding="iso-8859-1"?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:t="http://myfaces.apache.org/tomahawk">
<ui:composition template="template.jspx">
<ui:define name="corpo">
<h:form id="formulario">
</h:form>
</ui:define>
</ui:composition>
</jsp:root>
Lembrete 4:
Para configurar facelets com RichFaces é necessário adicionar:
<context-param>
<param-name>org.ajax4jsf.VIEW_HANDLERS</param-name>
<param-value>com.sun.facelets.FaceletViewHandler</param-value>
</context-param>
Postado por
Francisco Calaça Xavier - BLOG
às
16:52
0
comentários
Marcadores: jsf
quinta-feira, 3 de janeiro de 2008
Como configurar um servidor SubVersion
O Tutorial abaixo apresenta como configurar um Servidor SubVersion em um máquina com Linux Debian
Instalação
apt-get install subversion apt-get install subversion-tools apt-get install web-svnIniciar o serviço
para ligar o servidor: svnserver -d
Criar repositório
para criar um repositorio: svnadmin create /diretorio do repositorio
Configurar o repositório
crie o arquivo conf/passwd (no diretorio do repositório)
insira o seguinte:
[users] carlos=senha do carlos chico=senha do chico
No arquivo svnserver.conf descomente as seguintes linhas
[general] anon-access = read auth-access = write password-db = passwd realm = REPOSITORIO JavaCerrado.org
Postado por
Francisco Calaça Xavier - BLOG
às
08:48
0
comentários