blob: 785900b0dcabc25d82cbce1ad45225e924d328bf [file] [log] [blame]
/*
* Copyright 2016-present Open Networking Foundation
*
* 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.
*/
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
}
}