From: Ed Warnicke Date: Wed, 30 Jul 2014 12:05:21 +0000 (+0000) Subject: Merge "Serialization/Deserialization and a host of other fixes" X-Git-Tag: release/helium~393 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=83140d53722ad77dd804f7b4d761a673110b83b3;hp=516a4b2ea78179c9bd6ebb584862e8fc686ebf08 Merge "Serialization/Deserialization and a host of other fixes" --- diff --git a/features/config/src/main/resources/features.xml b/features/config/src/main/resources/features.xml index e18f844622..de5b198173 100644 --- a/features/config/src/main/resources/features.xml +++ b/features/config/src/main/resources/features.xml @@ -16,7 +16,7 @@ mvn:org.opendaylight.controller/shutdown-api/${project.version} mvn:org.opendaylight.controller/shutdown-impl/${project.version} mvn:org.osgi/org.osgi.core/${osgi.core.version} - wrap:mvn:com.google.guava/guava/${guava.version} + mvn:com.google.guava/guava/${guava.version} mvn:org.javassist/javassist/${javassist.version} diff --git a/features/nsf/pom.xml b/features/nsf/pom.xml new file mode 100644 index 0000000000..224aef1dac --- /dev/null +++ b/features/nsf/pom.xml @@ -0,0 +1,62 @@ + + + 4.0.0 + + org.opendaylight.controller + commons.opendaylight + 1.4.2-SNAPSHOT + ../../opendaylight/commons/opendaylight + + features-nsf + pom + OpenDaylight :: Features :: Network Service Functions + Feature for Network Service Functions + + features.xml + + + + + true + src/main/resources + + + + + org.apache.maven.plugins + maven-resources-plugin + + + filter + + resources + + generate-resources + + + + + org.codehaus.mojo + build-helper-maven-plugin + + + attach-artifacts + + attach-artifact + + package + + + + ${project.build.directory}/classes/${features.file} + xml + features + + + + + + + + + diff --git a/features/nsf/src/main/resources/features.xml b/features/nsf/src/main/resources/features.xml new file mode 100644 index 0000000000..fb61f33fb3 --- /dev/null +++ b/features/nsf/src/main/resources/features.xml @@ -0,0 +1,73 @@ + + + + odl-adsal-all + odl-nsf-managers + odl-adsal-northbound + + + + + base-all + odl-adsal-all + mvn:org.opendaylight.controller/usermanager/${usermanager.version} + mvn:org.opendaylight.controller/usermanager.implementation/${usermanager.version} + + mvn:org.opendaylight.controller/appauth/${appauth.version} + + mvn:org.opendaylight.controller/connectionmanager/${connectionmanager.version} + mvn:org.opendaylight.controller/connectionmanager.implementation/${connectionmanager.version} + + mvn:org.opendaylight.controller/containermanager/${containermanager.version} + mvn:org.opendaylight.controller/containermanager.implementation/${containermanager.version} + + mvn:org.opendaylight.controller/statisticsmanager/${statisticsmanager.version} + mvn:org.opendaylight.controller/statisticsmanager.implementation/${statisticsmanager.implementation.version} + + mvn:org.opendaylight.controller/switchmanager/${switchmanager.api.version} + mvn:org.opendaylight.controller/switchmanager.implementation/${switchmanager.implementation.version} + + mvn:org.opendaylight.controller/forwardingrulesmanager/${forwardingrulesmanager.version} + mvn:org.opendaylight.controller/forwardingrulesmanager.implementation/${forwardingrulesmanager.implementation.version} + + mvn:org.opendaylight.controller/topologymanager/${topologymanager.version} + + mvn:org.opendaylight.controller/networkconfig.neutron/${networkconfig.neutron.version} + mvn:org.opendaylight.controller/networkconfig.neutron.implementation/${networkconfig.neutron.implementation.version} + + mvn:org.opendaylight.controller/hosttracker/${hosttracker.api.version} + mvn:org.opendaylight.controller/hosttracker.implementation/${hosttracker.implementation.version} + + mvn:org.opendaylight.controller/forwarding.staticrouting + + mvn:org.opendaylight.controller.thirdparty/net.sf.jung2/2.0.1 + mvn:org.opendaylight.controller/routing.dijkstra_implementation + + + + base-all + odl-nsf-managers + mvn:org.ow2.asm/asm-all/${asm.version} + + mvn:org.opendaylight.controller/bundlescanner/${bundlescanner.api.version} + mvn:org.opendaylight.controller/bundlescanner.implementation/${bundlescanner.implementation.version} + mvn:org.opendaylight.controller/commons.northbound/${northbound.commons.version} + mvn:org.opendaylight.controller/flowprogrammer.northbound/${flowprogrammer.northbound.version} + mvn:org.opendaylight.controller/hosttracker.northbound/${hosttracker.northbound.version} + mvn:org.opendaylight.controller/networkconfig.bridgedomain.northbound/${networkconfig.bridgedomain.northbound.version} + mvn:org.opendaylight.controller/networkconfig.neutron.northbound/${networkconfig.neutron.northbound.version} + mvn:org.opendaylight.controller/forwarding.staticrouting.northbound/${forwarding.staticrouting.northbound.version} + mvn:org.opendaylight.controller/statistics.northbound/${statistics.northbound.version} + mvn:org.opendaylight.controller/subnets.northbound/${subnets.northbound.version} + mvn:org.opendaylight.controller/switchmanager.northbound/${switchmanager.northbound.version} + mvn:org.opendaylight.controller/topology.northbound/${topology.northbound.version} + mvn:org.opendaylight.controller/usermanager.northbound/${usermanager.northbound.version} + + \ No newline at end of file diff --git a/features/pom.xml b/features/pom.xml index fb40fa93b1..f69190cebd 100644 --- a/features/pom.xml +++ b/features/pom.xml @@ -13,6 +13,11 @@ 3.0 + base + controller + adsal + nsf + extras config config-persister config-netty diff --git a/opendaylight/distribution/opendaylight-karaf/pom.xml b/opendaylight/distribution/opendaylight-karaf/pom.xml index 06e0a92fa6..977fab1334 100644 --- a/opendaylight/distribution/opendaylight-karaf/pom.xml +++ b/opendaylight/distribution/opendaylight-karaf/pom.xml @@ -69,6 +69,8 @@ xml runtime + + org.opendaylight.controller features-adsal @@ -77,6 +79,16 @@ xml runtime + + org.opendaylight.controller + features-nsf + ${project.version} + features + xml + runtime + + + org.opendaylight.controller mdsal-features diff --git a/opendaylight/md-sal/model/model-flow-statistics/src/main/yang/opendaylight-flow-statistics.yang b/opendaylight/md-sal/model/model-flow-statistics/src/main/yang/opendaylight-flow-statistics.yang index e0df924a0e..f7a0652e45 100644 --- a/opendaylight/md-sal/model/model-flow-statistics/src/main/yang/opendaylight-flow-statistics.yang +++ b/opendaylight/md-sal/model/model-flow-statistics/src/main/yang/opendaylight-flow-statistics.yang @@ -25,7 +25,6 @@ module opendaylight-flow-statistics { grouping flow-statistics { container flow-statistics { //config "false"; - uses flow-types:flow; uses stat-types:generic-statistics; } } diff --git a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/DeleteNestedAugmentationListenParentTest.java b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/DeleteNestedAugmentationListenParentTest.java index fb5fd1fa6c..735138a530 100644 --- a/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/DeleteNestedAugmentationListenParentTest.java +++ b/opendaylight/md-sal/sal-binding-dom-it/src/test/java/org/opendaylight/controller/sal/binding/test/bugfix/DeleteNestedAugmentationListenParentTest.java @@ -78,13 +78,12 @@ public class DeleteNestedAugmentationListenParentTest extends AbstractDataServic FlowBuilder builder = new FlowBuilder() .setKey(FLOW_KEY) .addAugmentation(FlowStatisticsData.class,new FlowStatisticsDataBuilder() - .setFlowStatistics(new FlowStatisticsBuilder() - .setBarrier(true) - .setMatch(new MatchBuilder() - .build()) - .build()) + .setFlowStatistics(new FlowStatisticsBuilder().build()) .build()) - ;//.build(); + .setBarrier(true) + .setMatch(new MatchBuilder() + .build()) + ; return builder.build(); } 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 4571baf2e4..6d4400fe20 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 @@ -20,7 +20,7 @@ import org.opendaylight.controller.md.sal.dom.api.DOMDataBroker; import org.opendaylight.controller.md.sal.dom.api.DOMDataReadTransaction; import org.opendaylight.controller.md.sal.dom.xsql.jdbc.JDBCResultSet; import org.opendaylight.controller.md.sal.dom.xsql.jdbc.JDBCServer; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier; +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; @@ -78,7 +78,7 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { synchronized (XSQLAdapter.class) { if (l == null) { l = new PrintStream( - new FileOutputStream("/tmp/xql.log")); + new FileOutputStream("/tmp/xql.log")); } } } @@ -96,7 +96,7 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { synchronized (XSQLAdapter.class) { if (l == null) { l = new PrintStream( - new FileOutputStream("/tmp/xql.log")); + new FileOutputStream("/tmp/xql.log")); } } } @@ -130,20 +130,20 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { if (table.getParent().isModule()) { try { List result = new LinkedList(); - InstanceIdentifier instanceIdentifier = - InstanceIdentifier.builder() + YangInstanceIdentifier instanceIdentifier = YangInstanceIdentifier + .builder() .node(XSQLODLUtils.getPath(table.getODLNode()).get(0)) .toInstance(); - DOMDataReadTransaction t = this.domDataBroker.newReadOnlyTransaction(); - Object node = - t.read(LogicalDatastoreType.OPERATIONAL, instanceIdentifier) - .get(); + DOMDataReadTransaction t = this.domDataBroker + .newReadOnlyTransaction(); + Object node = t.read(LogicalDatastoreType.OPERATIONAL, + instanceIdentifier).get(); node = XSQLODLUtils.get(node, "reference"); if (node == null) { return result; } - //XSQLAdapter.log(""+node); + // XSQLAdapter.log(""+node); Map children = XSQLODLUtils.getChildren(node); for (Object c : children.values()) { Map sons = XSQLODLUtils.getChildren(c); @@ -169,7 +169,7 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { List tasks = new LinkedList(); for (Object entry : roots) { - NETask task = new NETask(rs, entry, main,bluePrint); + NETask task = new NETask(rs, entry, main, bluePrint); rs.numberOfTasks++; tasks.add(task); } @@ -201,7 +201,7 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { } protected void processCommand(StringBuffer inputString, PrintStream sout, - TelnetConnection tc) { + TelnetConnection tc) { if (inputString.toString().trim().equals("r")) { sout.println(lastInputString); inputString = lastInputString; @@ -211,12 +211,13 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { if (input.startsWith("setExcel")) { String substr = input.substring("setExcel".length()).trim(); if (!substr.equals("")) { - //excelPath01 = substr; + // excelPath01 = substr; } - //sout.println("Excel Path="+excelPath01); + // sout.println("Excel Path="+excelPath01); } else if (input.startsWith("list vrel")) { String substr = input.substring("list vrel".length()).trim(); - XSQLBluePrintNode node = bluePrint.getBluePrintNodeByTableName(substr); + XSQLBluePrintNode node = bluePrint + .getBluePrintNodeByTableName(substr); if (node == null) { sout.println("Unknown Interface " + substr); return; @@ -232,7 +233,8 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { } } else if (input.startsWith("list vfields")) { String substr = input.substring("list vfields".length()).trim(); - XSQLBluePrintNode node = bluePrint.getBluePrintNodeByTableName(substr); + XSQLBluePrintNode node = bluePrint + .getBluePrintNodeByTableName(substr); if (node == null) { sout.println("Unknown Interface " + substr); return; @@ -251,11 +253,11 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { jdbcServer.connectToClient(addr); sout.println("Connected To " + addr); } else if (input.startsWith("fetch")) { - //fetchSize = Integer.parseInt(input.substring(6).trim()); + // fetchSize = Integer.parseInt(input.substring(6).trim()); } else if (input.startsWith("list vtables")) { - String iNames[] = - bluePrint.getAllTableNames().toArray(new String[0]); + String iNames[] = bluePrint.getAllTableNames().toArray( + new String[0]); Arrays.sort(iNames); sout.println(); for (int i = 0; i < iNames.length; i++) { @@ -281,15 +283,15 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { sout.println(s); } } else if (input.equals("help") || input.equals("?")) { - //sout.println(getLongDescription()); + // sout.println(getLongDescription()); } else if (input.equals("avmdata")) { try { - //myConnection.getManagedData(); + // myConnection.getManagedData(); } catch (Exception err) { } } else if (input.equals("innerjoin")) { - //innerJoin = !innerJoin; - //sout.println("Inner Join set to "+innerJoin); + // innerJoin = !innerJoin; + // sout.println("Inner Join set to "+innerJoin); } else if (input.equals("exit")) { try { sout.close(); @@ -305,8 +307,8 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { if (toCsv) { if (exportToFileName != null) { try { - PrintStream o = - new PrintStream(new File(exportToFileName)); + PrintStream o = new PrintStream(new File( + exportToFileName)); executeSql(inputString.toString(), o); o.close(); } catch (Exception err) { @@ -314,8 +316,8 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { } } else { try { - String fName = - "export-" + System.currentTimeMillis() + ".csv"; + String fName = "export-" + System.currentTimeMillis() + + ".csv"; PrintStream o = new PrintStream(new File(fName)); executeSql(inputString.toString(), o); o.close(); @@ -398,7 +400,6 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { } } - if (!toCsv) { out.print("|"); } @@ -416,7 +417,6 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { out.print(" "); } - if (loc > 0) { if (toCsv) { out.print("\",\""); @@ -437,7 +437,6 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { } } - public static class NETask implements Runnable { private JDBCResultSet rs = null; @@ -445,7 +444,8 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { private XSQLBluePrintNode main = null; private XSQLBluePrint bluePrint = null; - public NETask(JDBCResultSet _rs, Object _modelRoot,XSQLBluePrintNode _main,XSQLBluePrint _bluePrint) { + public NETask(JDBCResultSet _rs, Object _modelRoot, + XSQLBluePrintNode _main, XSQLBluePrint _bluePrint) { this.rs = _rs; this.modelRoot = _modelRoot; this.main = _main; @@ -453,7 +453,8 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { } public void run() { - rs.addRecords(modelRoot, main, true, main.getBluePrintNodeName(),bluePrint); + rs.addRecords(modelRoot, main, true, main.getBluePrintNodeName(), + bluePrint); synchronized (rs) { rs.numberOfTasks--; if (rs.numberOfTasks == 0) { @@ -464,7 +465,6 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { } } - private static class NEEntry { private Object ne = null; @@ -478,7 +478,6 @@ public class XSQLAdapter extends Thread implements SchemaContextListener { } } - private class TelnetConnection extends Thread { private Socket socket = null; diff --git a/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLODLUtils.java b/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLODLUtils.java index 34644afd9c..6a27230664 100644 --- a/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLODLUtils.java +++ b/opendaylight/md-sal/sal-dom-xsql/src/main/java/org/opendaylight/controller/md/sal/dom/xsql/XSQLODLUtils.java @@ -1,15 +1,15 @@ package org.opendaylight.controller.md.sal.dom.xsql; import java.lang.reflect.Field; +import java.util.Collection; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; -import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import org.opendaylight.yangtools.yang.common.QName; -import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier.PathArgument; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument; import org.opendaylight.yangtools.yang.model.api.DataNodeContainer; import org.opendaylight.yangtools.yang.model.api.DataSchemaNode; import org.opendaylight.yangtools.yang.model.api.ListSchemaNode; @@ -119,7 +119,7 @@ public class XSQLODLUtils { } private static void collectODL(XSQLBluePrint bluePrint, - XSQLBluePrintNode parent, Set nodes, int level) { + XSQLBluePrintNode parent, Collection nodes, int level) { if (nodes == null) { return; } diff --git a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/FlowStatsTracker.java b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/FlowStatsTracker.java index add46bd162..edf7388a76 100644 --- a/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/FlowStatsTracker.java +++ b/opendaylight/md-sal/statistics-manager/src/main/java/org/opendaylight/controller/md/statistics/manager/FlowStatsTracker.java @@ -64,31 +64,15 @@ final class FlowStatsTracker extends AbstractListeningStatsTracker flowRef = getNodeIdentifierBuilder().augmentation(FlowCapableNode.class) .child(Table.class, new TableKey(tableId)) .child(Flow.class,newFlowKey).toInstance(); - flowBuilder.setKey(newFlowKey); - flowBuilder.addAugmentation(FlowStatisticsData.class, flowStatisticsData.build()); + flow.setKey(newFlowKey); + flow.addAugmentation(FlowStatisticsData.class, flowStatisticsData.build()); logger.debug("Flow {} is not present in config data store, augmenting statistics as an unaccounted flow", - flowBuilder.build()); + flow.build()); // Update entry with timestamp of latest response flow.setKey(newFlowKey); FlowStatsEntry flowStatsEntry = new FlowStatsEntry(tableId,flow.build()); - trans.putOperationalData(flowRef, flowBuilder.build()); + trans.putOperationalData(flowRef, flow.build()); return flowStatsEntry; } diff --git a/pom.xml b/pom.xml index 242ab8eb89..8bebd2aa61 100644 --- a/pom.xml +++ b/pom.xml @@ -126,10 +126,6 @@ opendaylight/commons/filter-valve - features/base - features/controller - features/adsal - features/extras opendaylight/dummy-console opendaylight/karaf-branding opendaylight/distribution/opendaylight-karaf