Feed Artigos Comentários

Arquivo de Outubro de 2008



Java & Dicas Hildebrando em 15 Out 2008

Java no Ubuntu : Acertando Encoding no Eclipse

Uma coisa que precisamos nos preocupar quando temos ambientes heterogêneos de desenvolvimento é que em algum momento haverá a troca de dados de uma estação para outra, essa troca pode ser uma simples copia de arquivo ou o acesso a repositorio de arquivos.

Para que essas trocas não levem a problemas de caracteres é preciso que os ambientes de desenvolvimento conversem na mesma lingua.

Padronizando no Eclipse, seguimos a ajuda de http://www.guj.com.br/posts/list/18869.java , o que precisamos fazer é ajustar todas nossas estações para utilizar o mesmo padrão de encoding de arquivo, no caso utilizaremos o ISO-8859-1.

No Eclipse :

Window >> Preferences >> General >> workspace >> Text File Encoding

Feito isso agora funciona perfeito. Todos codificam no mesmo padrão.

Java & Dicas Hildebrando em 15 Out 2008

Java no Ubuntu : Inicio

Estamos fazendo um estudo para migrar as estações de desenvolvimento que não são .NET para o Sistema Operacional Ubuntu.

Nosso primeiro requsito é a parte de instalação do JDK no Ubuntu e para isso é preciso intalar o Java e configurar a variavel de ambiente JAVA_HOME.

Instalar o Java, pode ser feito tanto pelo gerenciador de pacotes do Ubuntu quanto fazendo download pelo site da Sun. Se for feito pelo gerenciador a opção que se tem é o OpenJDK e é so fazer um next>next>finish, sem mistério.

Se for baixar do site da Sun (http://java.sun.com) baixe a versão binaria (é a não RPM).

O unico detalhe é que o arquivo não vem executável, para isso :

chmod 777 jdk1.5....

Execute o arquivo

./jdk1.5...

Após a instalação do JDK ser realizada com sucesso o próximo passo é configurar a variável de ambiente.

Para que todos os usuarios acessem essa variavel de ambiente, é preciso adicionar algumas configurações nos arquivos /etc/bash.bashrc e /etc/profile.

As configurações precisam ser feitas nos dois arquivos pois um é para login shel (console) e o outro é login no shel (gnome por exemplo).

export JAVA_HOME=/usr/lib/jdk1.5
export PATH=$JAVA_HOME/bin:$PATH

Dicas Hildebrando em 09 Out 2008

JPAQL - Filtrando pelo ultimo status de um historico

Para alguns sistemas toda a alteração que ocorre em uma entidade deve ser armazenada com informações como “quem alterou”, “a data” e “para qual situação mudou”. Podemos representar assim :

1 - Entidade Chamado
2 - Entidade ChamadoHistorico
3 - Entidade Status

public class Chamado {
private Integer id;
private List<ChamadoHistorico> chamadoHistoricos;
}
public class Status {
private Integer id;
private String descricao;
}
public class ChamadoHistorico {
private Integer id;
private Date data;
private Chamado chamado;
private Status status;
}

Na tela que mostra todos os chamados, precisamos retornar uma lista com os chamados e seus ultimos status. Para isso devemos criar métodos na entidade Chamado que retornem seu ultimo status algo como :


@Transient
public Status getUltimoStatus(){
Status status = null;
if(chamadoHistoricos != null && !chamadoHistoricos.isEmpty()){
for (ChamadoHistorico chamadoHistorico : chamadoHistoricos) {
status = chamadoHistorico.getStatus();
}
}
return status;
}

@Transient
public Date getUltimaData(){
Date data = null;
if(chamadoHistoricos != null && !chamadoHistoricos.isEmpty()){
for (ChamadoHistorico chamadoHistorico : chamadoHistoricos) {
data = chamadoHistorico.getData();
}
}
return data;
}

Percorrendo essa lista utilizando JSTL e EL.

<table>
<tr>
<th>Id</th>
<th>Ultima Atualizacao</th>
<th>Status</th>
</tr>
<c:forEach items=${nomeDaListaComChamados} var="chamado">
<tr>
<td>${chamado.id}</td>
<td>${chamado.ultimaData}</td>
<td>${chamado.ultimoStatus.descricao}</td>
</tr>
</c:forEach>
</table>

E da parte de JPAQL, posso ter a situação de filtrar apenas os chamados “EM ABERTO” == 1 :

select chamado from Chamado chamado left join chamado.chamadoHistoricos as historico
where historico.id in (select max(ch.id) from ChamadoHistorico ch group by ch.fise.id)
and historico.status.id = 1