Olá, boa tarde.Alguém poderia me ajudar? Estou com um projeto de TCC que lê os dados da porta paralela, atualiza um db e lista num jsp.
Isto funciona, adicionando os valores no objeto evento no MySQL direitinho eu consigo listar os dados via jsp:
Public void adiciona(){
Evento evento = new Evento();
Evento.setEvento0 = ?1?;
Evento.setEvento0 = ?0?;
Evento.setEvento0 = ?1?;
Evento.setEvento0 = ?1?;
Evento.setEvento0 = ?o?;
This.session.save(evento)
}
Só que isto é só um teste. Eu preciso pegar os valores do Evento de outra classe, tipo assim:
Public void adiciona(){
Evento evento = new Evento();
IotesteLogic teste = new IotesteLogic();
evento = teste.readLogic();
This.session.save(evento)
}
Entendeu? Eu preciso que os dados do objeto evento venham da classe que faz a leitura da porta paralela. Esta leitura funciona, só que ela está numa classe que tem main (desktop). Eu mando executar no Eclipse e ela roda e lê os valores da porta direitinho ou seja, desktop a partir do main, não tem problema algum. Só que eu preciso que tudo funcione a partir de uma chamada do adiciona. Aí eu não consigo chamar a partir do main não né (como eu faço num desktop)? E aí, como eu faço para instanciá-la nesta situação?
Segue a classe que faz a leitura:
[code]package logic;
import java.awt.Toolkit;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import jnpout32.pPort;
import modelo.Evento;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.vraptor.annotations.Component;
import util.HibernateUtil;
import dao.EventoDao;
public class IotesteLogic{
private List eventos;
private static Evento e;
static short datum;
static short Addr;
static pPort lpt;
static void do_read()
{
// Read from the port
datum = (short) lpt.input(Addr);
}
static Evento readLogic()
{
String leitura0;
String leitura1;
String leitura2;
String leitura3;
String leitura4;
Converter converter = new Converter();
// Try to read 0x378..0x37F, LPT1:
for (Addr=0x379; (Addr<0x37a); Addr++) {
//Read from the port
datum = (short) lpt.input(Addr);
int aByte = (datum & 248);
aByte = (aByte ^ 128);
System.out.println(aByte);
System.out.println("Input from parallel port: "
+ converter.decToBinary(aByte));
String str = converter.decToBinary(aByte);
leitura0 = str.substring(0, 1);
leitura1 = str.substring(1, 2);
leitura2 = str.substring(2, 3);
leitura3 = str.substring(3, 4);
leitura4 = str.substring(4, 5);
System.out.println(leitura0);
Evento e = new Evento();
e.setEvento0(leitura0);
e.setEvento1(leitura1);
e.setEvento2(leitura2);
e.setEvento3(leitura3);
e.setEvento4(leitura4);
System.out.println("evento 2:" + e.getEvento2());
}
return e;
}
public static void main(String args[])
{
new IotesteLogic();
lpt = new pPort();
// Try to read 0x378..0x37F, LPT1:
// do_read_range();
// And read back to verify
do_read();
// One more time, different value
datum=0xAA;
// And read back to verify
do_read();
// etc...
Addr++;
do_read();
Addr--;
do_read();
readLogic();
}
public void formulario() {
}
public List<Evento> getEventos() {
return eventos;
}
public Evento getE() {
return e;
}
public void setE(Evento e) {
this.e = e;
}
}[/code]
Preciso que os dados que vão popular o evento venham daqui… Se puderem me ajudar agradeço. A conclusão de meu TCC tá dependendo disto.