Merge "BUG-1845: implement proper shutdown sequence"
[controller.git] / opendaylight / md-sal / sal-dom-xsql / src / main / java / org / opendaylight / xsql / XSQLProvider.java
1 package org.opendaylight.xsql;
2
3 import org.opendaylight.controller.sal.binding.api.data.DataModificationTransaction;
4 import org.opendaylight.controller.sal.binding.api.data.DataProviderService;
5 import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.xsql.rev140626.XSQL;
6 import org.opendaylight.yang.gen.v1.http.netconfcentral.org.ns.xsql.rev140626.XSQLBuilder;
7 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
8 import org.slf4j.Logger;
9 import org.slf4j.LoggerFactory;
10
11 /**
12  * Created by root on 6/26/14.
13  */
14 public class XSQLProvider implements AutoCloseable {
15
16     public static final InstanceIdentifier<XSQL> ID = InstanceIdentifier.builder(XSQL.class).build();
17     private static final Logger LOG = LoggerFactory.getLogger(XSQLProvider.class);
18
19     public void close() {
20     }
21
22     public XSQL buildXSQL(DataProviderService dps) {
23             XSQLBuilder builder = new XSQLBuilder();
24             builder.setPort("34343");
25             XSQL xsql = builder.build();
26             try {
27                 if (dps != null) {
28                     final DataModificationTransaction t = dps.beginTransaction();
29                     t.removeOperationalData(ID);
30                     t.putOperationalData(ID,xsql);
31                     t.commit().get();
32                 }
33             } catch (Exception e) {
34                 LOG.warn("Failed to update XSQL port status, ", e);
35             }
36         return xsql;
37     }
38 }