Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Bug 6795 - Deprecated sal-dom-xsql
[controller.git]
/
opendaylight
/
md-sal
/
sal-dom-xsql
/
src
/
main
/
java
/
org
/
opendaylight
/
controller
/
md
/
sal
/
dom
/
xsql
/
XSQLAdapter.java
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 96ddb9e0cea13478feba4edc40cd9394ab908d2e..386d925b00d02de486500cab807d0d5ce865ea0f 100644
(file)
--- 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
@@
-1,3
+1,10
@@
+/*
+ * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
package org.opendaylight.controller.md.sal.dom.xsql;
import java.io.File;
package org.opendaylight.controller.md.sal.dom.xsql;
import java.io.File;
@@
-8,7
+15,7
@@
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.util.Arrays;
import java.net.Socket;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.
Calendar
;
+import java.util.
Date
;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@
-24,14
+31,22
@@
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.model.api.Module;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
import org.opendaylight.yangtools.yang.model.api.SchemaContextListener;
import org.opendaylight.yangtools.yang.model.api.Module;
import org.opendaylight.yangtools.yang.model.api.SchemaContext;
import org.opendaylight.yangtools.yang.model.api.SchemaContextListener;
-
+/**
+ * @author Sharon Aicler(saichler@gmail.com)
+ **/
+/**
+ * To be removed in Nitrogen
+ */
+@Deprecated
public class XSQLAdapter extends Thread implements SchemaContextListener {
private static final int SLEEP = 10000;
private static XSQLAdapter a = new XSQLAdapter();
private static PrintStream l = null;
public class XSQLAdapter extends Thread implements SchemaContextListener {
private static final int SLEEP = 10000;
private static XSQLAdapter a = new XSQLAdapter();
private static PrintStream l = null;
+ private static String tmpDir = null;
+ private static File xqlLog = null;
public boolean stopped = false;
public boolean stopped = false;
- private List<String> elementHosts = new ArrayList<
String
>();
+ private List<String> elementHosts = new ArrayList<>();
private String username;
private String password;
private String transport = "tcp";
private String username;
private String password;
private String transport = "tcp";
@@
-39,7
+54,7
@@
public class XSQLAdapter extends Thread implements SchemaContextListener {
private int nThreads;
private int qsize;
private String applicationName = "NQL Adapter";
private int nThreads;
private int qsize;
private String applicationName = "NQL Adapter";
- private Map<String, NEEntry> elements = new ConcurrentHashMap<
String, XSQLAdapter.NEEntry
>();
+ private Map<String, NEEntry> elements = new ConcurrentHashMap<>();
private StringBuffer lastInputString = new StringBuffer();
private XSQLBluePrint bluePrint = new XSQLBluePrint();
private boolean toCsv = false;
private StringBuffer lastInputString = new StringBuffer();
private XSQLBluePrint bluePrint = new XSQLBluePrint();
private boolean toCsv = false;
@@
-49,6
+64,7
@@
public class XSQLAdapter extends Thread implements SchemaContextListener {
private String pinningFile;
private ServerSocket serverSocket = null;
private DOMDataBroker domDataBroker = null;
private String pinningFile;
private ServerSocket serverSocket = null;
private DOMDataBroker domDataBroker = null;
+ private static final String REFERENCE_FIELD_NAME = "reference";
private XSQLAdapter() {
XSQLAdapter.log("Starting Adapter");
private XSQLAdapter() {
XSQLAdapter.log("Starting Adapter");
@@
-63,10
+79,28
@@
public class XSQLAdapter extends Thread implements SchemaContextListener {
}
}
+ public void loadBluePrint(){
+ try{
+ InputStream in = this.getClass().getClassLoader().getResourceAsStream("BluePrintCache.dat");
+ if(in!=null){
+ this.bluePrint = XSQLBluePrint.load(in);
+ }
+ in.close();
+ }catch(Exception err){
+ err.printStackTrace();
+ }
+ }
+
public static XSQLAdapter getInstance() {
return a;
}
public static XSQLAdapter getInstance() {
return a;
}
+ public static File getXQLLogfile() {
+ tmpDir = System.getProperty("java.io.tmpdir");
+ xqlLog = new File(tmpDir + "/xql.log");
+ return xqlLog;
+ }
+
public static void main(String args[]) {
XSQLAdapter adapter = new XSQLAdapter();
adapter.start();
public static void main(String args[]) {
XSQLAdapter adapter = new XSQLAdapter();
adapter.start();
@@
-78,11
+112,11
@@
public class XSQLAdapter extends Thread implements SchemaContextListener {
synchronized (XSQLAdapter.class) {
if (l == null) {
l = new PrintStream(
synchronized (XSQLAdapter.class) {
if (l == null) {
l = new PrintStream(
- new FileOutputStream(
"/tmp/xql.log"
));
+ new FileOutputStream(
getXQLLogfile()
));
}
}
}
}
}
}
- l.print(
Calendar.getInstance().getTim
e());
+ l.print(
new Dat
e());
l.print(" - ");
l.println(str);
} catch (Exception err) {
l.print(" - ");
l.println(str);
} catch (Exception err) {
@@
-96,11
+130,11
@@
public class XSQLAdapter extends Thread implements SchemaContextListener {
synchronized (XSQLAdapter.class) {
if (l == null) {
l = new PrintStream(
synchronized (XSQLAdapter.class) {
if (l == null) {
l = new PrintStream(
- new FileOutputStream(
"/tmp/xql.log"
));
+ new FileOutputStream(
getXQLLogfile()
));
}
}
}
}
}
}
- l.print(
Calendar.getInstance().getTim
e());
+ l.print(
new Dat
e());
l.print(" - ");
e.printStackTrace(l);
} catch (Exception err) {
l.print(" - ");
e.printStackTrace(l);
} catch (Exception err) {
@@
-129,30
+163,21
@@
public class XSQLAdapter extends Thread implements SchemaContextListener {
public List<Object> collectModuleRoots(XSQLBluePrintNode table,LogicalDatastoreType type) {
if (table.getParent().isModule()) {
try {
public List<Object> collectModuleRoots(XSQLBluePrintNode table,LogicalDatastoreType type) {
if (table.getParent().isModule()) {
try {
- List<Object> result = new LinkedList<
Object
>();
+ List<Object> result = new LinkedList<>();
YangInstanceIdentifier instanceIdentifier = YangInstanceIdentifier
.builder()
YangInstanceIdentifier instanceIdentifier = YangInstanceIdentifier
.builder()
- .node(XSQLODLUtils.getPath(table.get
ODLNode
()).get(0))
- .
toInstance
();
+ .node(XSQLODLUtils.getPath(table.get
FirstFromSchemaNodes
()).get(0))
+ .
build
();
DOMDataReadTransaction t = this.domDataBroker
.newReadOnlyTransaction();
Object node = t.read(type,
instanceIdentifier).get();
DOMDataReadTransaction t = this.domDataBroker
.newReadOnlyTransaction();
Object node = t.read(type,
instanceIdentifier).get();
- node = XSQLODLUtils.get(node,
"reference"
);
+ node = XSQLODLUtils.get(node,
REFERENCE_FIELD_NAME
);
if (node == null) {
return result;
}
if (node == null) {
return result;
}
-
- // XSQLAdapter.log(""+node);
- Map<?, ?> children = XSQLODLUtils.getChildren(node);
- for (Object c : children.values()) {
- Map<?, ?> sons = XSQLODLUtils.getChildren(c);
- for (Object child : sons.values()) {
- result.add(child);
- }
- }
-
+ result.add(node);
return result;
} catch (Exception err) {
XSQLAdapter.log(err);
return result;
} catch (Exception err) {
XSQLAdapter.log(err);
@@
-164,6
+189,10
@@
public class XSQLAdapter extends Thread implements SchemaContextListener {
}
public void execute(JDBCResultSet rs) {
}
public void execute(JDBCResultSet rs) {
+ if(this.domDataBroker==null){
+ rs.setFinished(true);
+ return;
+ }
List<XSQLBluePrintNode> tables = rs.getTables();
List<Object> roots = collectModuleRoots(tables.get(0),LogicalDatastoreType.OPERATIONAL);
roots.addAll(collectModuleRoots(tables.get(0),LogicalDatastoreType.CONFIGURATION));
List<XSQLBluePrintNode> tables = rs.getTables();
List<Object> roots = collectModuleRoots(tables.get(0),LogicalDatastoreType.OPERATIONAL);
roots.addAll(collectModuleRoots(tables.get(0),LogicalDatastoreType.CONFIGURATION));
@@
-171,7
+200,7
@@
public class XSQLAdapter extends Thread implements SchemaContextListener {
rs.setFinished(true);
}
XSQLBluePrintNode main = rs.getMainTable();
rs.setFinished(true);
}
XSQLBluePrintNode main = rs.getMainTable();
- List<NETask> tasks = new LinkedList<
XSQLAdapter.NETask
>();
+ List<NETask> tasks = new LinkedList<>();
for (Object entry : roots) {
NETask task = new NETask(rs, entry, main, bluePrint);
for (Object entry : roots) {
NETask task = new NETask(rs, entry, main, bluePrint);
@@
-226,7
+255,7
@@
public class XSQLAdapter extends Thread implements SchemaContextListener {
sout.println("Unknown Interface " + substr);
return;
}
sout.println("Unknown Interface " + substr);
return;
}
- List<String> fld = new ArrayList<
String
>();
+ List<String> fld = new ArrayList<>();
for (XSQLBluePrintRelation r : node.getRelations()) {
fld.add(r.toString());
}
for (XSQLBluePrintRelation r : node.getRelations()) {
fld.add(r.toString());
}
@@
-243,7
+272,7
@@
public class XSQLAdapter extends Thread implements SchemaContextListener {
sout.println("Unknown Interface " + substr);
return;
}
sout.println("Unknown Interface " + substr);
return;
}
- List<String> fld = new ArrayList<
String
>();
+ List<String> fld = new ArrayList<>();
for (XSQLColumn c : node.getColumns()) {
fld.add(c.getName());
}
for (XSQLColumn c : node.getColumns()) {
fld.add(c.getName());
}
@@
-282,6
+311,8
@@
public class XSQLAdapter extends Thread implements SchemaContextListener {
sout.close();
} catch (Exception err) {
}
sout.close();
} catch (Exception err) {
}
+ } else if (input.equals("save")) {
+ XSQLBluePrint.save(this.bluePrint);
} else if (input.equals("tocsv")) {
toCsv = !toCsv;
sout.println("to csv file is " + toCsv);
} else if (input.equals("tocsv")) {
toCsv = !toCsv;
sout.println("to csv file is " + toCsv);
@@
-323,7
+354,7
@@
public class XSQLAdapter extends Thread implements SchemaContextListener {
JDBCResultSet rs = new JDBCResultSet(sql);
try {
int count = 0;
JDBCResultSet rs = new JDBCResultSet(sql);
try {
int count = 0;
-
jdbc
Server.execute(rs, this);
+
JDBC
Server.execute(rs, this);
boolean isFirst = true;
int loc = rs.getFields().size() - 1;
int totalWidth = 0;
boolean isFirst = true;
int loc = rs.getFields().size() - 1;
int totalWidth = 0;
@@
-492,13
+523,15
@@
public class XSQLAdapter extends Thread implements SchemaContextListener {
out.print(prompt);
char c = 0;
byte data[] = new byte[1];
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);
try {
in.read(data);
c = (char) data[0];
inputString.append(c);
} catch (Exception err) {
err.printStackTrace(out);
+ stopped = true;
+ break;
}
}
}
}