package br.ufpr.c3sl.daoconcrete; import java.util.Date; import javax.swing.JOptionPane; import br.ufpr.c3sl.dao.UserDAO; import br.ufpr.c3sl.daoFactory.DB4ODAOFactory; import br.ufpr.c3sl.exception.UserException; import br.ufpr.c3sl.model.User; import com.db4o.EmbeddedObjectContainer; import com.db4o.ObjectSet; public class DB4OUserDAO implements UserDAO{ public User insert(User user) throws UserException { EmbeddedObjectContainer dbo = DB4ODAOFactory.getConnection(); user.setCreatedAt(new Date().getTime()); dbo.store(user); return findByEmail(user.getEmail()); } @Override public User findByEmail(final String email) { EmbeddedObjectContainer dbo = DB4ODAOFactory.getConnection(); User user = new User(email); ObjectSet<User> result = dbo.queryByExample(user); if (result.hasNext()){ User _user = result.next(); return _user; } return null; } @Override public User findOrCreateByEmail(String email) throws UserException { User user = findByEmail(email); if(user == null){ user = new User(email); user = insert(user); JOptionPane.showMessageDialog(null, "Novo Cadastro Realizado Com Sucesso"); } return user; } }