package eu.gaetan.grigis.mail.server; import java.util.ArrayList; import java.util.List; import javax.jdo.PersistenceManager; import javax.jdo.Query; import eu.gaetan.grigis.mail.client.MailService; import eu.gaetan.grigis.mail.client.Mail; import eu.gaetan.grigis.mail.client.User; import eu.gaetan.grigis.mail.client.lib.Config; import eu.gaetan.grigis.mail.server.Users; import com.google.gwt.user.server.rpc.RemoteServiceServlet; /** * The server side implementation of the RPC service. */ @SuppressWarnings("serial") public class MailServiceImpl extends RemoteServiceServlet implements MailService { @Override public ArrayList<Mail> getMails(String name){ PersistenceManager pm = PMF.get().getPersistenceManager(); List<Mail> results=null; ArrayList<Mail> ret=null; try{ Query query = pm.newQuery(Mail.class); query.setFilter("to==login"); query.declareParameters("String login"); results = (List<Mail>) query.execute(name); if(results!=null) { ret=new ArrayList<Mail>(); for (Mail mail : results) {//we must parse data (StreamingResult from query not a list ...) ret.add(mail); } } }catch(Exception e){ e.printStackTrace(); }finally{ pm.close(); } return ret; } @Override public void createUser(String name) { User u = new User(name.replaceAll(Config.MAIL_ADRESS_CLEANUP, "")); Users.save(u); } }