Olá a todos, estou utilizando o framework floggy, e o exemplo que segue, tem a proposta de à partir do cadastro de uma revista, eu possa inserir na classe cadastro de artigo, o nome e a edição da revista, alguém pode me ajudar?
[quote]
if (command == cmdSalvarArtigo) {
// write pre-action user code here
Artigo artigo = new Artigo();
artigo.setNome(tfNomeArtigo.getString());
artigo.setEdicao(Integer.parseInt(tfEdicao.getString()));
ObjectSet os = null;
try {
os = PersistableManager.getInstance().find(Revista.class,
new FiltroRevista(cgRevistas.getString(cgRevistas.getSelectedIndex())),null);
artigo.setRevista((Revista)os.get(0));
} catch (FloggyException ex)
{ex.printStackTrace();
artigo.setRevista(null);}
artigo.save();
getDisplay().setCurrent(getAlCadastro(), getFrmPrincipal());
switchDisplayable(getAlCadastro(), getFrmPrincipal());
if (command == cmdSalvarRevistas) {
// write pre-action user code here
Revista revista = new Revista();
revista.setNome(tfNome.getString());
revista.save();
getDisplay().setCurrent(getAlCadastro(), getFrmCadRevistas());
switchDisplayable(getAlCadastro(), getFrmCadRevistas());
ObjectSet Artigos = null;
getLsArtigos().deleteAll();
try {
Artigos = PersistableManager.getInstance().find(null, null, midletPaused);
//os = PersistableManager.getInstance().findAll(Artigo.class);
for (int i = 0; i < Artigos.size();i++)
{ Artigo artigo = (Artigo)Artigos.get(i);
getLsArtigos().append(artigo.getNome()+ " - "+ artigo.getEdicao()
+ " - " + artigo.getRevista().getNome() + "\n", null);}
} catch (FloggyException ex) {
getLsArtigos().append("Erro: List Record", null);}
getDisplay().setCurrent(getLsArtigos());
switchDisplayable(null, getFrmPrincipal());
seguem as classes
import net.sourceforge.floggy.persistence.FloggyException;
import net.sourceforge.floggy.persistence.Persistable;
import net.sourceforge.floggy.persistence.PersistableManager;
public class Revista implements Persistable{
private String Nome;
public String getNome(){
return this.Nome;
}
public void setNome(String Nome){
this.Nome = Nome;
}
public void save(){
try{
PersistableManager.getInstance().save(this);
} catch (FloggyException ex) {
ex.printStackTrace();
}
}
}
import net.sourceforge.floggy.persistence.Filter;
import net.sourceforge.floggy.persistence.Persistable;
public class FiltroRevista implements Filter {
private String nome;
public FiltroRevista(String nome) {
this.nome = nome;
}
public boolean matches(Persistable objeto) {
Revista r = (Revista) objeto;
return r.getNome().equals(nome);
}
}
import javax.microedition.rms.RecordComparator;
import net.sourceforge.floggy.persistence.Comparator;
import net.sourceforge.floggy.persistence.Persistable;
public class ComparatorRevista implements Comparator {
public int compare(Persistable data1, Persistable data2) {
Revista revista1 = (Revista)data1;
Revista revista2 = (Revista)data2;
String name1 = revista1.getNome();
String name2 = revista2.getNome();
int result = name1.compareTo(name2);
if (result == 0) {
return RecordComparator.EQUIVALENT;
} else if (result < 0) {
return RecordComparator.PRECEDES;
} else return RecordComparator.FOLLOWS;
}
}
import net.sourceforge.floggy.persistence.FloggyException;
import net.sourceforge.floggy.persistence.Persistable;
import net.sourceforge.floggy.persistence.PersistableManager;
public class Artigo implements Persistable{
private String Nome;
private int Edicao;
private Revista revista;
public String getNome(){
return this.Nome; }
public void setNome(String Nome){
this.Nome = Nome;
}
public int getEdicao(){
return this.Edicao;
}
public void setEdicao(int Edicao){
this.Edicao = Edicao;
}
public Revista getRevista(){
return this.revista;
}
public void setRevista(Revista revista){
this.revista = revista;
}
public void save(){
try{
PersistableManager.getInstance().save(this);
} catch (FloggyException ex) {
ex.printStackTrace();
}
}
}