2 * Copyright (c) 2014 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
8 package org.opendaylight.lispflowmapping.implementation.config;
10 import org.osgi.framework.Bundle;
11 import org.osgi.framework.BundleContext;
12 import org.osgi.framework.FrameworkUtil;
13 import org.slf4j.Logger;
14 import org.slf4j.LoggerFactory;
16 public class ConfigIni {
17 protected static final Logger logger = LoggerFactory.getLogger(ConfigIni.class);
18 private boolean mappingOverwrite;
20 private String elpPolicy;
22 private static final String LISP_MAPPING_OVERWRITE = "lisp.mappingOverwrite";
23 private static final String LISP_SMR = "lisp.smr";
24 private static final String LISP_ELP_POLICY = "lisp.elpPolicy";
27 Bundle b = FrameworkUtil.getBundle(this.getClass());
28 BundleContext context = null;
30 context = b.getBundleContext();
33 initMappingOverwrite(context);
35 initElpPolicy(context);
38 private void initMappingOverwrite(BundleContext context) {
39 // set the default value first
40 this.mappingOverwrite = true;
45 str = context.getProperty(LISP_MAPPING_OVERWRITE);
48 str = System.getProperty(LISP_MAPPING_OVERWRITE);
50 logger.debug("Configuration variable '{}' is unset. Setting to default value: 'true'", LISP_MAPPING_OVERWRITE);
55 if (str.trim().equalsIgnoreCase("false")) {
56 this.mappingOverwrite = false;
57 logger.debug("Setting configuration variable '{}' to 'false'", LISP_MAPPING_OVERWRITE);
59 logger.debug("Setting configuration variable '{}' to 'true'", LISP_MAPPING_OVERWRITE);
63 private void initSmr(BundleContext context) {
64 // set the default value first
70 str = context.getProperty(LISP_SMR);
73 str = System.getProperty(LISP_SMR);
75 logger.debug("Configuration variable '{}' is unset. Setting to default value: 'false'", LISP_SMR);
80 if (str.trim().equalsIgnoreCase("true")) {
82 logger.debug("Setting configuration variable '{}' to 'true'", LISP_SMR);
84 logger.debug("Setting configuration variable '{}' to 'false'", LISP_SMR);
88 private void initElpPolicy(BundleContext context) {
89 // set the default value first
90 this.elpPolicy = "default";
95 str = context.getProperty(LISP_ELP_POLICY);
98 str = System.getProperty(LISP_ELP_POLICY);
100 logger.debug("Configuration variable '{}' is unset. Setting to default value: 'default' (ELP only)",
106 if (str.trim().equalsIgnoreCase("both")) {
107 this.elpPolicy = "both";
108 logger.debug("Setting configuration variable '{}' to 'both' (keep ELP, add next hop)", LISP_ELP_POLICY);
109 } else if (str.trim().equalsIgnoreCase("replace")) {
110 this.elpPolicy = "replace";
111 logger.debug("Setting configuration variable '{}' to 'replace' (next hop only)", LISP_ELP_POLICY);
113 logger.debug("Setting configuration variable '{}' to 'default' (ELP only)", LISP_ELP_POLICY);
117 public boolean mappingOverwriteIsSet() {
118 return mappingOverwrite;
121 public boolean smrIsSet() {
125 public String getElpPolicy() {