Início > JAVA > Problema na implementação da TableModel em JVMs distintas

Problema na implementação da TableModel em JVMs distintas

Estava trabalhando com uma TableModel em minha máquina, com a JVM do Java 1.4.2 da IBM, e tudo estava funcionando perfeitamente. Quando fiz o deploy a aplicação, a mesma começou a bagunçar informações ou mesmo “quebrou”.

Adicionando alguns “System.err.println” a aplicação, percebi que no servidor, as colunas estavam em ordem diferente da  aplicação em minha máquina. Perdi um grande tempo para descobrir o que estava ocorrendo, e nada… Resolvi checar a versão da JVM no servidor e vi que era uma JVM da Sun, e não da IBM. Então resolvi fazer uma alteração no meu código, que era assim:

if (“rule”.equalsIgnoreCase(MinhaTableModel.getString(j,0)))
{ ….

Neste momento, estava pegando o valor na coluna 0 e linha j. Porém na JVM da Sun não estava rolando. Fiz o seguinte:

TableModelHelper helper = new TableModelHelper(context, t); // Utilizei um TableModelHelper
String rowType = helper.getString(i,”type”); // jogo os valores em variáveis, utilizando o NOME da coluna, e não o indice
String ruleName = helper.getString(i,”rule”);
if (“rule”.equalsIgnoreCase(rowType) )  // Ai sim comparo
{ …

Feito isso o código funcionou perfeitamente em ambas JVMs.

Percebe-ce um erro de implementação, possivelmente na JVM da IBM. Testei o código não corrigido, na versão 5, e nela, está tudo funcionando, então percebe-se o erro na versão 1.4.

Enjoy!

Categorias:JAVA Tags:,
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: