Package com.opengamma.web.analytics.push

Source Code of com.opengamma.web.analytics.push.TestChangeManager

/**
* Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.web.analytics.push;

import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;

import org.threeten.bp.Instant;

import com.opengamma.core.change.ChangeEvent;
import com.opengamma.core.change.ChangeListener;
import com.opengamma.core.change.ChangeManager;
import com.opengamma.core.change.ChangeProvider;
import com.opengamma.core.change.ChangeType;
import com.opengamma.id.ObjectId;

/**
*
*/
public class TestChangeManager implements ChangeManager, ChangeProvider {

  private final List<ChangeListener> _listeners = new CopyOnWriteArrayList<ChangeListener>();

  @Override
  public void addChangeListener(ChangeListener listener) {
    _listeners.add(listener);
  }

  @Override
  public void removeChangeListener(ChangeListener listener) {
    throw new UnsupportedOperationException("removeChangeListener not implemented");
  }

  @Override
  public void entityChanged(ChangeType type, ObjectId objectId, Instant versonFrom, Instant versionTo, Instant versionInstant) {
    ChangeEvent event = new ChangeEvent(type, objectId, versonFrom, versionTo, versionInstant);
    for (ChangeListener listener : _listeners) {
      listener.entityChanged(event);
    }
  }

  @Override
  public ChangeManager changeManager() {
    return this;
  }
}
TOP

Related Classes of com.opengamma.web.analytics.push.TestChangeManager

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.