2 * Copyright (c) 2015 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(String currentStrategy, Map<String, AttributeConfigElement> configuration,
28 EditStrategyType defaultStrategy)
29 throws DocumentedException {
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() {