/** * MVPGettingStarted Application. * * Copyright 2011 Harmonic-Pharma * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * See http://www.harmonic-pharma.com/ for more information * about this app. */ package com.linkcorp.mvp.server; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import com.google.gwt.user.server.rpc.RemoteServiceServlet; import com.linkcorp.mvp.client.service.ContactService; import com.linkcorp.mvp.shared.ContactDTO; import com.linkcorp.mvp.shared.ContactDetailsDTO; /** * @author Nelson Lionel KEMINSE * 19 juil. 2011 14:56:22 */ @SuppressWarnings("serial") public class ContactServiceImpl2 extends RemoteServiceServlet implements ContactService { private static final String[] contactsFirstNameData = new String[] { "Hollie", "Emerson", "Healy", "Brigitte", "Elba", "Claudio", "Dena", "Christina", "Gail", "Orville", "Rae", "Mildred", "Candice", "Louise", "Emilio", "Geneva", "Heriberto", "Bulrush", "Abigail", "Chad", "Terry", "Bell"}; private final String[] contactsLastNameData = new String[] { "Voss", "Milton", "Colette", "Cobb", "Lockhart", "Engle", "Pacheco", "Blake", "Horton", "Daniel", "Childers", "Starnes", "Carson", "Kelchner", "Hutchinson", "Underwood", "Rush", "Bouchard", "Louis", "Andrews", "English", "Snedden"}; private final String[] contactsEmailData = new String[] { "mark@example.com", "hollie@example.com", "boticario@example.com", "emerson@example.com", "healy@example.com", "brigitte@example.com", "elba@example.com", "claudio@example.com", "dena@example.com", "brasilsp@example.com", "parker@example.com", "derbvktqsr@example.com", "qetlyxxogg@example.com", "antenas_sul@example.com", "cblake@example.com", "gailh@example.com", "orville@example.com", "post_master@example.com", "rchilders@example.com", "buster@example.com", "user31065@example.com", "ftsgeolbx@example.com"}; private final HashMap<String, ContactDTO> contacts = new HashMap<String, ContactDTO>(); public ContactServiceImpl2() { initContacts(); } private void initContacts() { // TODO: Create a real UID for each contact // for (int i = 0; i < contactsFirstNameData.length && i < contactsLastNameData.length && i < contactsEmailData.length; ++i) { ContactDTO contact = new ContactDTO(String.valueOf(i), contactsFirstNameData[i], contactsLastNameData[i], contactsEmailData[i]); contacts.put(contact.getId(), contact); } } public ContactDTO addContact(ContactDTO contact) { contact.setId(String.valueOf(contacts.size())); contacts.put(contact.getId(), contact); return contact; } public ContactDTO updateContact(ContactDTO contact) { contacts.remove(contact.getId()); contacts.put(contact.getId(), contact); return contact; } public ContactDTO deleteContact(String id) { ContactDTO contact = contacts.get(id); contacts.remove(id); return contact; } public List<ContactDetailsDTO> deleteContacts(List<String> ids){ for (int i = 0; i < ids.size(); ++i) { deleteContact(ids.get(i)); } return getContactDetails(); } public ArrayList<ContactDetailsDTO> getContactDetails() { ArrayList<ContactDetailsDTO> contactDetails = new ArrayList<ContactDetailsDTO>(); Iterator<String> it = contacts.keySet().iterator(); while(it.hasNext()) { ContactDTO contact = contacts.get(it.next()); contactDetails.add(contact.getLightWeightContact()); } return contactDetails; } public ContactDTO getContact(String id) { return contacts.get(id); } public List<ContactDTO> getContacts() { List<ContactDTO> acontacts = new ArrayList<ContactDTO>(); Iterator<String> it = contacts.keySet().iterator(); while(it.hasNext()) { acontacts.add(contacts.get(it.next())); } return acontacts; } }