2 * Copyright (c) 2015, 2017 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.config.facade.xml.mapping.config;
12 import org.opendaylight.controller.config.facade.xml.exception.OperationNotPermittedException;
13 import org.opendaylight.controller.config.facade.xml.mapping.attributes.fromxml.AttributeConfigElement;
14 import org.opendaylight.controller.config.facade.xml.strategy.EditConfigStrategy;
15 import org.opendaylight.controller.config.facade.xml.strategy.EditStrategyType;
16 import org.opendaylight.controller.config.util.xml.DocumentedException;
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(final String currentStrategy,
28 final Map<String, AttributeConfigElement> configuration, final EditStrategyType defaultStrategy)
29 throws DocumentedException {
30 this.editStrategy = parseStrategy(currentStrategy, defaultStrategy);
31 this.configuration = configuration;
34 public InstanceConfigElementResolved(final Map<String, AttributeConfigElement> configuration,
35 final EditStrategyType defaultStrategy) {
36 editStrategy = defaultStrategy;
37 this.configuration = configuration;
40 static EditStrategyType parseStrategy(final String currentStrategy, final EditStrategyType defaultStrategy)
41 throws OperationNotPermittedException {
42 EditStrategyType parsedStrategy = EditStrategyType.valueOf(currentStrategy);
43 EditStrategyType.compareParsedStrategyToDefaultEnforcing(parsedStrategy, defaultStrategy);
44 return parsedStrategy;
47 public EditConfigStrategy getEditStrategy() {
48 return editStrategy.getFittingStrategy();
51 public Map<String, AttributeConfigElement> getConfiguration() {