blob: 21dea6bef061628260dc7a32a63b6c75a0f845a5 [file] [log] [blame]
package org.onosproject.pcelabelstore.util;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import org.onosproject.net.DeviceId;
import org.onosproject.net.config.Config;
import org.onosproject.net.config.ConfigApplyDelegate;
import org.onosproject.net.config.ConfigFactory;
import org.onosproject.net.config.NetworkConfigListener;
import org.onosproject.net.config.NetworkConfigRegistry;
import org.onosproject.net.config.NetworkConfigService;
import org.onosproject.net.config.SubjectFactory;
import org.onosproject.pcep.api.DeviceCapability;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
import com.fasterxml.jackson.databind.node.ObjectNode;
/* Mock test for network config registry. */
public class MockNetConfigRegistryAdapter implements NetworkConfigService, NetworkConfigRegistry {
private ConfigFactory cfgFactory;
private Map<DeviceId, DeviceCapability> classConfig = new HashMap<>();
@Override
public void registerConfigFactory(ConfigFactory configFactory) {
cfgFactory = configFactory;
}
@Override
public void unregisterConfigFactory(ConfigFactory configFactory) {
cfgFactory = null;
}
@Override
public <S, C extends Config<S>> C addConfig(S subject, Class<C> configClass) {
if (configClass == DeviceCapability.class) {
DeviceCapability devCap = new DeviceCapability();
classConfig.put((DeviceId) subject, devCap);
JsonNode node = new ObjectNode(new MockJsonNode());
ObjectMapper mapper = new ObjectMapper();
ConfigApplyDelegate delegate = new InternalApplyDelegate();
devCap.init((DeviceId) subject, null, node, mapper, delegate);
return (C) devCap;
}
return null;
}
@Override
public <S, C extends Config<S>> void removeConfig(S subject, Class<C> configClass) {
classConfig.remove(subject);
}
@Override
public <S, C extends Config<S>> C getConfig(S subject, Class<C> configClass) {
if (configClass == DeviceCapability.class) {
return (C) classConfig.get(subject);
}
return null;
}
private class MockJsonNode extends JsonNodeFactory {
}
// Auxiliary delegate to receive notifications about changes applied to
// the network configuration - by the apps.
private class InternalApplyDelegate implements ConfigApplyDelegate {
@Override
public void onApply(Config config) {
//configs.put(config.subject(), config.node());
}
}
@Override
public void addListener(NetworkConfigListener listener) {
// TODO Auto-generated method stub
}
@Override
public void removeListener(NetworkConfigListener listener) {
// TODO Auto-generated method stub
}
@Override
public Set<ConfigFactory> getConfigFactories() {
// TODO Auto-generated method stub
return null;
}
@Override
public <S, C extends Config<S>> Set<ConfigFactory<S, C>> getConfigFactories(Class<S> subjectClass) {
// TODO Auto-generated method stub
return null;
}
@Override
public <S, C extends Config<S>> ConfigFactory<S, C> getConfigFactory(Class<C> configClass) {
// TODO Auto-generated method stub
return null;
}
@Override
public Set<Class> getSubjectClasses() {
// TODO Auto-generated method stub
return null;
}
@Override
public SubjectFactory getSubjectFactory(String subjectClassKey) {
// TODO Auto-generated method stub
return null;
}
@Override
public SubjectFactory getSubjectFactory(Class subjectClass) {
// TODO Auto-generated method stub
return null;
}
@Override
public Class<? extends Config> getConfigClass(String subjectClassKey, String configKey) {
// TODO Auto-generated method stub
return null;
}
@Override
public <S> Set<S> getSubjects(Class<S> subjectClass) {
// TODO Auto-generated method stub
return null;
}
@Override
public <S, C extends Config<S>> Set<S> getSubjects(Class<S> subjectClass, Class<C> configClass) {
// TODO Auto-generated method stub
return null;
}
@Override
public <S> Set<? extends Config<S>> getConfigs(S subject) {
// TODO Auto-generated method stub
return null;
}
@Override
public <S, C extends Config<S>> C applyConfig(S subject, Class<C> configClass, JsonNode json) {
// TODO Auto-generated method stub
return null;
}
@Override
public <S, C extends Config<S>> C applyConfig(String subjectClassKey, S subject, String configKey, JsonNode json) {
// TODO Auto-generated method stub
return null;
}
@Override
public <S> void removeConfig(String subjectClassKey, S subject, String configKey) {
// TODO Auto-generated method stub
}
@Override
public <S> void removeConfig(S subject) {
// TODO Auto-generated method stub
}
@Override
public <S> void removeConfig() {
// TODO Auto-generated method stub
}
}