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