a25b05ab8aa92225df6d1ec1f7782a70efef640b
[controller.git] / opendaylight / config / yang-store-impl / src / main / java / org / opendaylight / controller / config / yang / store / impl / YangStoreActivator.java
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
3  *
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
7  */
8 package org.opendaylight.controller.config.yang.store.impl;
9
10 import com.google.common.base.Optional;
11 import org.opendaylight.controller.config.yang.store.api.YangStoreService;
12 import org.osgi.framework.BundleActivator;
13 import org.osgi.framework.BundleContext;
14 import org.slf4j.Logger;
15 import org.slf4j.LoggerFactory;
16
17 import java.util.Dictionary;
18 import java.util.Hashtable;
19 import java.util.regex.Pattern;
20
21 public class YangStoreActivator implements BundleActivator {
22     private static final Logger logger = LoggerFactory.getLogger(YangStoreActivator.class);
23
24     @Override
25     public void start(BundleContext context) throws Exception {
26         // get blacklist
27         Optional<Pattern> maybeBlacklistPattern = Optional.absent();
28         String blacklist = context.getProperty("yangstore.blacklist");
29         if (blacklist != null) {
30             try {
31                 maybeBlacklistPattern = Optional.of(Pattern.compile(blacklist));
32             } catch (RuntimeException e) {
33                 logger.error("Cannot parse blacklist regex " + blacklist, e);
34                 throw e;
35             }
36         }
37         ExtenderYangTracker extenderYangTracker = new ExtenderYangTracker(maybeBlacklistPattern, context);
38         Dictionary<String, ?> properties = new Hashtable<>();
39         context.registerService(YangStoreService.class, extenderYangTracker, properties);
40     }
41
42     @Override
43     public void stop(BundleContext context) throws Exception {
44
45     }
46 }