X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-xsql%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fdom%2Fxsql%2FXSQLAdapter.java;h=d1f11ba9a36e693e223930b2fb4269e03acf21da;hb=34bc6ec632529a0dfe419aa7404bb42a456fbc96;hp=6d4400fe20f1f115d5e09ef56cc9a8fc749c8bfd;hpb=ed693440aa741fee9b94447f8404d89b4020f616;p=controller.git diff --git a/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLAdapter.java b/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLAdapter.java index 6d4400fe20..d1f11ba9a3 100644 --- a/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLAdapter.java +++ b/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLAdapter.java @@ -126,7 +126,7 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { return this.bluePrint; } - public List collectModuleRoots(XSQLBluePrintNode table) { + public List collectModuleRoots(XSQLBluePrintNode table,LogicalDatastoreType type) { if (table.getParent().isModule()) { try { List result = new LinkedList(); @@ -136,8 +136,9 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { .toInstance(); DOMDataReadTransaction t = this.domDataBroker .newReadOnlyTransaction(); - Object node = t.read(LogicalDatastoreType.OPERATIONAL, + Object node = t.read(type, instanceIdentifier).get(); + node = XSQLODLUtils.get(node, "reference"); if (node == null) { return result; @@ -157,14 +158,18 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { XSQLAdapter.log(err); } } else { - return collectModuleRoots(table.getParent()); + return collectModuleRoots(table.getParent(),type); } return null; } public void execute(JDBCResultSet rs) { List tables = rs.getTables(); - List roots = collectModuleRoots(tables.get(0)); + List roots = collectModuleRoots(tables.get(0),LogicalDatastoreType.OPERATIONAL); + roots.addAll(collectModuleRoots(tables.get(0),LogicalDatastoreType.CONFIGURATION)); + if(roots.isEmpty()){ + rs.setFinished(true); + } XSQLBluePrintNode main = rs.getMainTable(); List tasks = new LinkedList(); @@ -200,8 +205,7 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { } - protected void processCommand(StringBuffer inputString, PrintStream sout, - TelnetConnection tc) { + public void processCommand(StringBuffer inputString, PrintStream sout) { if (inputString.toString().trim().equals("r")) { sout.println(lastInputString); inputString = lastInputString; @@ -263,25 +267,6 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { for (int i = 0; i < iNames.length; i++) { sout.println(iNames[i]); } - } else if (input.startsWith("cd sid")) { - String substr = input.substring("cd sid".length()).trim(); - for (NEEntry e : elements.values()) { - if (((Module) e.ne).getName().equals(substr)) { - tc.currentModule = (Module) e.ne; - } - } - } else if (input.equals("list sid")) { - String arr[] = new String[elements.size()]; - - int i = 0; - for (NEEntry entry : elements.values()) { - arr[i] = entry.toString(); - i++; - } - Arrays.sort(arr); - for (String s : arr) { - sout.println(s); - } } else if (input.equals("help") || input.equals("?")) { // sout.println(getLongDescription()); } else if (input.equals("avmdata")) { @@ -507,17 +492,19 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { out.print(prompt); char c = 0; byte data[] = new byte[1]; - while (c != '\n') { + while (!socket.isClosed() && socket.isConnected() && !socket.isInputShutdown() && c != '\n') { try { in.read(data); c = (char) data[0]; inputString.append(c); } catch (Exception err) { err.printStackTrace(out); + stopped = true; + break; } } - processCommand(inputString, out, this); + processCommand(inputString, out); inputString = new StringBuffer(); } } catch (Exception err) {