Package com.siemens.ct.pm.model.basic

Source Code of com.siemens.ct.pm.model.basic.PersonManager

/*******************************************************************************
* Copyright (c) 2009 Siemens AG
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*    Kai Toedter - initial API and implementation
*******************************************************************************/

package com.siemens.ct.pm.model.basic;

import java.util.ArrayList;
import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.siemens.ct.pm.model.IPerson;
import com.siemens.ct.pm.model.IPersonListener;
import com.siemens.ct.pm.model.IPersonManager;
import com.siemens.ct.pm.model.event.PersonEvent;

public class PersonManager implements IPersonManager {

  private final List<IPerson> persons;
  private final List<IPersonListener> personListeners;
  private final Logger logger = LoggerFactory.getLogger(PersonManager.class);

  public PersonManager() {
    personListeners = new ArrayList<IPersonListener>();

    persons = new ArrayList<IPerson>();
    persons.add(new Person("Kai", "Tödter", "Siemens AG"));
    persons.add(new Person("Bernd", "Kolb", "Itemis"));
    persons.add(new Person("Gerd", "Wütherich", "Freelancer"));
    persons.add(new Person("Heiko", "Seeberger", "Weigle Wilczek GmbH"));
    persons.add(new Person("Martin", "Lippert", "Tasktop"));
    persons.add(new Person("Muscalla", "Benjamin", "Tasktop"));
    persons.add(new Person("Peter", "Kriens", "aQute"));
    persons.add(new Person("Nicole ", "Wengatz", "Siemens AG"));
    persons.add(new Person("Frank", "Buschmann", "Siemens AG"));
    persons.add(new Person("Michael", "Stal", "Siemens AG"));
    persons.add(new Person("Alexander", "Thurow", "Weigle Wilczek GmbH"));
    persons.add(new Person("Matthias", "Lübken", "akquinet it-agile GmbH"));
    persons.add(new Person("Henning", "Wolf", "akquinet it-agile GmbH"));

    logger.info("initialized");
  }

  @Override
  public List<IPerson> getPersons() {
    return persons;
  }

  @Override
  public void deletePerson(IPerson selectedPerson) {
    persons.remove(selectedPerson);
    PersonEvent personEvent = new PersonEvent(this,
        PersonEvent.Type.DELETE, selectedPerson);
    for (IPersonListener personlistener : personListeners) {
      personlistener.handleEvent(personEvent);
    }
  }

  public synchronized void addPersonListener(IPersonListener personListener) {
    logger.info("add personListener: " + personListener);
    personListeners.add(personListener);
  }

  public synchronized void removePersonListener(IPersonListener personListener) {
    logger.info("remove personListener: " + personListener);
    personListeners.remove(personListener);
  }
}
TOP

Related Classes of com.siemens.ct.pm.model.basic.PersonManager

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.