| /* |
| * 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.yms.app.yab; |
| |
| import org.onosproject.yms.app.ydt.YangRequestWorkBench; |
| import org.onosproject.yms.app.ysr.TestYangSchemaNodeProvider; |
| import org.onosproject.yms.app.ysr.YangSchemaRegistry; |
| import org.onosproject.yms.ych.YangCodecHandler; |
| import org.onosproject.yms.ych.YangDataTreeCodec; |
| import org.onosproject.yms.ych.YangProtocolEncodingFormat; |
| import org.onosproject.yms.ydt.YdtBuilder; |
| import org.onosproject.yms.ydt.YdtResponse; |
| import org.onosproject.yms.ydt.YdtWalker; |
| import org.onosproject.yms.ydt.YmsOperationType; |
| import org.onosproject.yms.ymsm.YmsService; |
| import org.onosproject.yms.ynh.YangNotificationService; |
| import org.onosproject.yms.ysr.YangModuleIdentifier; |
| import org.onosproject.yms.ysr.YangModuleLibrary; |
| |
| import java.util.List; |
| |
| /** |
| * Represents implementation of YANG application management system manager. |
| */ |
| public class MockYmsManager |
| implements YmsService { |
| |
| YangSchemaRegistry schemaRegistry; |
| TestYangSchemaNodeProvider testYangSchemaNodeProvider = |
| new TestYangSchemaNodeProvider(); |
| |
| @Override |
| public YdtBuilder getYdtBuilder(String logicalRootName, |
| String rootNamespace, |
| YmsOperationType operationType) { |
| testYangSchemaNodeProvider.processSchemaRegistry(new TestManager()); |
| schemaRegistry = testYangSchemaNodeProvider.getDefaultYangSchemaRegistry(); |
| return new YangRequestWorkBench(logicalRootName, rootNamespace, |
| operationType, schemaRegistry, false); |
| } |
| |
| @Override |
| public YdtBuilder getYdtBuilder(String logicalRootName, |
| String rootNamespace, |
| YmsOperationType operationType, |
| Object schemaRegistryForYdt) { |
| return null; |
| } |
| |
| @Override |
| public YdtWalker getYdtWalker() { |
| return null; |
| } |
| |
| @Override |
| public YdtResponse executeOperation(YdtBuilder operationRequest) { |
| YangApplicationBroker requestBroker = |
| new YangApplicationBroker(schemaRegistry); |
| switch (operationRequest.getYmsOperationType()) { |
| case EDIT_CONFIG_REQUEST: |
| try { |
| return requestBroker.processEdit(operationRequest); |
| } catch (CloneNotSupportedException e) { |
| } |
| break; |
| case QUERY_CONFIG_REQUEST: |
| case QUERY_REQUEST: |
| return requestBroker.processQuery(operationRequest); |
| case RPC_REQUEST: |
| return requestBroker.processOperation(operationRequest); |
| default: |
| } |
| return null; |
| } |
| |
| @Override |
| public YangNotificationService getYangNotificationService() { |
| return null; |
| } |
| |
| @Override |
| public void registerService(Object appManager, Class<?> yangService, |
| List<String> supportedFeatureList) { |
| } |
| |
| @Override |
| public void unRegisterService(Object appManager, Class<?> yangService) { |
| |
| } |
| |
| @Override |
| public YangModuleLibrary getYangModuleLibrary() { |
| return null; |
| } |
| |
| @Override |
| public String getYangFile(YangModuleIdentifier moduleIdentifier) { |
| return null; |
| } |
| |
| @Override |
| public void registerDefaultCodec(YangDataTreeCodec defaultCodec, |
| YangProtocolEncodingFormat dataFormat) { |
| } |
| |
| @Override |
| public YangCodecHandler getYangCodecHandler() { |
| return null; |
| } |
| } |