package de.circleofcontacts.server;
import java.util.List;
import com.google.appengine.api.users.User;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import de.circleofcontacts.client.ContactsService;
import de.circleofcontacts.client.view.ContactDetailView;
import de.circleofcontacts.client.view.ContactDetailsView;
import de.circleofcontacts.client.view.ContactGroupSummaryView;
import de.circleofcontacts.client.view.ContactSummaryView;
import de.circleofcontacts.server.dao.ContactDao;
@SuppressWarnings("serial")
public class ContactsServiceImpl
extends RemoteServiceServlet implements ContactsService {
// for method commments, see ContactDao and ContactsService
private ContactDao contactDao = new ContactDao();
public List<ContactGroupSummaryView> getContactGroupSummaries() {
return contactDao.getContactGroups(getRequiredCurrentUser().getEmail());
}
public List<ContactSummaryView> getContactsByGroup(
String contactGroupIdentifier) {
return contactDao.getContactViewsByGroup(contactGroupIdentifier);
}
public void addContactToGroup(String contactGroupId, String contactId) {
contactDao.addContactToGroup(contactId, contactGroupId);
}
public void addUserToContactGroup(String userName) {
// TODO Auto-generated method stub
}
public void deleteContact(String contactId) {
// TODO Auto-generated method stub
}
public void deleteContactDetail(String detailId) {
// TODO Auto-generated method stub
}
public void deleteContactGroup(String contactGroupId) {
contactDao.deleteContactGroup(contactGroupId);
}
public ContactDetailsView getContactDetails(String contactId) {
return null;
}
public void removeContactFromGroup(String contactGroupId, String contactId) {
contactDao.removeContactFromGroup(contactId, contactGroupId);
}
public void removeUserFromContactGroup(String userName) {
// TODO Auto-generated method stub
}
public String saveContact(ContactSummaryView basicData) {
return contactDao.saveContact(basicData);
}
public String saveContactDetail(String contactId,
ContactDetailView detailData) {
// TODO Auto-generated method stub
return null;
}
public String saveContactGroup(ContactGroupSummaryView contactGroup) {
return contactDao.saveContactGroup(contactGroup, getRequiredCurrentUser().getEmail());
}
public List<ContactSummaryView> getContacts(String query) {
// TODO Auto-generated method stub
return null;
}
private User getRequiredCurrentUser() {
UserService userService = UserServiceFactory.getUserService();
User user = userService.getCurrentUser();
if (user == null)
throw new IllegalArgumentException("no user logged in");
return user;
}
}