2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.controller.netconf.confignetconfconnector.mapping.config;
12 import org.opendaylight.controller.netconf.api.NetconfDocumentedException;
13 import org.opendaylight.controller.netconf.confignetconfconnector.exception.OperationNotPermittedException;
14 import org.opendaylight.controller.netconf.confignetconfconnector.mapping.attributes.fromxml.AttributeConfigElement;
15 import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.EditConfigStrategy;
16 import org.opendaylight.controller.netconf.confignetconfconnector.operations.editconfig.EditStrategyType;
19 * Parsed xml element containing whole configuration for an instance of some
20 * module. Contains preferred edit strategy type.
22 public class InstanceConfigElementResolved {
24 private final EditStrategyType editStrategy;
25 private final Map<String, AttributeConfigElement> configuration;
27 public InstanceConfigElementResolved(String currentStrategy, Map<String, AttributeConfigElement> configuration,
28 EditStrategyType defaultStrategy)
29 throws NetconfDocumentedException {
30 this.editStrategy = parseStrategy(currentStrategy, defaultStrategy);
31 this.configuration = configuration;
34 public InstanceConfigElementResolved(Map<String, AttributeConfigElement> configuration, EditStrategyType defaultStrategy) {
35 editStrategy = defaultStrategy;
36 this.configuration = configuration;
40 static EditStrategyType parseStrategy(String currentStrategy, EditStrategyType defaultStrategy) throws OperationNotPermittedException {
41 EditStrategyType parsedStrategy = EditStrategyType.valueOf(currentStrategy);
42 EditStrategyType.compareParsedStrategyToDefaultEnforcing(parsedStrategy,defaultStrategy);
43 return parsedStrategy;
47 public EditConfigStrategy getEditStrategy() {
48 return editStrategy.getFittingStrategy();
51 public Map<String, AttributeConfigElement> getConfiguration() {