package com.robonobo.midas; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.robonobo.core.api.model.Playlist; import com.robonobo.midas.dao.EventDao; import com.robonobo.midas.model.*; @Service("event") public class EventServiceImpl implements EventService { @Autowired EventDao eventDao; @Override public void userLoggedIn(MidasUser u) { saveEvent(u, "login", null); } @Override public void userRemainsOnline(MidasUser u) { saveEvent(u, "online", null); } @Override public void playlistCreated(MidasUser u, Playlist p) { saveEvent(u, "playlistCreated", "id="+p.getPlaylistId()); } @Override public void playlistUpdated(MidasUser u, Playlist p) { saveEvent(u, "playlistUpdated", "id="+p.getPlaylistId()); } @Override public void playlistDeleted(MidasUser u, Playlist p) { saveEvent(u, "playlistDeleted", "id="+p.getPlaylistId()); } @Override public void playlistShared(MidasUser sharer, Playlist p, MidasUser sharee) { saveEvent(sharer, "playlistShared", "uid="+sharee.getUserId()+",plId="+p.getPlaylistId()); } @Override public void playlistPosted(MidasUser u, Playlist p, String postService) { saveEvent(u, "playlistCreated", "id="+p.getPlaylistId()+",svc="+postService); } @Override public void specialPlaylistPosted(MidasUser u, long uid, String plName) { saveEvent(u, "specPlaylistPosted", "uid="+uid+",name="+plName); } @Override public void addedToLibrary(MidasUser u, int numTracks) { saveEvent(u, "addToLibrary", "num="+numTracks); } @Override public void removedFromLibrary(MidasUser u, int numTracks) { saveEvent(u, "rmFromLibrary", "num="+numTracks); } @Override public void inviteSent(MidasUser u, String email, MidasInvite i) { saveEvent(u, "inviteSent", "email="+email+",code="+i.getInviteCode()); } @Override public void inviteAccepted(MidasUser u, MidasInvite i) { saveEvent(u, "inviteAccepted", "code="+i.getInviteCode()); } @Override public void newUser(MidasUser u) { saveEvent(u, "newUser", null); } @Override public void friendRequestSent(MidasUser requestor, MidasUser requestee) { saveEvent(requestor, "friendReqSent", "requestee="+requestee.getUserId()); } @Override public void friendRequestAccepted(MidasUser requestor, MidasUser requestee) { saveEvent(requestor, "friendReqAccepted", "requestee="+requestee.getUserId()); } private void saveEvent(MidasUser user, String eventType, String eventInfo) { eventDao.saveEvent(new MidasEvent(user.getUserId(), eventType, eventInfo)); } }