Mensagens enviadas por: hipersoftPJ
Índice dos Fóruns » Perfil de hipersoftPJ » Mensagens enviadas por hipersoftPJ
Autor Mensagem
Tenho um programa que roda normalmente.

Estou tentando rodar um teste no Eclipse com Junit sobre este programa, mas estou recebendo o seguinte erro:


Getting bytecode for 'gas.ajax.client.GasTest'
[WARN] Unable to find compilation unit for type 'gas.ajax.client.GasTest'
[ERROR] Failure to load module 'gas.ajax.client.Gas'
com.google.gwt.core.ext.UnableToCompleteException: (see previous log entries)
...


Todas as minhas configurações parecem corretas:

Run -> Run...

Project: Gas

Test class: gas.ajax.client.GasTest

Project -> Properties

Test

Gas/src
Gas/test

Minha estrutura de diretórios (simplificada):

Gas
src
gas.ajax.client
Gas.java
test
gas.ajax.client
GasTest.java

Tentei usar o Junitcreator, mas dá o mesmo erro

Alguém teria alguma pista sobre esse erro.

Por favor, solicito uma resposta.
Fiz uma pequena aplicação usando o GWT (Google Web Toolkit), mas os acentos não aparecem.

Alguém tem alguma dica, plz.
É isso mesmo. Muito obrigado.
Como configurar o Logger para que a saida seja a mensagem nao modificada?

Padrao:

[timestamp][classe][mensagem]


O que eu quero:

[mensagem]
HumbertoJr wrote:
A explicação foi boa mas talvez são estes conceitos que não aprendi na pratica,vc poderia me dar um exemplo pratico disso?


Uma correção no que eu disse acima: join não precisa de lock, somente wait-notify



Olá!

Como vc deve saber, toda operação de sincronismo é feita com referência a um lock.

Toda instância de objeto possui tacitamente um lock, até mesmo um objeto trivial new Object(). É comum destacar um objeto desses como um lock bem definido:

Object lock = new Object();

Os métodos qualificados como synchronized referenciam o lock de sua própria classe (ou seja, this).

Para esperar uma thread morrer, utiliza-se o método join().

Para esperar um trecho de código executar, pode se utilizado o mecanismo wait() notify().

Tanto o lado que espera quanto o lado que executa devem ser cercados pelo mesmo lock usando-se um bloco synchronized(lock){} em cada thread.
Como dizia o canibal: "vamos por partes!".


Antes de começar, faço a ressalva de que os exemplos foram talhados para rodar no meu próprio framework feito em Java. Eles devem, portanto, ser adaptados a cada necessidade.

O código de cada parte será mostrado aos poucos.


- A primeira parte é obter um gif encoder para economizar banda na hora da emissão do código de barras.

- A segunda parte é gerar o código de barras do banco central a partir de sua representação numérica. Este é o núcleo do pacote.

- A terceira parte são as classes que implementam o 'driver' de boleto, ou seja, uma 'boleto factory'.

- A quarta parte é uma classe que formata a página conforme dados do driver.

- A quinta parte é um fragmento que testa o conceito. O exemplo mostrado pode ser adaptado facilmente a um servlet, JSP, ou algum framework.

O código de cada parte pode ser pode ser baixado do link abaixo, à medida que se tornar disponível.

http://hipersoft.com.br/download/boleto.zip
Sugiro ao nobre colega consultar o Oráculo, ou seja, o Google, usando as frases "pesquisa binária" ou "binary search". Tem toneladas de links sobre isso.

Java tem métodos para isso em java.util.Arrays. Aliás, a busca binária é a meu ver um dos mais poderosos e elegantes algoritmos existentes.
O método stop() foi deprecated pela Sun, pois é sujeito a deadlock. No seu lugar, deve ser usado o método interrupt().

A lógica de interrupção de uma thread é a seguinte:
- a thread a ser interrompida monitora constantetmente se é interrompida usando o método interrupted();
- a thread principal chama o método interupt() da thread que será interrompida;
- se o método retornar true, executa return OU lança uma InterruptedException.

Em consequência, no sua cláusula while você deve incluir o teste !interrupted().

Em tempo: onde se lê addCupomListener no código mostrado, substitua por addActionListener.
Hesil,

Um método run como este não pode ser interrompido (que eu saiba):



A solução é algo assim:



Para interromper é só chamar o método interrupt() a partir da thread principal.

Obs. 1: não confundir o método interrupted(), que é um teste interno, com isInterrupted(), que é um teste externo!

Obs. 2: muitos métodos da biblioteca, notadamente o método sleep(), já incluem internamente o teste interrupted() e lançam uma InterruptedException.
Olá, HumbertoJr

Tente as modificações abaixo. O botão lança uma tread para liberar a GUI
e esta thread, por sua vez, lança uma thread na 'event-dispatching thread' a cada atualização da textarea para evitar deadlock. O texto é rolado para o final a cada atualização.

Vc já tentou usar o método setDaemon() ? Se true, ele mata a thread chamada quando a thread chamadora morre.
Battousay wrote:... outro problema é o driver desta impressora para tal API. Alguém tem alguma solução para comunicação com imporessora fiscal em java?


Olá, Battousay,

Uma solução comercial está em fase beta. Veja em

http://hipersoft.com.br/servlet/GeraPagina/mp20.html
Olá thiagokf,

Eu também tentei utilizar o JavaMail para isso sem sucesso. Iniciei o desenvolvimento de uma classe Mime Parser na marra, mas o problema é complicado.

O primeiro conceito, só para recordar, é que as mensagens de e-mail ou são simples (vamos chamar de RFC-822) ou são multiparte (vamos chamar de MIME).

As mensagens RFC-822 devem ser mostradas imediatamente.

As diversas partes de uma mensagem MIME podem conter texto, imagens, html, etc.

Os problemas a serem resolvidos neste caso são:

- destacar o cabeçalho RFC-822;
- extrair o separador multiparte;
- determinar o charset;
- converter todo o resto da mensagem para o charset interno;
- separar as partes (que podem ser aninhadas);
- determinar o tipo MIME de cada parte;
- determinar se o conteúdo é in-line (o tipo MIME text/plain sempre é);
- detrminar a codificação dos dados de cada parte (base64, por exemplo);
- efetuar decodificação de cada parte;
- chamar o codec apropriado para os tipos multimídia;
- aplicar o antivírus nas partes in-line;
- mostrar as partes in-line de acordo com o layout do seu tipo MIME;
- aplicar o antivírus nas outras partes;
- salvar as outras partes (os famosos anexos);
- gerar links para as outras partes.

O JavaMail deve ter tudo isso aí escondido em algum lugar. Acho que falta um tutorial maceteado.

A minha tentativa de fazer isso (apenas um dos arquivos) pode ser vista no link abaixo:

http://hipersoft.com.br/download/MIMEParser.java
matheus wrote:hipersoft para presidente!!


Até concordo... mas nada de mensalão, hein.
 
Índice dos Fóruns » Perfil de hipersoftPJ » Mensagens enviadas por hipersoftPJ
Ir para:   
Powered by JForum 2.1.8 © JForum Team