Adicionar adiciona certinho mas também não sei como remover …
[code]import java.io.Serializable;
public class Pessoa implements Serializable {
private static final long serialVersionUID = 2L;
private String nome;
public Pessoa(String nome){
this.nome = nome;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
public class ListaPessoas implements Serializable {
private static final long serialVersionUID = 1L;
private List<Pessoa> listaPessoas = new ArrayList<Pessoa>();
public void add(Pessoa pes) {
listaPessoas.add(pes);
}
public void remove(Pessoa pes) {
listaPessoas.remove(pes);
}
public Pessoa get(int i) {
return (Pessoa) listaPessoas.get(i);
}
public int size() {
return listaPessoas.size();
}
}
import java.io.Serializable;
import java.util.Date;
import org.prevayler.Transaction;
public class AdicionaPessoa implements Transaction, Serializable {
private static final long serialVersionUID = 3L;
private String nome;
public AdicionaPessoa(String nome) {
this.nome = nome;
}
public void executeOn(Object businessSystem, Date date) {
((ListaPessoas)businessSystem).add(new Pessoa(nome));
}
}
import java.io.Serializable;
import java.util.Date;
import org.prevayler.Transaction;
public class RemovePessoa implements Transaction, Serializable {
private static final long serialVersionUID = 4L;
private String nome;
public RemovePessoa(String nome) {
this.nome = nome;
}
public void executeOn(Object businessSystem, Date date) {
((ListaPessoas)businessSystem).remove(new Pessoa(nome));
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import org.prevayler.Prevayler;
import org.prevayler.PrevaylerFactory;
public class Main {
static Prevayler prevayler;
public static void main(String args[]) throws IOException, ClassNotFoundException {
System.out.println("Iniciando Prevayler ...");
PrevaylerFactory factory = new PrevaylerFactory();
factory.configurePrevalenceDirectory("BASE");
factory.configurePrevalentSystem(new ListaPessoas());
prevayler = factory.create();
System.out.println("Digite o nome da pessoa ou FIM para sair ..");
String nome = lerTeclado();
while(!nome.equals("FIM")) {
try {
prevayler.execute(new AdicionaPessoa(nome));
} catch (Exception e1) {
e1.printStackTrace();
}
System.out.println("Pessoa armazenada.");
System.out.println("Digite o nome da pessoa ou FIM para sair: ");
nome = lerTeclado();
}
System.out.println("Imprimindo pessoas persistidas.");
ListaPessoas lista = ((ListaPessoas)prevayler.prevalentSystem());
for (int i = 0; i < lista.size(); i++) {
System.out.println(lista.get(i).getNome());
}
}
public static String lerTeclado() {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
try {
return reader.readLine();
} catch (IOException e1) {
return "FIM";
}
}
}
[/code]