2 * Copyright (c) 2015 Ericsson India Global Services Pvt Ltd. 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.bgpmanager;
11 import com.google.common.base.Optional;
12 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
13 import org.opendaylight.controller.md.sal.binding.api.ReadOnlyTransaction;
14 import org.opendaylight.controller.md.sal.binding.api.WriteTransaction;
15 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
16 import org.opendaylight.yangtools.yang.binding.DataObject;
17 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
18 import org.slf4j.Logger;
19 import org.slf4j.LoggerFactory;
22 * Created by emhamla on 8/31/2015.
24 public class BgpUtil {
26 private static final Logger LOG = LoggerFactory.getLogger(BgpUtil.class);
27 private static DataBroker dataBroker;
29 static <T extends DataObject> void update(DataBroker broker, LogicalDatastoreType datastoreType,
30 InstanceIdentifier<T> path, T data) {
31 WriteTransaction tx = broker.newWriteOnlyTransaction();
32 tx.merge(datastoreType, path, data, true);
36 public static <T extends DataObject> void write(DataBroker broker, LogicalDatastoreType datastoreType,
37 InstanceIdentifier<T> path, T data) {
38 WriteTransaction tx = broker.newWriteOnlyTransaction();
39 tx.put(datastoreType, path, data, true);
43 static <T extends DataObject> void delete(DataBroker broker, LogicalDatastoreType datastoreType, InstanceIdentifier<T> path) {
44 WriteTransaction tx = broker.newWriteOnlyTransaction();
45 tx.delete(datastoreType, path);
49 public static <T extends DataObject> Optional<T> read(DataBroker broker, LogicalDatastoreType datastoreType,
50 InstanceIdentifier<T> path) {
52 ReadOnlyTransaction tx = broker.newReadOnlyTransaction();
54 Optional<T> result = Optional.absent();
56 result = tx.read(datastoreType, path).get();
57 } catch (Exception e) {
58 throw new RuntimeException(e);
64 public static void setBroker(DataBroker broker) {
65 BgpUtil.dataBroker = broker;
68 public static DataBroker getBroker() {