/**
* Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.financial.analytics.curve;
import java.util.Collection;
import java.util.Map;
import com.opengamma.DataNotFoundException;
import com.opengamma.OpenGammaRuntimeException;
import com.opengamma.core.change.ChangeManager;
import com.opengamma.core.convention.Convention;
import com.opengamma.core.convention.ConventionSource;
import com.opengamma.id.ExternalId;
import com.opengamma.id.ExternalIdBundle;
import com.opengamma.id.ObjectId;
import com.opengamma.id.UniqueId;
import com.opengamma.id.VersionCorrection;
/**
*
*/
public class TestConventionSource implements ConventionSource {
private final Map<ExternalId, Convention> _conventions;
public TestConventionSource(final Map<ExternalId, Convention> conventions) {
_conventions = conventions;
}
@Override
public Convention getSingle(final ExternalId identifier) {
Convention convention = _conventions.get(identifier);
if (convention == null) {
throw new DataNotFoundException("No convention found: " + identifier);
}
return convention;
}
@SuppressWarnings("unchecked")
@Override
public <T extends Convention> T getSingle(final ExternalId identifier, final Class<T> clazz) {
final Convention convention = _conventions.get(identifier);
if (convention == null) {
throw new DataNotFoundException("No convention found: " + identifier);
}
if (clazz.isAssignableFrom(convention.getClass())) {
return (T) convention;
}
throw new OpenGammaRuntimeException("Convention for " + identifier + " was not of expected type " + clazz);
}
@Override
public <T extends Convention> T getSingle(final ExternalIdBundle identifiers, final Class<T> clazz) {
return null;
}
@Override
public Collection<Convention> get(ExternalIdBundle bundle, VersionCorrection versionCorrection) {
return null;
}
@Override
public Convention getSingle(ExternalIdBundle bundle, VersionCorrection versionCorrection) {
for (ExternalId id : bundle) {
Convention convention = _conventions.get(id);
if (convention != null) {
return convention;
}
}
throw new DataNotFoundException("No convention found: " + bundle);
}
@Override
public Map<ExternalIdBundle, Collection<Convention>> getAll(Collection<ExternalIdBundle> bundles, VersionCorrection versionCorrection) {
return null;
}
@Override
public Map<ExternalIdBundle, Convention> getSingle(Collection<ExternalIdBundle> bundles, VersionCorrection versionCorrection) {
return null;
}
@Override
public Convention get(UniqueId uniqueId) {
return null;
}
@Override
public Convention get(ObjectId objectId, VersionCorrection versionCorrection) {
return null;
}
@Override
public Map<UniqueId, Convention> get(Collection<UniqueId> uniqueIds) {
return null;
}
@Override
public Map<ObjectId, Convention> get(Collection<ObjectId> objectIds, VersionCorrection versionCorrection) {
return null;
}
@Override
public ChangeManager changeManager() {
return null;
}
@Override
public <T extends Convention> T get(UniqueId uniqueId, Class<T> type) {
return null;
}
@Override
public <T extends Convention> T get(ObjectId objectId, VersionCorrection versionCorrection, Class<T> type) {
return null;
}
@Override
public <T extends Convention> T getSingle(ExternalIdBundle bundle, VersionCorrection versionCorrection, Class<T> type) {
return null;
}
@Override
public Collection<Convention> get(ExternalIdBundle bundle) {
return null;
}
@Override
public Convention getSingle(ExternalIdBundle bundle) {
return null;
}
}