package net.thesocialos.server; import java.util.ArrayList; import java.util.Calendar; import java.util.List; import java.util.Map; import net.thesocialos.server.utils.ChannelServer; import net.thesocialos.shared.LineChat; import net.thesocialos.shared.ChannelApiEvents.ChApiChatRecvMessage; import net.thesocialos.shared.messages.MessageChat; import net.thesocialos.shared.model.User; import com.google.gwt.user.server.rpc.RemoteServiceServlet; import com.googlecode.objectify.Key; import com.googlecode.objectify.Objectify; import com.googlecode.objectify.ObjectifyService; public class ChatServiceImpl extends RemoteServiceServlet implements net.thesocialos.client.service.ChatService { /** * */ private static final long serialVersionUID = 1L; private void sendEvent(Objectify ofy) { MessageChat message = new MessageChat(); Iterable<Key<LineChat>> allKeys = ofy.query(LineChat.class).fetchKeys(); Map<Key<LineChat>, LineChat> qChat = ofy.get(allKeys); List<String> usersEmails = new ArrayList<String>(); for (LineChat chat : qChat.values()) usersEmails.add(chat.getUser()); ChannelServer.PushallUsers(usersEmails, message); } @Override public Long sendText(Key<User> contactUser, String message) { Objectify ofy = ObjectifyService.begin(); if (UserHelper.isYourFriend(perThreadRequest.get().getSession(), ofy, contactUser)) { Long time = Calendar.getInstance().getTimeInMillis(); ChannelApiHelper.sendMessage( contactUser.getName(), ChannelApiHelper.encodeMessage(new ChApiChatRecvMessage(time, Key.create(User.class, UserHelper.getUserHttpSession(perThreadRequest.get().getSession())), message))); return time; } return null; } }