Code ReOrganization and Re-Architecture changes 91/6291/2
authorMadhu Venugopal <mavenugo@gmail.com>
Fri, 18 Apr 2014 14:47:36 +0000 (07:47 -0700)
committerMadhu Venugopal <mavenugo@gmail.com>
Fri, 18 Apr 2014 20:11:56 +0000 (13:11 -0700)
1. Split OVSDB library from plugin
2. Removed all Opendaylight dependencies from OVSDB library
3. Modified the library to take in context vars to retain consistency with the current design.
4. Changed the artifact-id of all the bundles from random conventions to a consistent convention "ovsdb_*"
5. Also changed the directory structure to fit in the reorg/rearch.

Change-Id: Iea0bc8b24c398f0de861a64ddceafe49593aefdb
Signed-off-by: Madhu Venugopal <mavenugo@gmail.com>
174 files changed:
commons/parent/pom.xml
distribution/opendaylight/pom.xml
library/pom.xml [new file with mode: 0755]
library/src/main/java/org/opendaylight/ovsdb/lib/EchoServiceCallbackFilters.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/EchoServiceCallbackFilters.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/LockAquisitionCallback.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/LockAquisitionCallback.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/LockStolenCallback.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/LockStolenCallback.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/MonitorCallBack.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/MonitorCallBack.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/MonitorHandle.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/MonitorHandle.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/OvsDBClient.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/OvsDBClient.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/OvsDBClientImpl.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/OvsDBClientImpl.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/database/Column.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/database/Column.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/database/ColumnSchema.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/database/ColumnSchema.java with 95% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/database/DatabaseSchema.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/database/DatabaseSchema.java with 95% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/database/OVSBridge.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/database/OVSBridge.java with 86% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/database/OVSInstance.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/database/OVSInstance.java with 84% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/database/OvsdbType.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/database/OvsdbType.java with 97% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/database/Table.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/database/Table.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/database/TableSchema.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/database/TableSchema.java with 95% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/database/Uuid.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/database/Uuid.java with 98% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/ExceptionHandler.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/ExceptionHandler.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/InvalidEncodingException.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/InvalidEncodingException.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonRpc10Request.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonRpc10Request.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonRpc10Response.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonRpc10Response.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonRpcDecoder.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonRpcDecoder.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonRpcEncoder.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonRpcEncoder.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonRpcEndpoint.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonRpcEndpoint.java with 93% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonRpcServiceBinderHandler.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonRpcServiceBinderHandler.java with 85% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonUtils.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonUtils.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/Params.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/Params.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/message/EchoResponse.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/message/EchoResponse.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/message/InsertSerializer.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/message/InsertSerializer.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/message/MonitorRequest.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/message/MonitorRequest.java with 95% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/message/MonitorRequestBuilder.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/message/MonitorRequestBuilder.java with 94% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/message/MonitorSelect.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/message/MonitorSelect.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/message/OvsdbRPC.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/message/OvsdbRPC.java with 87% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/message/Response.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/message/Response.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/message/TableUpdate.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/message/TableUpdate.java with 97% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/message/TableUpdates.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/message/TableUpdates.java with 99% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/message/TransactBuilder.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/message/TransactBuilder.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/message/TransactResponse.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/message/TransactResponse.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/message/UpdateNotification.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/message/UpdateNotification.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/notation/Condition.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/notation/Condition.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/notation/Function.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/notation/Function.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/notation/Mutation.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/notation/Mutation.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/notation/Mutator.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/notation/Mutator.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/notation/OvsDBMap.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/notation/OvsDBMap.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/notation/OvsDBSet.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/notation/OvsDBSet.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/notation/Row.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/notation/Row.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/notation/UUID.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/notation/UUID.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/notation/json/ConditionSerializer.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/notation/json/ConditionSerializer.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/notation/json/Converter.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/notation/json/Converter.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/notation/json/MutationSerializer.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/notation/json/MutationSerializer.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/notation/json/OVSDBTypesIDResolver.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/notation/json/OVSDBTypesIDResolver.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/notation/json/OvsDBMapSerializer.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/notation/json/OvsDBMapSerializer.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/notation/json/OvsDBSetSerializer.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/notation/json/OvsDBSetSerializer.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/notation/json/UUIDSerializer.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/notation/json/UUIDSerializer.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/notation/json/UUIDStringConverter.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/notation/json/UUIDStringConverter.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/AbortOperation.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/AbortOperation.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/AssertOperation.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/AssertOperation.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/CommentOperation.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/CommentOperation.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/CommitOperation.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/CommitOperation.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/ConditionalOperation.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/ConditionalOperation.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/DeleteOperation.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/DeleteOperation.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/Insert.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/Insert.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/InsertOperation.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/InsertOperation.java with 96% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/MutateOperation.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/MutateOperation.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/Operation.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/Operation.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/OperationResult.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/OperationResult.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/Operations.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/Operations.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/SelectOperation.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/SelectOperation.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/TransactionBuilder.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/TransactionBuilder.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/Update.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/Update.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/UpdateOperation.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/UpdateOperation.java with 96% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/WaitOperation.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/WaitOperation.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/operations/Where.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/Where.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/schema/ATableSchema.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/schema/ATableSchema.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/schema/BaseType.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/schema/BaseType.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/schema/ColumnSchema.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/schema/ColumnSchema.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/schema/ColumnType.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/schema/ColumnType.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/schema/DatabaseSchema.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/schema/DatabaseSchema.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/schema/TableSchema.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/schema/TableSchema.java with 100% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/Bridge.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Bridge.java with 97% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/Capability.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Capability.java with 95% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/Column.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/internal/Column.java with 87% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/Controller.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Controller.java with 94% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/Flow_Sample_Collector_Set.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Flow_Sample_Collector_Set.java with 94% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/Flow_Table.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Flow_Table.java with 95% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/IPFIX.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/IPFIX.java with 98% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/Interface.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Interface.java with 98% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/Manager.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Manager.java with 94% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/Mirror.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Mirror.java with 98% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/NetFlow.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/NetFlow.java with 95% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/Open_vSwitch.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Open_vSwitch.java with 97% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/Port.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Port.java with 97% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/Qos.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Qos.java with 96% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/Queue.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Queue.java with 95% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/SFlow.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/SFlow.java with 97% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/SSL.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/SSL.java with 96% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/Table.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/internal/Table.java with 94% similarity]
library/src/main/java/org/opendaylight/ovsdb/lib/table/Tables.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/internal/Tables.java with 56% similarity]
library/src/test/java/org/opendaylight/ovsdb/lib/OvsDBClientTestIT.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/lib/OvsDBClientTestIT.java with 84% similarity]
library/src/test/java/org/opendaylight/ovsdb/lib/OvsDBClientTestITTyped.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/lib/OvsDBClientTestITTyped.java with 84% similarity]
library/src/test/java/org/opendaylight/ovsdb/lib/OvsdbTestBase.java [new file with mode: 0644]
library/src/test/java/org/opendaylight/ovsdb/lib/jsonrpc/NettyBootStrapper.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/lib/jsonrpc/NettyBootStrapper.java with 100% similarity]
library/src/test/java/org/opendaylight/ovsdb/lib/jsonrpc/TestClient.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/lib/jsonrpc/TestClient.java with 100% similarity]
library/src/test/java/org/opendaylight/ovsdb/lib/jsonrpc/TestTokens.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/lib/jsonrpc/TestTokens.java with 100% similarity]
library/src/test/java/org/opendaylight/ovsdb/lib/message/MonitorResponseTest.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/lib/message/MonitorResponseTest.java with 98% similarity]
library/src/test/java/org/opendaylight/ovsdb/lib/schema/OvsDBSchemaTest.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/lib/schema/OvsDBSchemaTest.java with 100% similarity]
library/src/test/java/org/opendaylight/ovsdb/lib/schema/temp/Reference.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/lib/schema/temp/Reference.java with 100% similarity]
library/src/test/java/org/opendaylight/ovsdb/lib/schema/temp/SchemaObjs.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/lib/schema/temp/SchemaObjs.java with 100% similarity]
library/src/test/java/org/opendaylight/ovsdb/lib/schema/test_schema.json [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/lib/schema/test_schema.json with 100% similarity]
library/src/test/resources/logback.xml [moved from ovsdb/src/test/resources/logback.xml with 100% similarity]
library/src/test/resources/org/opendaylight/ovsdb/lib/message/integration-test.properties [new file with mode: 0644]
library/src/test/resources/org/opendaylight/ovsdb/lib/message/monitor_response1.json [moved from ovsdb/src/test/resources/org/opendaylight/ovsdb/lib/message/monitor_response1.json with 100% similarity]
library/src/test/resources/org/opendaylight/ovsdb/lib/message/monitor_response_sample.json [moved from ovsdb/src/test/resources/org/opendaylight/ovsdb/lib/message/monitor_response_sample.json with 100% similarity]
library/src/test/resources/org/opendaylight/ovsdb/lib/schema/test_schema.json [moved from ovsdb/src/test/resources/org/opendaylight/ovsdb/lib/schema/test_schema.json with 100% similarity]
neutron/pom.xml
neutron/src/main/java/org/opendaylight/ovsdb/neutron/AdminConfigManager.java
neutron/src/main/java/org/opendaylight/ovsdb/neutron/InternalNetworkManager.java
neutron/src/main/java/org/opendaylight/ovsdb/neutron/NodeConfiguration.java
neutron/src/main/java/org/opendaylight/ovsdb/neutron/SouthboundEvent.java
neutron/src/main/java/org/opendaylight/ovsdb/neutron/SouthboundHandler.java
neutron/src/main/java/org/opendaylight/ovsdb/neutron/TenantNetworkManager.java
neutron/src/main/java/org/opendaylight/ovsdb/neutron/provider/OF10ProviderManager.java
neutron/src/main/java/org/opendaylight/ovsdb/neutron/provider/OF13ProviderManager.java
neutron/src/main/java/org/opendaylight/ovsdb/neutron/provider/ProviderNetworkManager.java
neutron/src/test/java/org/opendaylight/ovsdb/neutron/AdminConfigManagerTest.java
northbound/enunciate.xml [moved from northbound/ovsdb/enunciate.xml with 100% similarity]
northbound/pom.xml [moved from northbound/ovsdb/pom.xml with 85% similarity]
northbound/src/main/java/org/opendaylight/ovsdb/northbound/OVSDBNorthbound.java [moved from northbound/ovsdb/src/main/java/org/opendaylight/ovsdb/northbound/OVSDBNorthbound.java with 99% similarity]
northbound/src/main/java/org/opendaylight/ovsdb/northbound/OVSDBRow.java [moved from northbound/ovsdb/src/main/java/org/opendaylight/ovsdb/northbound/OVSDBRow.java with 98% similarity]
northbound/src/main/java/org/opendaylight/ovsdb/northbound/OVSDBRows.java [moved from northbound/ovsdb/src/main/java/org/opendaylight/ovsdb/northbound/OVSDBRows.java with 92% similarity]
northbound/src/main/resources/WEB-INF/web.xml [moved from northbound/ovsdb/src/main/resources/WEB-INF/web.xml with 100% similarity]
ovsdb/pom.xml [deleted file]
ovsdb/src/test/java/org/opendaylight/ovsdb/lib/message/OVSDBNettyFactoryIT.java [deleted file]
plugin/pom.xml [new file with mode: 0755]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/Activator.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/Activator.java with 100% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/ChannelConnectionHandler.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/ChannelConnectionHandler.java with 100% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/ConfigurationService.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/ConfigurationService.java with 99% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/Connection.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/Connection.java with 100% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/ConnectionService.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/ConnectionService.java with 98% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/Encapsulation.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/Encapsulation.java with 100% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/IConnectionServiceInternal.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/IConnectionServiceInternal.java with 100% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/IPAddressProperty.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/IPAddressProperty.java with 100% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/InsertRequest.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/InsertRequest.java with 100% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/InventoryService.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/InventoryService.java with 99% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/InventoryServiceInternal.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/InventoryServiceInternal.java with 96% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/L4PortProperty.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/L4PortProperty.java with 100% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/MutateRequest.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/MutateRequest.java with 100% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/NodeConnectorFactory.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/NodeConnectorFactory.java with 100% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/NodeDB.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/NodeDB.java with 97% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/NodeFactory.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/NodeFactory.java with 100% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/OVSDBConfigService.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/OVSDBConfigService.java with 95% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/OVSDBInventoryListener.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/OVSDBInventoryListener.java with 93% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/OvsdbMessage.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/OvsdbMessage.java with 100% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/ReadService.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/ReadService.java with 100% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/StatusWithUuid.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/StatusWithUuid.java with 100% similarity]
plugin/src/main/java/org/opendaylight/ovsdb/plugin/UpdateRequest.java [moved from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/UpdateRequest.java with 100% similarity]
plugin/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestAddBridgeIT.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestAddBridgeIT.java with 100% similarity]
plugin/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestAddPortIT.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestAddPortIT.java with 100% similarity]
plugin/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestAddTunnelIT.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestAddTunnelIT.java with 100% similarity]
plugin/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestAddVlanIT.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestAddVlanIT.java with 100% similarity]
plugin/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestBase.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestBase.java with 100% similarity]
plugin/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestBridgeConfigIT.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestBridgeConfigIT.java with 100% similarity]
plugin/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestDeletePortIT.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestDeletePortIT.java with 100% similarity]
plugin/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestGetBridgeDomainsIT.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestGetBridgeDomainsIT.java with 100% similarity]
plugin/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestSetManagerIT.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestSetManagerIT.java with 100% similarity]
plugin/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestSetOFControllerIT.java [moved from ovsdb/src/test/java/org/opendaylight/ovsdb/plugin/OvsdbTestSetOFControllerIT.java with 100% similarity]
plugin/src/test/resources/logback.xml [new file with mode: 0644]
plugin/src/test/resources/org/opendaylight/ovsdb/lib/message/integration-test.properties [moved from ovsdb/src/test/resources/org/opendaylight/ovsdb/lib/message/integration-test.properties with 100% similarity]
plugin/src/test/resources/org/opendaylight/ovsdb/lib/message/monitor_response1.json [new file with mode: 0644]
plugin/src/test/resources/org/opendaylight/ovsdb/lib/message/monitor_response_sample.json [new file with mode: 0644]
plugin/src/test/resources/org/opendaylight/ovsdb/lib/schema/test_schema.json [new file with mode: 0644]
pom.xml

index 0c7b735466cd6f55f7377899042dae7493d70480..a752b6e7e7f641205ceb1685eaec7431b0f71e10 100755 (executable)
@@ -1,30 +1,23 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
-  <prerequisites>
-    <maven>3.0</maven>
-  </prerequisites>
   <parent>
     <groupId>org.opendaylight.controller</groupId>
     <artifactId>commons.opendaylight</artifactId>
     <version>1.4.2-SNAPSHOT</version>
   </parent>
   <groupId>org.opendaylight.ovsdb</groupId>
-  <artifactId>commons.ovsdb</artifactId>
+  <artifactId>ovsdb_commons</artifactId>
   <version>1.1.0-SNAPSHOT</version>
   <packaging>pom</packaging>
-  <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
-  <scm>
-    <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
-    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
-    <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
-    <tag>HEAD</tag>
-  </scm>
+  <prerequisites>
+    <maven>3.0</maven>
+  </prerequisites>
   <properties>
-    <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <java.version.source>1.7</java.version.source>
     <java.version.target>1.7</java.version.target>
+    <nexusproxy>http://nexus.opendaylight.org/content</nexusproxy>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
   </properties>
 
   <build>
       </plugins>
     </pluginManagement>
   </build>
+  <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
+  <scm>
+    <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
+    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
+    <tag>HEAD</tag>
+    <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
+  </scm>
 
   <repositories>
     <!-- Opendaylight public group -->
     <repository>
-      <id>opendaylight-public</id>
-      <name>opendaylight-public</name>
-      <url>${nexusproxy}/groups/public/</url>
       <snapshots>
         <enabled>false</enabled>
       </snapshots>
+      <id>opendaylight-public</id>
+      <name>opendaylight-public</name>
+      <url>${nexusproxy}/groups/public/</url>
     </repository>
     <!-- OpenDayLight Released artifact -->
     <repository>
 
   <pluginRepositories>
     <pluginRepository>
-      <id>opendaylight-public</id>
-      <name>opendaylight-public</name>
-      <url>http://nexus.opendaylight.org/content/groups/public/</url>
       <snapshots>
         <enabled>false</enabled>
       </snapshots>
+      <id>opendaylight-public</id>
+      <name>opendaylight-public</name>
+      <url>http://nexus.opendaylight.org/content/groups/public/</url>
     </pluginRepository>
     <pluginRepository>
       <id>opendaylight-release</id>
index a2f226aa2287caff746d6c24a0c2cb2e5de90cab..da9a9a48adcf10f38728af0453bf836c23cbc8b7 100755 (executable)
@@ -1,3 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
 <!--
 Adapted from David Erickson's Distribution pom.xml
 see https://git.opendaylight.org/gerrit/#/c/390/
@@ -6,7 +7,7 @@ see https://git.opendaylight.org/gerrit/#/c/390/
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>org.opendaylight.ovsdb</groupId>
-    <artifactId>commons.ovsdb</artifactId>
+    <artifactId>ovsdb_commons</artifactId>
     <version>1.1.0-SNAPSHOT</version>
     <relativePath>../../commons/parent/</relativePath>
   </parent>
@@ -14,38 +15,36 @@ see https://git.opendaylight.org/gerrit/#/c/390/
   <artifactId>distribution.ovsdb</artifactId>
   <packaging>pom</packaging>
   <name>ovsdb Distribution</name>
-
-  <scm>
-    <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
-    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
-    <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
-    <tag>HEAD</tag>
-  </scm>
   <dependencies>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>distribution.opendaylight</artifactId>
-      <version>0.1.2-SNAPSHOT</version>
-      <type>zip</type>
-      <classifier>osgipackage</classifier>
-      <!-- Make sure this isn't included on any classpath-->
-      <scope>provided</scope>
-    </dependency>
     <dependency>
       <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>ovsdb</artifactId>
+      <artifactId>ovsdb_library</artifactId>
       <version>1.0.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>ovsdb.northbound</artifactId>
+      <artifactId>ovsdb_neutron</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>ovsdb.neutron</artifactId>
+      <artifactId>ovsdb_northbound</artifactId>
       <version>0.6.0-SNAPSHOT</version>
     </dependency>
+    <dependency>
+      <groupId>org.opendaylight.ovsdb</groupId>
+      <artifactId>ovsdb_plugin</artifactId>
+      <version>1.0.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>distribution.opendaylight</artifactId>
+      <version>0.1.2-SNAPSHOT</version>
+      <classifier>osgipackage</classifier>
+      <type>zip</type>
+      <!-- Make sure this isn't included on any classpath-->
+      <scope>provided</scope>
+    </dependency>
   </dependencies>
   <build>
     <resources>
@@ -53,49 +52,56 @@ see https://git.opendaylight.org/gerrit/#/c/390/
         <directory>${basedir}/src/main/resources</directory>
       </resource>
       <resource>
-        <directory>${project.build.directory}/generated-resources</directory>
         <filtering>true</filtering>
+        <directory>${project.build.directory}/generated-resources</directory>
       </resource>
     </resources>
     <plugins>
       <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-dependency-plugin</artifactId>
-        <version>2.8</version>
+        <artifactId>maven-assembly-plugin</artifactId>
         <executions>
           <execution>
-            <id>unpack-shared-resources</id>
+            <id>distro-assembly</id>
             <goals>
-              <goal>unpack-dependencies</goal>
+              <goal>single</goal>
             </goals>
-            <phase>generate-resources</phase>
+            <phase>package</phase>
             <configuration>
-             <outputDirectory>${project.build.directory}/generated-resources</outputDirectory>
-             <includeArtifactIds>distribution.opendaylight</includeArtifactIds>
-             <includeGroupIds>org.opendaylight.controller</includeGroupIds>
-             <excludeTransitive>true</excludeTransitive>
-             <ignorePermissions>false</ignorePermissions>
+              <descriptors>
+                <descriptor>src/assemble/bin.xml</descriptor>
+              </descriptors>
             </configuration>
           </execution>
         </executions>
       </plugin>
       <plugin>
-        <artifactId>maven-assembly-plugin</artifactId>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <version>2.8</version>
         <executions>
           <execution>
-            <id>distro-assembly</id>
-            <phase>package</phase>
+            <id>unpack-shared-resources</id>
             <goals>
-              <goal>single</goal>
+              <goal>unpack-dependencies</goal>
             </goals>
+            <phase>generate-resources</phase>
             <configuration>
-              <descriptors>
-                <descriptor>src/assemble/bin.xml</descriptor>
-              </descriptors>
+              <outputDirectory>${project.build.directory}/generated-resources</outputDirectory>
+              <includeArtifactIds>distribution.opendaylight</includeArtifactIds>
+              <includeGroupIds>org.opendaylight.controller</includeGroupIds>
+              <excludeTransitive>true</excludeTransitive>
+              <ignorePermissions>false</ignorePermissions>
             </configuration>
           </execution>
         </executions>
       </plugin>
     </plugins>
   </build>
+
+  <scm>
+    <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
+    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
+    <tag>HEAD</tag>
+    <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
+  </scm>
 </project>
diff --git a/library/pom.xml b/library/pom.xml
new file mode 100755 (executable)
index 0000000..b281bf3
--- /dev/null
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.opendaylight.ovsdb</groupId>
+    <artifactId>ovsdb_commons</artifactId>
+    <version>1.1.0-SNAPSHOT</version>
+    <relativePath>../commons/parent</relativePath>
+  </parent>
+  <artifactId>ovsdb_library</artifactId>
+  <version>1.0.0-SNAPSHOT</version>
+  <packaging>bundle</packaging>
+
+  <properties>
+    <!-- used for filtering the integration test resource -->
+    <ovsdbserver.ipaddress>192.168.56.10</ovsdbserver.ipaddress>
+    <ovsdbserver.port>6640</ovsdbserver.port>
+    <skip.integrationtest>true</skip.integrationtest>
+  </properties>
+  <dependencies>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-classic</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-annotations</artifactId>
+      <version>${jackson.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-core</artifactId>
+      <version>${jackson.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+      <version>${jackson.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.google.code.gson</groupId>
+      <artifactId>gson</artifactId>
+      <version>2.1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+      <version>${guava.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-codec</groupId>
+      <artifactId>commons-codec</artifactId>
+      <version>1.4</version>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+      <version>1.0</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.3</version>
+    </dependency>
+    <dependency>
+      <groupId>equinoxSDK381</groupId>
+      <artifactId>org.eclipse.osgi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.netty</groupId>
+      <artifactId>netty-all</artifactId>
+      <version>4.0.10.Final</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.portlet</groupId>
+      <artifactId>portlet-api</artifactId>
+      <version>2.0</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpcore-nio</artifactId>
+      <version>4.2.1</version>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <testResources>
+      <testResource>
+        <filtering>true</filtering>
+        <directory>src/test/resources</directory>
+      </testResource>
+    </testResources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <version>2.3.6</version>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Import-Package>org.apache.commons.lang3.builder,
+                org.apache.commons.lang3.tuple,
+                org.apache.felix.dm,
+                org.slf4j,
+                org.eclipse.osgi.framework.console,
+                org.osgi.framework,
+                javax.net.ssl,
+                *</Import-Package>
+            <Embed-Transitive>true</Embed-Transitive>
+            <Export-Package>org.opendaylight.ovsdb.lib,
+                org.opendaylight.ovsdb.lib.table,
+                org.opendaylight.ovsdb.lib.jsonrpc,
+                org.opendaylight.ovsdb.lib.notation,
+                org.opendaylight.ovsdb.lib.database,
+                org.opendaylight.ovsdb.lib.operations,
+                org.opendaylight.ovsdb.lib.message,
+                org.opendaylight.ovsdb.lib.schema</Export-Package>
+          </instructions>
+          <manifestLocation>${project.basedir}/META-INF</manifestLocation>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-failsafe-plugin</artifactId>
+        <configuration>
+          <skipITs>${skip.integrationtest}</skipITs>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>2.16</version>
+        <configuration>
+          <excludes>
+            <!--  Exclude integration tests -->
+            <exclude>**/*IT</exclude>
+          </excludes>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <scm>
+    <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
+    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
+    <tag>HEAD</tag>
+    <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
+  </scm>
+
+  <profiles>
+    <profile>
+      <id>integrationtest</id>
+      <activation></activation>
+      <properties>
+        <skip.integrationtest>false</skip.integrationtest>
+      </properties>
+    </profile>
+  </profiles>
+</project>
similarity index 95%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/database/ColumnSchema.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/database/ColumnSchema.java
index 19e1cc5e6725b76ce0bc8a665a36d8d4988b3aba..64c3503b7acff93cabdeeec5d937944582b809c2 100644 (file)
@@ -1,54 +1,54 @@
-/*\r
- * [[ Authors will Fill in the Copyright header ]]\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Authors : Brent Salisbury, Evan Zeller\r
- */\r
-package org.opendaylight.ovsdb.lib.database;\r
-\r
-import com.fasterxml.jackson.annotation.JsonProperty;\r
-\r
-public class ColumnSchema {\r
-\r
-    String name;\r
-\r
-    @JsonProperty("type")\r
-    private OvsdbType type;\r
-\r
-    @JsonProperty("ephemeral")\r
-    private Boolean ephemeral;\r
-\r
-    @JsonProperty("mutable")\r
-    private Boolean mutable;\r
-\r
-    public OvsdbType getType() {\r
-        return type;\r
-    }\r
-\r
-    public Boolean getEphemeral() {\r
-        return ephemeral;\r
-    }\r
-\r
-    public Boolean getMutable() {\r
-        return mutable;\r
-    }\r
-\r
-    public String getName() {\r
-        return name;\r
-    }\r
-\r
-    public void setName(String name) {\r
-        this.name = name;\r
-    }\r
-\r
-\r
-    @Override\r
-    public String toString() {\r
-        return "ColumnType [type=" + type + ", ephemeral=" + ephemeral\r
-                + ", mutable=" + mutable + "]";\r
-    }\r
-\r
-}\r
+/*
+ * [[ Authors will Fill in the Copyright header ]]
+ *
+ * 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
+ *
+ * Authors : Brent Salisbury, Evan Zeller
+ */
+package org.opendaylight.ovsdb.lib.database;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class ColumnSchema {
+
+    String name;
+
+    @JsonProperty("type")
+    private OvsdbType type;
+
+    @JsonProperty("ephemeral")
+    private Boolean ephemeral;
+
+    @JsonProperty("mutable")
+    private Boolean mutable;
+
+    public OvsdbType getType() {
+        return type;
+    }
+
+    public Boolean getEphemeral() {
+        return ephemeral;
+    }
+
+    public Boolean getMutable() {
+        return mutable;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+
+    @Override
+    public String toString() {
+        return "ColumnType [type=" + type + ", ephemeral=" + ephemeral
+                + ", mutable=" + mutable + "]";
+    }
+
+}
similarity index 95%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/database/DatabaseSchema.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/database/DatabaseSchema.java
index ce2620ea08599dc160397f134e8a7adf09b6bca9..b456fc381a22012979140e6bfb24fbdccb7f9a33 100644 (file)
@@ -1,54 +1,54 @@
-/*\r
- * [[ Authors will Fill in the Copyright header ]]\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Authors : Brent Salisbury, Evan Zeller\r
- */\r
-package org.opendaylight.ovsdb.lib.database;\r
-\r
-import java.util.Map;\r
-\r
-import com.fasterxml.jackson.annotation.JsonProperty;\r
-\r
-public class DatabaseSchema {\r
-    @JsonProperty("name")\r
-    private String name;\r
-\r
-    @JsonProperty("version")\r
-    private String version;\r
-\r
-    @JsonProperty("cksum")\r
-    private String cksum;\r
-\r
-    @JsonProperty("tables")\r
-    private Map<String, TableSchema> tables;\r
-\r
-    public String getName() {\r
-        return name;\r
-    }\r
-\r
-    public String getVersion() {\r
-        return version;\r
-    }\r
-\r
-    public String getCksum() {\r
-        return cksum;\r
-    }\r
-\r
-    public Map<String, TableSchema> getTables() {\r
-        return tables;\r
-    }\r
-\r
-    public TableSchema getTable(String tableName) {\r
-       return tables.get(tableName);\r
-    }\r
-\r
-    @Override\r
-    public String toString() {\r
-        return "DatabaseSchema [name=" + name + ", version=" + version\r
-                + ", cksum=" + cksum + ", tables=" + tables + "]";\r
-    }\r
-}\r
+/*
+ * [[ Authors will Fill in the Copyright header ]]
+ *
+ * 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
+ *
+ * Authors : Brent Salisbury, Evan Zeller
+ */
+package org.opendaylight.ovsdb.lib.database;
+
+import java.util.Map;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class DatabaseSchema {
+    @JsonProperty("name")
+    private String name;
+
+    @JsonProperty("version")
+    private String version;
+
+    @JsonProperty("cksum")
+    private String cksum;
+
+    @JsonProperty("tables")
+    private Map<String, TableSchema> tables;
+
+    public String getName() {
+        return name;
+    }
+
+    public String getVersion() {
+        return version;
+    }
+
+    public String getCksum() {
+        return cksum;
+    }
+
+    public Map<String, TableSchema> getTables() {
+        return tables;
+    }
+
+    public TableSchema getTable(String tableName) {
+       return tables.get(tableName);
+    }
+
+    @Override
+    public String toString() {
+        return "DatabaseSchema [name=" + name + ", version=" + version
+                + ", cksum=" + cksum + ", tables=" + tables + "]";
+    }
+}
similarity index 86%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/database/OVSBridge.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/database/OVSBridge.java
index 2c404c280cffeb3e5cd1dd3646f0c7b5926071f2..e3f8003dad7ede268f46f6aa8e58c447989e4f32 100644 (file)
@@ -7,67 +7,62 @@
  *
  * Authors : Brent Salisbury, Evan Zeller
  */
-package org.opendaylight.ovsdb.lib.database;\r
-\r
-\r
+package org.opendaylight.ovsdb.lib.database;
+
+
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import org.opendaylight.ovsdb.plugin.Connection;
-import org.opendaylight.ovsdb.plugin.OvsdbMessage;
-\r
-public class OVSBridge {\r
-\r
-    private String uuid;\r
-    private String name;\r
-\r
-    public OVSBridge(String uuid, String name){\r
-        this.uuid = uuid;\r
-        this.name = name;\r
-    }\r
-\r
-    public String getUuid(){\r
-        return this.uuid;\r
-    }\r
-\r
-    public String getName(){\r
-        return this.name;\r
-    }\r
-\r
-    @SuppressWarnings("unchecked")\r
-    public static Map<String, OVSBridge> monitorBridge(Connection connection){\r
-        List<String> columns = new ArrayList<String>();\r
-        columns.add("_uuid");\r
-        columns.add("name");\r
-\r
-        Map<String, List<String>> row = new HashMap<String, List<String>>();\r
-        row.put("columns", columns);\r
-\r
-        Map<String, Map> tables = new HashMap<String, Map>();\r
-        tables.put("Bridge", row);\r
-\r
-        Object[] params = {"Open_vSwitch", null, tables};\r
-\r
-        OvsdbMessage msg = new OvsdbMessage("monitor", params);\r
-        Map<String, Object> monitorResponse = new HashMap<String, Object>();\r
-\r
-        Map<String, Object> bridgeTable = (Map) monitorResponse.get("Bridge");\r
-\r
-        Object[] uuidObjects = bridgeTable.keySet().toArray();\r
-        String[] uuids = Arrays.copyOf(uuidObjects, uuidObjects.length, String[].class);\r
-\r
-        Map<String, OVSBridge> result = new HashMap<String, OVSBridge>();\r
-\r
-        for(String uuid : uuids){\r
-            Map<String, Object> newRow = (Map) bridgeTable.get(uuid);\r
-            Map<String, Object> newColumns = (Map) newRow.get("new");\r
-            String name = (String) newColumns.get("name");\r
-            result.put(name, new OVSBridge(uuid, name));\r
-        }\r
-\r
-        return result;\r
-    }\r
-}\r
+public class OVSBridge {
+
+    private String uuid;
+    private String name;
+
+    public OVSBridge(String uuid, String name){
+        this.uuid = uuid;
+        this.name = name;
+    }
+
+    public String getUuid(){
+        return this.uuid;
+    }
+
+    public String getName(){
+        return this.name;
+    }
+
+    @SuppressWarnings("unchecked")
+    public static Map<String, OVSBridge> monitorBridge(){
+        List<String> columns = new ArrayList<String>();
+        columns.add("_uuid");
+        columns.add("name");
+
+        Map<String, List<String>> row = new HashMap<String, List<String>>();
+        row.put("columns", columns);
+
+        Map<String, Map> tables = new HashMap<String, Map>();
+        tables.put("Bridge", row);
+
+        Object[] params = {"Open_vSwitch", null, tables};
+
+        Map<String, Object> monitorResponse = new HashMap<String, Object>();
+        Map<String, Object> bridgeTable = (Map) monitorResponse.get("Bridge");
+
+        Object[] uuidObjects = bridgeTable.keySet().toArray();
+        String[] uuids = Arrays.copyOf(uuidObjects, uuidObjects.length, String[].class);
+
+        Map<String, OVSBridge> result = new HashMap<String, OVSBridge>();
+
+        for(String uuid : uuids){
+            Map<String, Object> newRow = (Map) bridgeTable.get(uuid);
+            Map<String, Object> newColumns = (Map) newRow.get("new");
+            String name = (String) newColumns.get("name");
+            result.put(name, new OVSBridge(uuid, name));
+        }
+
+        return result;
+    }
+}
similarity index 84%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/database/OVSInstance.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/database/OVSInstance.java
index f5fd7244bea1bd51726a8f90259fdc1f910756fc..5fa6cb650bc1ce752d4b503376942dffe1d69795 100644 (file)
@@ -7,55 +7,50 @@
  *
  * Authors : Brent Salisbury, Evan Zeller
  */
-package org.opendaylight.ovsdb.lib.database;\r
-\r
-\r
-import org.opendaylight.ovsdb.plugin.Connection;\r
-import org.opendaylight.ovsdb.plugin.OvsdbMessage;\r
-\r
-import java.util.ArrayList;\r
-import java.util.HashMap;\r
-import java.util.List;\r
-import java.util.Map;\r
-\r
-public class OVSInstance {\r
-    private String uuid;\r
-\r
-    public OVSInstance(){\r
-        this.uuid = null;\r
-    }\r
-\r
-    public OVSInstance(String uuid){\r
-        this.uuid = uuid;\r
-    }\r
-\r
-    @SuppressWarnings("unchecked")\r
-    public static OVSInstance monitorOVS(Connection connection){\r
-        List<String> columns = new ArrayList<String>();\r
-        columns.add("_uuid");\r
-        columns.add("bridges");\r
-\r
-        Map<String, List<String>> row = new HashMap<String, List<String>>();\r
-        row.put("columns", columns);\r
-\r
-        Map<String, Map> tables = new HashMap<String, Map>();\r
-        tables.put("Open_vSwitch", row);\r
-\r
-        Object[] params = {"Open_vSwitch", null, tables};\r
-\r
-        OvsdbMessage msg = new OvsdbMessage("monitor", params);\r
-        Map<String, Object> monitorResponse = new HashMap<String, Object>();\r
-\r
-        Map<String, Object> vSwitchTable = (Map) monitorResponse.get("Open_vSwitch");\r
-        if(vSwitchTable != null){\r
-            String uuid = (String) vSwitchTable.keySet().toArray()[0];\r
-            return new OVSInstance(uuid);\r
-        }\r
-        return null;\r
-    }\r
-\r
-    public String getUuid(){\r
-        return this.uuid;\r
-    }\r
-\r
-}\r
+package org.opendaylight.ovsdb.lib.database;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+public class OVSInstance {
+    private String uuid;
+
+    public OVSInstance(){
+        this.uuid = null;
+    }
+
+    public OVSInstance(String uuid){
+        this.uuid = uuid;
+    }
+
+    @SuppressWarnings("unchecked")
+    public static OVSInstance monitorOVS(){
+        List<String> columns = new ArrayList<String>();
+        columns.add("_uuid");
+        columns.add("bridges");
+
+        Map<String, List<String>> row = new HashMap<String, List<String>>();
+        row.put("columns", columns);
+
+        Map<String, Map> tables = new HashMap<String, Map>();
+        tables.put("Open_vSwitch", row);
+
+        Object[] params = {"Open_vSwitch", null, tables};
+
+        Map<String, Object> monitorResponse = new HashMap<String, Object>();
+
+        Map<String, Object> vSwitchTable = (Map) monitorResponse.get("Open_vSwitch");
+        if(vSwitchTable != null){
+            String uuid = (String) vSwitchTable.keySet().toArray()[0];
+            return new OVSInstance(uuid);
+        }
+        return null;
+    }
+
+    public String getUuid(){
+        return this.uuid;
+    }
+
+}
similarity index 97%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/database/OvsdbType.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/database/OvsdbType.java
index f7b3ee85dbacfc31a41d133a4820c46151738916..9685ebbe3ad557c9993cbc6f937a7c060dab23e9 100644 (file)
@@ -7,94 +7,94 @@
  *
  * Authors : Brent Salisbury, Evan Zeller
  */
-package org.opendaylight.ovsdb.lib.database;\r
-\r
+package org.opendaylight.ovsdb.lib.database;
+
 import com.fasterxml.jackson.annotation.JsonProperty;
-\r
-\r
-public class OvsdbType {\r
-    public enum PortType {\r
-        VLAN("vlan"),\r
-        TUNNEL("Tunnel"),\r
-        BONDING("Bonding"),\r
-        PATCH("patch"),\r
-        INTERNAL("internal");\r
-\r
-        private PortType(String name) {\r
-            this.name = name;\r
-        }\r
-\r
-        private String name;\r
-\r
+
+
+public class OvsdbType {
+    public enum PortType {
+        VLAN("vlan"),
+        TUNNEL("Tunnel"),
+        BONDING("Bonding"),
+        PATCH("patch"),
+        INTERNAL("internal");
+
+        private PortType(String name) {
+            this.name = name;
+        }
+
+        private String name;
+
         @Override
-        public String toString() {\r
-            return name;\r
-        }\r
-    }\r
-    public OvsdbType(String type){\r
-        this.key = new BaseType(type);\r
-    }\r
-\r
-    public OvsdbType(@JsonProperty("key") BaseType key, @JsonProperty("value") BaseType value,\r
-            @JsonProperty("min") Integer min, @JsonProperty("max") Object max){\r
-        this.key = key;\r
-        this.value = value;\r
-        this.min = min;\r
-        this.max = max;\r
-    }\r
-\r
-    public BaseType key;\r
-    public BaseType value;\r
-    public Integer min;\r
-    public Object max;\r
-\r
-    public static class BaseType{\r
-\r
-        public BaseType(String type){\r
-            this.type = type;\r
-        }\r
-\r
-        public BaseType(@JsonProperty("type") String type, @JsonProperty("enum") Object ovsdbEnum,\r
-                @JsonProperty("minInteger") Integer minInteger, @JsonProperty("maxInteger") Integer maxInteger,\r
-                @JsonProperty("minReal") Double minReal, @JsonProperty("maxReal") Double maxReal,\r
-                @JsonProperty("minLength") Integer minLength, @JsonProperty("maxLength") Integer maxLength,\r
-                @JsonProperty("refTable") String refTable, @JsonProperty("refType") String refType){\r
-            this.type = type;\r
-            this.ovsdbEnum = ovsdbEnum;\r
-            this.minInteger = minInteger;\r
-            this.maxInteger = maxInteger;\r
-            this.minReal = minReal;\r
-            this.maxReal = maxReal;\r
-            this.minLength = minLength;\r
-            this.maxLength = maxLength;\r
-            this.refTable = refTable;\r
-            this.refType = refType;\r
-        }\r
-\r
-        public String type;\r
-        public Object ovsdbEnum;\r
-        public Integer minInteger;\r
-        public Integer maxInteger;\r
-        public Double minReal;\r
-        public Double maxReal;\r
-        public Integer minLength;\r
-        public Integer maxLength;\r
-        public String refTable;\r
-        public String refType;\r
-        @Override\r
-        public String toString() {\r
-            return "BaseType [type=" + type + ", ovsdbEnum="\r
-                    + ovsdbEnum + ", minInteger=" + minInteger\r
-                    + ", maxInteger=" + maxInteger + ", minReal=" + minReal\r
-                    + ", maxReal=" + maxReal + ", minLength=" + minLength\r
-                    + ", maxLength=" + maxLength + ", refTable=" + refTable\r
-                    + ", refType=" + refType + "]";\r
-        }\r
-    }\r
-\r
-    @Override\r
-    public String toString() {\r
-        return "OvsdbType [key=" + key + ", value=" + value + ", min=" + min\r
-                + ", max=" + max + "]";\r
-    }\r
-}\r
+        public String toString() {
+            return name;
+        }
+    }
+    public OvsdbType(String type){
+        this.key = new BaseType(type);
+    }
+
+    public OvsdbType(@JsonProperty("key") BaseType key, @JsonProperty("value") BaseType value,
+            @JsonProperty("min") Integer min, @JsonProperty("max") Object max){
+        this.key = key;
+        this.value = value;
+        this.min = min;
+        this.max = max;
+    }
+
+    public BaseType key;
+    public BaseType value;
+    public Integer min;
+    public Object max;
+
+    public static class BaseType{
+
+        public BaseType(String type){
+            this.type = type;
+        }
+
+        public BaseType(@JsonProperty("type") String type, @JsonProperty("enum") Object ovsdbEnum,
+                @JsonProperty("minInteger") Integer minInteger, @JsonProperty("maxInteger") Integer maxInteger,
+                @JsonProperty("minReal") Double minReal, @JsonProperty("maxReal") Double maxReal,
+                @JsonProperty("minLength") Integer minLength, @JsonProperty("maxLength") Integer maxLength,
+                @JsonProperty("refTable") String refTable, @JsonProperty("refType") String refType){
+            this.type = type;
+            this.ovsdbEnum = ovsdbEnum;
+            this.minInteger = minInteger;
+            this.maxInteger = maxInteger;
+            this.minReal = minReal;
+            this.maxReal = maxReal;
+            this.minLength = minLength;
+            this.maxLength = maxLength;
+            this.refTable = refTable;
+            this.refType = refType;
+        }
+
+        public String type;
+        public Object ovsdbEnum;
+        public Integer minInteger;
+        public Integer maxInteger;
+        public Double minReal;
+        public Double maxReal;
+        public Integer minLength;
+        public Integer maxLength;
+        public String refTable;
+        public String refType;
+        @Override
+        public String toString() {
+            return "BaseType [type=" + type + ", ovsdbEnum="
+                    + ovsdbEnum + ", minInteger=" + minInteger
+                    + ", maxInteger=" + maxInteger + ", minReal=" + minReal
+                    + ", maxReal=" + maxReal + ", minLength=" + minLength
+                    + ", maxLength=" + maxLength + ", refTable=" + refTable
+                    + ", refType=" + refType + "]";
+        }
+    }
+
+    @Override
+    public String toString() {
+        return "OvsdbType [key=" + key + ", value=" + value + ", min=" + min
+                + ", max=" + max + "]";
+    }
+}
similarity index 95%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/database/TableSchema.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/database/TableSchema.java
index cc6a735be37d29acc2eaef5bdd7f18e268924a8a..a0632ef3eb77a0fd12b13dbece5cfb78287c2375 100644 (file)
@@ -1,55 +1,55 @@
-/*\r
- * [[ Authors will Fill in the Copyright header ]]\r
- *\r
- * This program and the accompanying materials are made available under the\r
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
- * and is available at http://www.eclipse.org/legal/epl-v10.html\r
- *\r
- * Authors : Brent Salisbury, Evan Zeller\r
- */\r
-package org.opendaylight.ovsdb.lib.database;\r
-\r
-import java.util.Map;\r
-\r
-import com.fasterxml.jackson.annotation.JsonProperty;\r
-\r
-public class TableSchema {\r
-\r
-    @JsonProperty("columns")\r
-    private Map<String, ColumnSchema> columns;\r
-\r
-    @JsonProperty("maxRows")\r
-    private Integer maxRows;\r
-\r
-    @JsonProperty("isRoot")\r
-    private Boolean isRoot;\r
-\r
-    @JsonProperty("indexes")\r
-    private Object indexes;\r
-\r
-    public Map<String, ColumnSchema> getColumns() {\r
-        return this.columns;\r
-    }\r
-\r
-    public ColumnSchema getColumn(String columnName) {\r
-        return this.columns.get(columnName);\r
-    }\r
-\r
-    public Integer getMaxRows() {\r
-        return maxRows;\r
-    }\r
-\r
-    public Boolean getIsRoot() {\r
-        return isRoot;\r
-    }\r
-\r
-    public Object getIndexes() {\r
-        return indexes;\r
-    }\r
-\r
-    @Override\r
-    public String toString() {\r
-        return "TableSchema [columns=" + columns + ", maxRows=" + maxRows\r
-                + ", isRoot=" + isRoot + ", indexes=" + indexes + "]";\r
-    }\r
-}\r
+/*
+ * [[ Authors will Fill in the Copyright header ]]
+ *
+ * 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
+ *
+ * Authors : Brent Salisbury, Evan Zeller
+ */
+package org.opendaylight.ovsdb.lib.database;
+
+import java.util.Map;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class TableSchema {
+
+    @JsonProperty("columns")
+    private Map<String, ColumnSchema> columns;
+
+    @JsonProperty("maxRows")
+    private Integer maxRows;
+
+    @JsonProperty("isRoot")
+    private Boolean isRoot;
+
+    @JsonProperty("indexes")
+    private Object indexes;
+
+    public Map<String, ColumnSchema> getColumns() {
+        return this.columns;
+    }
+
+    public ColumnSchema getColumn(String columnName) {
+        return this.columns.get(columnName);
+    }
+
+    public Integer getMaxRows() {
+        return maxRows;
+    }
+
+    public Boolean getIsRoot() {
+        return isRoot;
+    }
+
+    public Object getIndexes() {
+        return indexes;
+    }
+
+    @Override
+    public String toString() {
+        return "TableSchema [columns=" + columns + ", maxRows=" + maxRows
+                + ", isRoot=" + isRoot + ", indexes=" + indexes + "]";
+    }
+}
similarity index 98%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/database/Uuid.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/database/Uuid.java
index e08af5fd675354946173b68eae43c1b8f1379db3..da4b5950cd54b01d10788c06eeb7bc5f9ac27d9b 100644 (file)
@@ -7,11 +7,11 @@
  *
  * Authors : Brent Salisbury, Evan Zeller
  */
-package org.opendaylight.ovsdb.lib.database;\r
-\r
-import com.fasterxml.jackson.annotation.JsonProperty;\r
-\r
-public class Uuid {\r
-    @JsonProperty("uuid")\r
-    public String[] uuid;\r
-}\r
+package org.opendaylight.ovsdb.lib.database;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class Uuid {
+    @JsonProperty("uuid")
+    public String[] uuid;
+}
similarity index 93%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonRpcEndpoint.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonRpcEndpoint.java
index 8357342b4fb5eb4d657a82514aa05593b9e122e9..29b529d382facb1a0526f1829915ab3162b41c20 100644 (file)
@@ -18,7 +18,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 
-import org.opendaylight.controller.sal.core.Node;
 import org.opendaylight.ovsdb.lib.message.OvsdbRPC;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -65,21 +64,21 @@ public class JsonRpcEndpoint {
     ObjectMapper objectMapper;
     Channel nettyChannel;
     Map<String, CallContext> methodContext = Maps.newHashMap();
-    Map<Node, OvsdbRPC.Callback> requestCallbacks = Maps.newHashMap();
+    Map<Object, OvsdbRPC.Callback> requestCallbacks = Maps.newHashMap();
 
     public JsonRpcEndpoint(ObjectMapper objectMapper, Channel channel) {
         this.objectMapper = objectMapper;
         this.nettyChannel = channel;
     }
 
-    public <T> T getClient(final Node node, Class<T> klazz) {
+    public <T> T getClient(final Object context, Class<T> klazz) {
 
         return Reflection.newProxy(klazz, new InvocationHandler() {
             @Override
             public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
                 if (method.getName().equals(OvsdbRPC.REGISTER_CALLBACK_METHOD)) {
                     if ((args == null) || args.length != 1 || !(args[0] instanceof OvsdbRPC.Callback)) return false;
-                    requestCallbacks.put(node, (OvsdbRPC.Callback)args[0]);
+                    requestCallbacks.put(context, (OvsdbRPC.Callback)args[0]);
                     return true;
                 }
 
@@ -145,11 +144,11 @@ public class JsonRpcEndpoint {
         }
     }
 
-    public void processRequest(Node node, JsonNode requestJson) {
+    public void processRequest(Object context, JsonNode requestJson) {
         JsonRpc10Request request = new JsonRpc10Request(requestJson.get("id").asText());
         request.setMethod(requestJson.get("method").asText());
         logger.trace("Request : {} {}", requestJson.get("method"), requestJson.get("params"));
-        OvsdbRPC.Callback callback = requestCallbacks.get(node);
+        OvsdbRPC.Callback callback = requestCallbacks.get(context);
         if (callback != null) {
             Method[] methods = callback.getClass().getDeclaredMethods();
             for (Method m : methods) {
@@ -158,7 +157,7 @@ public class JsonRpcEndpoint {
                     JsonNode params = requestJson.get("params");
                     Object param = objectMapper.convertValue(params, parameters[1]);
                     try {
-                        m.invoke(callback, node, param);
+                        m.invoke(callback, context, param);
                     } catch (IllegalAccessException | InvocationTargetException e) {
                         logger.error("Unable to invoke callback " + m.getName(), e);
                     }
@@ -182,7 +181,7 @@ public class JsonRpcEndpoint {
             return;
         }
 
-        logger.error("No handler for Request : {} on {}",requestJson.toString(), node);
+        logger.error("No handler for Request : {} on {}",requestJson.toString(), context);
     }
 
     public Map<String, CallContext> getMethodContext() {
similarity index 85%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonRpcServiceBinderHandler.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/jsonrpc/JsonRpcServiceBinderHandler.java
index 46841a37da120647164f026e7e181f9113644acd..8b93dffeda6e58f86573cd1e8e81d2770a5c2331 100644 (file)
@@ -7,62 +7,61 @@
  *
  * Authors : Ashwin Raveendran, Madhu Venugopal
  */
-package org.opendaylight.ovsdb.lib.jsonrpc;\r
-\r
-import com.fasterxml.jackson.databind.JsonNode;\r
-import com.google.common.base.Strings;\r
-import com.google.common.collect.Maps;\r
-import com.google.common.util.concurrent.SettableFuture;\r
-\r
-import io.netty.channel.ChannelHandlerContext;\r
-import io.netty.channel.ChannelInboundHandlerAdapter;\r
-\r
-import org.opendaylight.controller.sal.core.Node;\r
-import org.slf4j.Logger;\r
-import org.slf4j.LoggerFactory;\r
-\r
-import java.util.Map;\r
-\r
-public class JsonRpcServiceBinderHandler extends ChannelInboundHandlerAdapter {\r
-    protected static final Logger logger = LoggerFactory.getLogger(JsonRpcServiceBinderHandler.class);\r
-    Map<Object, SettableFuture<Object>> waitingForReply = Maps.newHashMap();\r
-    JsonRpcEndpoint factory = null;\r
-    Node node = null;\r
-\r
-    public Node getNode() {\r
-        return node;\r
-    }\r
-\r
-    public void setNode(Node node) {\r
-        this.node = node;\r
-    }\r
-\r
-    public JsonRpcServiceBinderHandler(JsonRpcEndpoint factory) {\r
-        this.factory = factory;\r
-    }\r
-\r
-    @Override\r
-    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {\r
-\r
-        if (msg instanceof JsonNode) {\r
-            JsonNode jsonNode = (JsonNode) msg;\r
-\r
-            if (jsonNode.has("result")) {\r
-                factory.processResult(jsonNode);\r
-            } else if (jsonNode.hasNonNull("method")) {\r
-                if (jsonNode.has("id") && !Strings.isNullOrEmpty(jsonNode.get("id").asText())) {\r
-                    factory.processRequest(node, jsonNode);\r
-                }\r
-            }\r
-\r
-            return;\r
-        }\r
-\r
-        ctx.channel().close();\r
-    }\r
-\r
-    @Override\r
-    public void channelReadComplete(ChannelHandlerContext ctx) throws Exception {\r
-        ctx.flush();\r
-    }\r
+package org.opendaylight.ovsdb.lib.jsonrpc;
+
+import io.netty.channel.ChannelHandlerContext;
+import io.netty.channel.ChannelInboundHandlerAdapter;
+
+import java.util.Map;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import com.fasterxml.jackson.databind.JsonNode;
+import com.google.common.base.Strings;
+import com.google.common.collect.Maps;
+import com.google.common.util.concurrent.SettableFuture;
+
+public class JsonRpcServiceBinderHandler extends ChannelInboundHandlerAdapter {
+    protected static final Logger logger = LoggerFactory.getLogger(JsonRpcServiceBinderHandler.class);
+    Map<Object, SettableFuture<Object>> waitingForReply = Maps.newHashMap();
+    JsonRpcEndpoint factory = null;
+    Object context = null;
+
+    public Object getContext() {
+        return context;
+    }
+
+    public void setContext(Object context) {
+        this.context = context;
+    }
+
+    public JsonRpcServiceBinderHandler(JsonRpcEndpoint factory) {
+        this.factory = factory;
+    }
+
+    @Override
+    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
+
+        if (msg instanceof JsonNode) {
+            JsonNode jsonNode = (JsonNode) msg;
+
+            if (jsonNode.has("result")) {
+                factory.processResult(jsonNode);
+            } else if (jsonNode.hasNonNull("method")) {
+                if (jsonNode.has("id") && !Strings.isNullOrEmpty(jsonNode.get("id").asText())) {
+                    factory.processRequest(context, jsonNode);
+                }
+            }
+
+            return;
+        }
+
+        ctx.channel().close();
+    }
+
+    @Override
+    public void channelReadComplete(ChannelHandlerContext ctx) throws Exception {
+        ctx.flush();
+    }
 }
similarity index 95%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/message/MonitorRequest.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/message/MonitorRequest.java
index 99330b087f03b078caea6b018caf887ea25befc3..ff8e2aa007097ae35bad0b3144c8fad15136f613 100644 (file)
@@ -14,7 +14,7 @@ import com.google.common.collect.Lists;
 
 import java.util.List;
 
-import org.opendaylight.ovsdb.lib.table.internal.Column;
+import org.opendaylight.ovsdb.lib.table.Column;
 
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class MonitorRequest<E> {
similarity index 94%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/message/MonitorRequestBuilder.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/message/MonitorRequestBuilder.java
index 406eb1aa7bf66885b9aa06d83f5b8b8e5e53d866..4106dbc049e25d6a93874321f9d74c58c8459193 100644 (file)
@@ -13,7 +13,7 @@ import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 
 import org.opendaylight.ovsdb.lib.jsonrpc.Params;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 
 import java.util.List;
 import java.util.Map;
similarity index 87%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/message/OvsdbRPC.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/message/OvsdbRPC.java
index 440bda9110a144b58ca52c754357691d120c7608..0358a030332b7810d2e3563fe2b0a7233eb1bd06 100644 (file)
@@ -11,12 +11,11 @@ package org.opendaylight.ovsdb.lib.message;
 
 import java.util.List;
 
+import org.opendaylight.ovsdb.lib.operations.OperationResult;
+
 import com.fasterxml.jackson.databind.JsonNode;
 import com.google.common.util.concurrent.ListenableFuture;
 
-import org.opendaylight.controller.sal.core.Node;
-import org.opendaylight.ovsdb.lib.operations.OperationResult;
-
 public interface OvsdbRPC {
     public static final String REGISTER_CALLBACK_METHOD = "registerCallback";
 
@@ -45,9 +44,9 @@ public interface OvsdbRPC {
 
 
     public static interface Callback {
-        public void update(Node node, UpdateNotification upadateNotification);
-        public void locked(Node node, List<String> ids);
-        public void stolen(Node node, List<String> ids);
+        public void update(Object context, UpdateNotification upadateNotification);
+        public void locked(Object context, List<String> ids);
+        public void stolen(Object context, List<String> ids);
         // ECHO is handled by JsonRPCEndpoint directly.
         // We can add Echo request here if there is a need for clients to handle it.
     }
similarity index 97%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/message/TableUpdate.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/message/TableUpdate.java
index 2bebe92b465c25e9d3b6332b4587c8af251b28ee..4b57dabd4c1be773e9ccbc69fef96b3cee9a65bc 100644 (file)
@@ -18,7 +18,7 @@ import com.google.common.collect.Maps;
 import java.util.Collection;
 import java.util.Map;
 
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 
 
 public  class TableUpdate<T extends Table>  {
similarity index 99%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/message/TableUpdates.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/message/TableUpdates.java
index f484102c00a3960bfa52f57079da7a57f5eab587..ef1b8c41cdfcbbd1d305968b6f87fcfc5f4c505f 100644 (file)
@@ -11,6 +11,7 @@ package org.opendaylight.ovsdb.lib.message;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.google.common.collect.Maps;
+
 import org.opendaylight.ovsdb.lib.table.Bridge;
 import org.opendaylight.ovsdb.lib.table.Capability;
 import org.opendaylight.ovsdb.lib.table.Interface;
@@ -27,7 +28,7 @@ import org.opendaylight.ovsdb.lib.table.SSL;
 import org.opendaylight.ovsdb.lib.table.Flow_Sample_Collector_Set;
 import org.opendaylight.ovsdb.lib.table.Flow_Table;
 import org.opendaylight.ovsdb.lib.table.IPFIX;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 
 import java.util.Map;
 import java.util.Set;
similarity index 96%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/InsertOperation.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/operations/InsertOperation.java
index 2c3c63969ad04f29ce1c25b4d60d1ce179a60bc0..5552665d4ffed707751dec99ae080b12919c57a4 100644 (file)
@@ -9,7 +9,7 @@
  */
 package org.opendaylight.ovsdb.lib.operations;
 
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 // TODO Madhu : This is not complete. Getting it in to enable other committers to make progress
similarity index 96%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/operations/UpdateOperation.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/operations/UpdateOperation.java
index 800d4843ba54dd323d6e5fae55e51bd39cd6d024..0103d965c26e38dd5a6e3e0bcd8146df52230abd 100644 (file)
@@ -12,7 +12,7 @@ package org.opendaylight.ovsdb.lib.operations;
 import java.util.List;
 
 import org.opendaylight.ovsdb.lib.notation.Condition;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 //TODO Madhu : This is not complete. Getting it in to enable other committers to make progress
 public class UpdateOperation extends Operation {
     String table;
similarity index 97%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Bridge.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/Bridge.java
index 3dba186b622b1101db59a2814aade07c8db3fa97..2a8f53d96248d559d7f387ee6cbf595e484abfae 100644 (file)
@@ -12,13 +12,12 @@ package org.opendaylight.ovsdb.lib.table;
 import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
 import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
 import org.opendaylight.ovsdb.lib.notation.UUID;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 public class Bridge extends Table<Bridge> {
     public static final Name<Bridge> NAME = new Name<Bridge>("Bridge"){};
-    public enum Column implements org.opendaylight.ovsdb.lib.table.internal.Column<Bridge>{controller, fail_mode, name, ports}
+    public enum Column implements org.opendaylight.ovsdb.lib.table.Column<Bridge>{controller, fail_mode, name, ports}
 
     private String name;
     private OvsDBSet<UUID> ports;
similarity index 95%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Capability.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/Capability.java
index b431a2cee3b361e9627465d088b077af774d00bf..4ad9203acae2985ffbc663104bb06214371c0cc9 100644 (file)
@@ -10,7 +10,6 @@
 package org.opendaylight.ovsdb.lib.table;
 
 import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
similarity index 87%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/internal/Column.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/Column.java
index 5d8645ac10a78f5af0e1f0c5978817f4c73f5614..7c4e18075f267cdff692f25ed9f5f79be91c23ec 100644 (file)
@@ -7,7 +7,7 @@
  *
  * Authors : Ashwin Raveendran
  */
-package org.opendaylight.ovsdb.lib.table.internal;
+package org.opendaylight.ovsdb.lib.table;
 
 
 public interface Column<E> {
similarity index 94%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Controller.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/Controller.java
index 2225667f61d86ebaed5e79ffc55e5c2d9fe7105a..bca9f9721e49e220a956a30ce9d1e2408aee40d0 100644 (file)
@@ -9,8 +9,6 @@
  */
 package org.opendaylight.ovsdb.lib.table;
 
-import org.opendaylight.ovsdb.lib.table.internal.Table;
-
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 public class Controller  extends Table<Controller> {
similarity index 94%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Flow_Sample_Collector_Set.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/Flow_Sample_Collector_Set.java
index 8b2117fc7c41353795f7778ab1e77e38df7b9740..5efeb80102fd891ec38b6f62513b33153bbdb219 100644 (file)
@@ -1,8 +1,8 @@
 package org.opendaylight.ovsdb.lib.table;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
+
 import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
 
 /**
  * Per ovs-vswitchd.conf.db 2.0.90
@@ -70,7 +70,7 @@ public class Flow_Sample_Collector_Set extends Table<Flow_Sample_Collector_Set>
                 "]";
     }
 
-    public enum Column implements org.opendaylight.ovsdb.lib.table.internal.Column<Flow_Sample_Collector_Set> {
+    public enum Column implements org.opendaylight.ovsdb.lib.table.Column<Flow_Sample_Collector_Set> {
         id,
         bridge,
         external_ids,
similarity index 95%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Flow_Table.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/Flow_Table.java
index e7a085baa9cfc79c19fba69f979450212aba0e11..e8003f474c180481d062cdea536749f8cb9c32f3 100644 (file)
@@ -1,8 +1,8 @@
 package org.opendaylight.ovsdb.lib.table;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
+
 import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
 
 /**
  * Per ovs-vswitchd.conf.db 2.0.90
@@ -67,7 +67,7 @@ public class Flow_Table extends Table<Flow_Table> {
     }
 
 
-    public enum Column implements org.opendaylight.ovsdb.lib.table.internal.Column<Flow_Table> {
+    public enum Column implements org.opendaylight.ovsdb.lib.table.Column<Flow_Table> {
         name,
         flow_limit,
         overflow_policy,
similarity index 98%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/IPFIX.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/IPFIX.java
index 01b39c96777efce8c8908df445a5a3057e6e2a47..212ca97e6ade949089453a54a3e51405548da908 100644 (file)
@@ -1,9 +1,9 @@
 package org.opendaylight.ovsdb.lib.table;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
+
 import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
 import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
 
 /**
  * Per ovs-vswitchd.conf.db 2.0.90
similarity index 98%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Interface.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/Interface.java
index 4ea314d06940e424a9805281580c2f2285482473..337627c4409c5074864e0f33c264fbcd9e0efd4c 100644 (file)
@@ -13,7 +13,6 @@ import java.math.BigInteger;
 
 import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
 import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
similarity index 94%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Manager.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/Manager.java
index f581db8a4cd664154e89190cc0ccc2c3eaa656c4..d670cb7a9013bc3ca95e22235de5b7087f542205 100644 (file)
@@ -9,8 +9,6 @@
  */
 package org.opendaylight.ovsdb.lib.table;
 
-import org.opendaylight.ovsdb.lib.table.internal.Table;
-
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
 public class Manager  extends Table<Manager> {
similarity index 98%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Mirror.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/Mirror.java
index d52c2bfb0aaef598ba79d56f732f5f0b649b53fe..63c74578df8a99b6d6591876bca05309fcb37a1b 100644 (file)
@@ -12,7 +12,6 @@ package org.opendaylight.ovsdb.lib.table;
 import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
 import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
 import org.opendaylight.ovsdb.lib.notation.UUID;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
similarity index 95%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/NetFlow.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/NetFlow.java
index ed57e1f35919d3457083e8516e2a5c3fc0e0a5b1..200ae492aae68af6561a0596f05d48d051a13d00 100644 (file)
@@ -10,7 +10,6 @@
 package org.opendaylight.ovsdb.lib.table;
 
 import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
similarity index 97%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Open_vSwitch.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/Open_vSwitch.java
index ad5cec3d3a53ae1731d1756b3335f4546fc3a6db..4e4aceefc35c094acb4b053611dfcd6b0baf86e7 100644 (file)
@@ -12,7 +12,6 @@ package org.opendaylight.ovsdb.lib.table;
 import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
 import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
 import org.opendaylight.ovsdb.lib.notation.UUID;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
@@ -168,5 +167,5 @@ public class Open_vSwitch extends Table<Open_vSwitch> {
                 + external_ids + ", statistics=" + statistics + "]";
     }
 
-    public enum Column implements org.opendaylight.ovsdb.lib.table.internal.Column<Open_vSwitch>{ controller, fail_mode, name, ports}
+    public enum Column implements org.opendaylight.ovsdb.lib.table.Column<Open_vSwitch>{ controller, fail_mode, name, ports}
 }
similarity index 97%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Port.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/Port.java
index 83f58f857072c1042b1500bb1fe8899c96673298..a1f394de8a7c6f4b07ea5229aaa401c867df224e 100644 (file)
@@ -14,7 +14,6 @@ import java.math.BigInteger;
 import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
 import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
 import org.opendaylight.ovsdb.lib.notation.UUID;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
@@ -112,7 +111,7 @@ public class Port extends Table<Port> {
                 + external_ids + "]";
     }
 
-    public enum Column implements org.opendaylight.ovsdb.lib.table.internal.Column<Port> {
+    public enum Column implements org.opendaylight.ovsdb.lib.table.Column<Port> {
         interfaces,
         name,
         tag,
similarity index 96%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Qos.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/Qos.java
index 0eb8a615060607945e1d859423aa092f3a6a6d3b..bbbe6fef44f024aeba7e68fcd144aeb80715ef48 100644 (file)
@@ -12,7 +12,6 @@ package org.opendaylight.ovsdb.lib.table;
 
 import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
 import org.opendaylight.ovsdb.lib.notation.UUID;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
@@ -72,7 +71,7 @@ public class Qos extends Table<Qos> {
                 + other_config + ", external_ids=" + external_ids + "]";
     }
 
-    public enum Column implements org.opendaylight.ovsdb.lib.table.internal.Column<Qos> {
+    public enum Column implements org.opendaylight.ovsdb.lib.table.Column<Qos> {
         queues,
         type,
         other_config,
similarity index 95%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/Queue.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/Queue.java
index 122f3bcf810deec57237c55cb5bd3ce2b2d9ec53..f8a7072f391650b6c401f5e4ad4ffd79c2aa5f32 100644 (file)
@@ -12,7 +12,6 @@ package org.opendaylight.ovsdb.lib.table;
 
 import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
 import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
@@ -63,7 +62,7 @@ public class Queue extends Table<Queue> {
                 + ", external_ids=" + external_ids + "]";
     }
 
-    public enum Column implements org.opendaylight.ovsdb.lib.table.internal.Column<Queue> {
+    public enum Column implements org.opendaylight.ovsdb.lib.table.Column<Queue> {
         dscp,
         other_config,
         external_ids}
similarity index 97%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/SFlow.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/SFlow.java
index 27f1cb7bd91557979e43032dfdf3b67d6dcd830c..ef1a0c89077fb2e49f595a07247c4005705db609 100644 (file)
@@ -11,7 +11,6 @@ package org.opendaylight.ovsdb.lib.table;
 
 import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
 import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
similarity index 96%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/SSL.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/SSL.java
index 1236d75b9526c97ab2ff28fac0bdd0ff8293ae73..25a762a3cf7ff2a0f3d97cb6f4b06ea548d5c265 100644 (file)
@@ -10,7 +10,6 @@
 package org.opendaylight.ovsdb.lib.table;
 
 import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 
@@ -68,7 +67,7 @@ public class SSL  extends Table<SSL> {
                 + external_ids + "]";
     }
 
-    public enum Column implements org.opendaylight.ovsdb.lib.table.internal.Column<SSL> {
+    public enum Column implements org.opendaylight.ovsdb.lib.table.Column<SSL> {
         ca_cert,
         bootstrap_ca_cert,
         certificate,
similarity index 94%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/internal/Table.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/Table.java
index 16304e06453f1092178191f7ed2e6ba4b465f4af..791d01a3e31fb7f03dae7624ecdf8ab553f9f6ce 100644 (file)
@@ -7,7 +7,7 @@
  *
  * Authors : Ashwin Raveendran
  */
-package org.opendaylight.ovsdb.lib.table.internal;
+package org.opendaylight.ovsdb.lib.table;
 
 public abstract class Table<E extends Table> {
     public abstract Name<E> getTableName();
similarity index 56%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/lib/table/internal/Tables.java
rename to library/src/main/java/org/opendaylight/ovsdb/lib/table/Tables.java
index b66a49ee4769d3c5287b0bab3b8e92c08d475aa6..d8148b93149fbae71eb1ea7646aefad60f07f8e1 100644 (file)
@@ -7,24 +7,7 @@
  *
  * Authors : Ashwin Raveendran
  */
-package org.opendaylight.ovsdb.lib.table.internal;
-
-import org.opendaylight.ovsdb.lib.table.Bridge;
-import org.opendaylight.ovsdb.lib.table.Capability;
-import org.opendaylight.ovsdb.lib.table.Interface;
-import org.opendaylight.ovsdb.lib.table.Port;
-import org.opendaylight.ovsdb.lib.table.Controller;
-import org.opendaylight.ovsdb.lib.table.Manager;
-import org.opendaylight.ovsdb.lib.table.Mirror;
-import org.opendaylight.ovsdb.lib.table.NetFlow;
-import org.opendaylight.ovsdb.lib.table.Open_vSwitch;
-import org.opendaylight.ovsdb.lib.table.Qos;
-import org.opendaylight.ovsdb.lib.table.Queue;
-import org.opendaylight.ovsdb.lib.table.SFlow;
-import org.opendaylight.ovsdb.lib.table.SSL;
-import org.opendaylight.ovsdb.lib.table.Flow_Sample_Collector_Set;
-import org.opendaylight.ovsdb.lib.table.Flow_Table;
-import org.opendaylight.ovsdb.lib.table.IPFIX;
+package org.opendaylight.ovsdb.lib.table;
 
 import java.util.ArrayList;
 import java.util.List;
similarity index 84%
rename from ovsdb/src/test/java/org/opendaylight/ovsdb/lib/OvsDBClientTestIT.java
rename to library/src/test/java/org/opendaylight/ovsdb/lib/OvsDBClientTestIT.java
index 8793b3907ae7b459b1f0b0c4f45563dce4db5623..cdfb1e2a4e3d71050216faaef13c7dbccfd21afd 100644 (file)
@@ -9,28 +9,30 @@
  */
 package org.opendaylight.ovsdb.lib;
 
-import com.google.common.util.concurrent.ListenableFuture;
+import static org.opendaylight.ovsdb.lib.operations.Operations.op;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
 import junit.framework.Assert;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.opendaylight.ovsdb.lib.message.OvsdbRPC;
+import org.opendaylight.ovsdb.lib.message.UpdateNotification;
 import org.opendaylight.ovsdb.lib.operations.OperationResult;
 import org.opendaylight.ovsdb.lib.schema.ATableSchema;
 import org.opendaylight.ovsdb.lib.schema.ColumnSchema;
 import org.opendaylight.ovsdb.lib.schema.DatabaseSchema;
 import org.opendaylight.ovsdb.lib.schema.TableSchema;
-import org.opendaylight.ovsdb.plugin.OvsdbTestBase;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-import static org.opendaylight.ovsdb.lib.operations.Operations.op;
+import com.google.common.util.concurrent.ListenableFuture;
 
 
 public class OvsDBClientTestIT extends OvsdbTestBase {
@@ -81,11 +83,28 @@ public class OvsDBClientTestIT extends OvsdbTestBase {
         if (ovs != null) {
             return;
         }
-        TestObjects testConnection = getTestConnection();
-        OvsdbRPC rpc = testConnection.connectionService.getConnection(testConnection.node).getRpc();
-
+        OvsdbRPC rpc = getTestConnection();
+        if (rpc == null) {
+            System.out.println("Unable to Establish Test Connection");
+        }
         ExecutorService executorService = Executors.newFixedThreadPool(3);
         ovs = new OvsDBClientImpl(rpc, executorService);
     }
 
+
+    @Override
+    public void update(Object node, UpdateNotification upadateNotification) {
+        // TODO Auto-generated method stub
+
+    }
+    @Override
+    public void locked(Object node, List<String> ids) {
+        // TODO Auto-generated method stub
+
+    }
+    @Override
+    public void stolen(Object node, List<String> ids) {
+        // TODO Auto-generated method stub
+
+    }
 }
similarity index 84%
rename from ovsdb/src/test/java/org/opendaylight/ovsdb/lib/OvsDBClientTestITTyped.java
rename to library/src/test/java/org/opendaylight/ovsdb/lib/OvsDBClientTestITTyped.java
index 3e69df0a3ba37e1de2b880123323e441b76b9479..d52ae593211d2190789462a633812ba0893fd826 100644 (file)
@@ -9,26 +9,28 @@
  */
 package org.opendaylight.ovsdb.lib;
 
-import com.google.common.util.concurrent.ListenableFuture;
+import static org.opendaylight.ovsdb.lib.operations.Operations.op;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
 import junit.framework.Assert;
+
 import org.junit.Test;
 import org.opendaylight.ovsdb.lib.message.OvsdbRPC;
+import org.opendaylight.ovsdb.lib.message.UpdateNotification;
 import org.opendaylight.ovsdb.lib.operations.OperationResult;
 import org.opendaylight.ovsdb.lib.schema.ColumnSchema;
 import org.opendaylight.ovsdb.lib.schema.TableSchema;
 import org.opendaylight.ovsdb.lib.schema.temp.Reference;
-import org.opendaylight.ovsdb.plugin.OvsdbTestBase;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.IOException;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
-import static org.opendaylight.ovsdb.lib.operations.Operations.op;
+import com.google.common.util.concurrent.ListenableFuture;
 
 public class OvsDBClientTestITTyped extends OvsdbTestBase {
 
@@ -79,12 +81,11 @@ public class OvsDBClientTestITTyped extends OvsdbTestBase {
         System.out.println("operationResults = " + operationResults);
     }
 
-
-
-
     private OvsDBClientImpl getVswitch() throws IOException, InterruptedException {
-        TestObjects testConnection = getTestConnection();
-        OvsdbRPC rpc = testConnection.connectionService.getConnection(testConnection.node).getRpc();
+        OvsdbRPC rpc = getTestConnection();
+        if (rpc == null) {
+            System.out.println("Unable to Establish Test Connection");
+        }
 
         ExecutorService executorService = Executors.newFixedThreadPool(3);
         OvsDBClientImpl ovs = new OvsDBClientImpl(rpc, executorService);
@@ -98,4 +99,21 @@ public class OvsDBClientTestITTyped extends OvsdbTestBase {
         return ovs;
     }
 
+
+    @Override
+    public void update(Object node, UpdateNotification upadateNotification) {
+        // TODO Auto-generated method stub
+
+    }
+    @Override
+    public void locked(Object node, List<String> ids) {
+        // TODO Auto-generated method stub
+
+    }
+    @Override
+    public void stolen(Object node, List<String> ids) {
+        // TODO Auto-generated method stub
+
+    }
+
 }
diff --git a/library/src/test/java/org/opendaylight/ovsdb/lib/OvsdbTestBase.java b/library/src/test/java/org/opendaylight/ovsdb/lib/OvsdbTestBase.java
new file mode 100644 (file)
index 0000000..dbf337b
--- /dev/null
@@ -0,0 +1,133 @@
+/*
+ * [[ Authors will Fill in the Copyright header ]]
+ *
+ * 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
+ *
+ * Authors : Brent Salisbury, Hugo Trippaers
+ */
+package org.opendaylight.ovsdb.lib;
+
+import io.netty.bootstrap.Bootstrap;
+import io.netty.channel.AdaptiveRecvByteBufAllocator;
+import io.netty.channel.Channel;
+import io.netty.channel.ChannelFuture;
+import io.netty.channel.ChannelInitializer;
+import io.netty.channel.ChannelOption;
+import io.netty.channel.nio.NioEventLoopGroup;
+import io.netty.channel.socket.SocketChannel;
+import io.netty.channel.socket.nio.NioSocketChannel;
+import io.netty.handler.codec.string.StringEncoder;
+import io.netty.util.CharsetUtil;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.InetAddress;
+import java.util.Properties;
+import java.util.concurrent.ExecutionException;
+
+import org.opendaylight.ovsdb.lib.jsonrpc.JsonRpcDecoder;
+import org.opendaylight.ovsdb.lib.jsonrpc.JsonRpcEndpoint;
+import org.opendaylight.ovsdb.lib.jsonrpc.JsonRpcServiceBinderHandler;
+import org.opendaylight.ovsdb.lib.message.OvsdbRPC;
+
+import com.fasterxml.jackson.annotation.JsonInclude.Include;
+import com.fasterxml.jackson.databind.DeserializationFeature;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+public abstract class OvsdbTestBase implements OvsdbRPC.Callback{
+    private final static String identifier = "TEST";
+
+    public Properties loadProperties() throws IOException {
+        InputStream is = this
+                .getClass()
+                .getClassLoader()
+                .getResourceAsStream(
+                        "org/opendaylight/ovsdb/lib/message/integration-test.properties");
+        if (is == null) {
+            throw new IOException("Unable to load integration-test.properties");
+        }
+        Properties props = new Properties();
+        props.load(is);
+
+        return props;
+    }
+
+    private Channel connect(String addressStr, String portStr) {
+        InetAddress address;
+        try {
+            address = InetAddress.getByName(addressStr);
+        } catch (Exception e) {
+            System.out.println("Unable to resolve " + addressStr);
+            e.printStackTrace();
+            return null;
+        }
+
+        Integer port;
+        try {
+            port = Integer.parseInt(portStr);
+        } catch (NumberFormatException e) {
+            System.out.println("Invalid port number : " + portStr);
+            e.printStackTrace();
+            return null;
+        }
+
+        try {
+            Bootstrap bootstrap = new Bootstrap();
+            bootstrap.group(new NioEventLoopGroup());
+            bootstrap.channel(NioSocketChannel.class);
+            bootstrap.option(ChannelOption.TCP_NODELAY, true);
+            bootstrap.option(ChannelOption.RCVBUF_ALLOCATOR, new AdaptiveRecvByteBufAllocator(65535, 65535, 65535));
+
+            bootstrap.handler(new ChannelInitializer<SocketChannel>() {
+                @Override
+                public void initChannel(SocketChannel channel) throws Exception {
+                    channel.pipeline().addLast(
+                            //new LoggingHandler(LogLevel.INFO),
+                            new JsonRpcDecoder(100000),
+                            new StringEncoder(CharsetUtil.UTF_8));
+                }
+            });
+
+            ChannelFuture future = bootstrap.connect(address, port).sync();
+            Channel channel = future.channel();
+            return channel;
+        } catch (InterruptedException e) {
+            System.out.println("Thread was interrupted during connect");
+        }
+        return null;
+    }
+
+    public OvsdbRPC getTestConnection() throws IOException {
+        Properties props = loadProperties();
+        String address = props.getProperty("ovsdbserver.ipaddress");
+        String port = props.getProperty("ovsdbserver.port", "6640");
+
+        Channel channel = this.connect(address, port);
+        if (channel == null) {
+            throw new IOException("Failed to connecto to ovsdb server");
+        }
+        try {
+            return this.handleNewConnection(channel);
+        } catch (InterruptedException | ExecutionException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
+    private OvsdbRPC handleNewConnection(Channel channel) throws InterruptedException, ExecutionException {
+        ObjectMapper objectMapper = new ObjectMapper();
+        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+        objectMapper.setSerializationInclusion(Include.NON_NULL);
+
+        JsonRpcEndpoint factory = new JsonRpcEndpoint(objectMapper, channel);
+        JsonRpcServiceBinderHandler binderHandler = new JsonRpcServiceBinderHandler(factory);
+        binderHandler.setContext(channel);
+        channel.pipeline().addLast(binderHandler);
+
+        OvsdbRPC ovsdb = factory.getClient(channel, OvsdbRPC.class);
+        ovsdb.registerCallback(this);
+        return ovsdb;
+    }
+}
similarity index 98%
rename from ovsdb/src/test/java/org/opendaylight/ovsdb/lib/message/MonitorResponseTest.java
rename to library/src/test/java/org/opendaylight/ovsdb/lib/message/MonitorResponseTest.java
index 97bdcdd103e72cd7443625c21786541d1bf6203c..aecbe9b206d074c029b8da4e72526fc891df55ae 100644 (file)
@@ -25,7 +25,7 @@ import org.opendaylight.ovsdb.lib.notation.UUID;
 import org.opendaylight.ovsdb.lib.table.Bridge;
 import org.opendaylight.ovsdb.lib.table.Interface;
 import org.opendaylight.ovsdb.lib.table.Port;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 
 import java.io.IOException;
 import java.io.InputStream;
diff --git a/library/src/test/resources/org/opendaylight/ovsdb/lib/message/integration-test.properties b/library/src/test/resources/org/opendaylight/ovsdb/lib/message/integration-test.properties
new file mode 100644 (file)
index 0000000..504dd28
--- /dev/null
@@ -0,0 +1,2 @@
+ovsdbserver.ipaddress=192.168.56.104
+ovsdbserver.port=6644
\ No newline at end of file
index 7134093747a256861f736e9363b5bf7857ae5df1..2716c442ef258038e6180e98e09dafd3a386b857 100644 (file)
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.opendaylight.ovsdb</groupId>
-        <artifactId>commons.ovsdb</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
-        <relativePath>../commons/parent</relativePath>
-    </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.opendaylight.ovsdb</groupId>
+    <artifactId>ovsdb_commons</artifactId>
+    <version>1.1.0-SNAPSHOT</version>
+    <relativePath>../commons/parent</relativePath>
+  </parent>
 
-    <artifactId>ovsdb.neutron</artifactId>
-    <version>0.6.0-SNAPSHOT</version>
-    <packaging>bundle</packaging>
+  <artifactId>ovsdb_neutron</artifactId>
+  <version>0.6.0-SNAPSHOT</version>
+  <packaging>bundle</packaging>
 
-    <scm>
-      <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
-      <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
-      <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
-      <tag>HEAD</tag>
-    </scm>
-
-    <properties>
-        <guava.version>14.0.1</guava.version>
-        <xtend.version>2.4.3</xtend.version>
-        <bundle.plugin.version>2.4.0</bundle.plugin.version>
-        <maven.clean.plugin.version>2.5</maven.clean.plugin.version>
-    </properties>
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <version>2.3.6</version>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Import-Package>
-              org.opendaylight.controller.networkconfig.neutron,
-              org.opendaylight.controller.containermanager,
-              org.opendaylight.controller.switchmanager,
-              org.opendaylight.controller.forwardingrulesmanager,
-              org.opendaylight.controller.sal.core,
-              org.opendaylight.controller.sal.utils,
-              org.opendaylight.controller.sal.action,
-              org.opendaylight.ovsdb.plugin,
-              org.opendaylight.ovsdb.lib.notation,
-              org.opendaylight.ovsdb.lib.table,
-              org.opendaylight.ovsdb.lib.table.internal,
-              org.opendaylight.controller.sal.binding.api,
-              org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819,
-              org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes,
-              org.opendaylight.yangtools.yang.binding,
-              org.apache.felix.dm,
-              org.slf4j,
-              org.osgi.framework,
-              *
-            </Import-Package>
-            <Bundle-Activator>
-              org.opendaylight.ovsdb.neutron.Activator
-            </Bundle-Activator>
-          </instructions>
-        </configuration>
-      </plugin>
-    </plugins>
-  </build>
+  <properties>
+    <bundle.plugin.version>2.4.0</bundle.plugin.version>
+    <guava.version>14.0.1</guava.version>
+    <maven.clean.plugin.version>2.5</maven.clean.plugin.version>
+    <xtend.version>2.4.3</xtend.version>
+  </properties>
 
   <dependencies>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
-      <version>0.4.2-SNAPSHOT</version>
-      <artifactId>networkconfig.neutron</artifactId>
+      <artifactId>containermanager</artifactId>
+      <version>0.5.2-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
-      <artifactId>switchmanager</artifactId>
-      <version>0.7.1-SNAPSHOT</version>
+      <artifactId>forwardingrulesmanager</artifactId>
+      <version>0.5.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
-      <artifactId>forwardingrulesmanager</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
+      <artifactId>networkconfig.neutron</artifactId>
+      <version>0.4.2-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
       <artifactId>sal</artifactId>
       <version>0.7.1-SNAPSHOT</version>
     </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>ovsdb</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
-    </dependency>
     <dependency>
       <groupId>org.opendaylight.controller</groupId>
-      <artifactId>containermanager</artifactId>
-      <version>0.5.2-SNAPSHOT</version>
+      <artifactId>sal-binding-api</artifactId>
+      <version>1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
-        <groupId>org.opendaylight.controller</groupId>
-        <artifactId>sal-binding-api</artifactId>
-        <version>1.1-SNAPSHOT</version>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>sal-common-util</artifactId>
+      <version>1.1-SNAPSHOT</version>
     </dependency>
     <dependency>
-        <groupId>org.opendaylight.controller.model</groupId>
-        <artifactId>model-flow-service</artifactId>
-        <version>1.1-SNAPSHOT</version>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>switchmanager</artifactId>
+      <version>0.7.1-SNAPSHOT</version>
     </dependency>
     <dependency>
       <groupId>org.opendaylight.controller.model</groupId>
       <artifactId>model-flow-base</artifactId>
       <version>1.1-SNAPSHOT</version>
     </dependency>
-   <dependency>
+    <dependency>
       <groupId>org.opendaylight.controller.model</groupId>
       <artifactId>model-flow-management</artifactId>
       <version>1.1-SNAPSHOT</version>
     </dependency>
+    <dependency>
+      <groupId>org.opendaylight.controller.model</groupId>
+      <artifactId>model-flow-service</artifactId>
+      <version>1.1-SNAPSHOT</version>
+    </dependency>
     <dependency>
       <groupId>org.opendaylight.controller.model</groupId>
       <artifactId>model-inventory</artifactId>
       <version>1.1-SNAPSHOT</version>
     </dependency>
+    <dependency>
+      <groupId>org.opendaylight.ovsdb</groupId>
+      <artifactId>ovsdb_library</artifactId>
+      <version>1.0.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.ovsdb</groupId>
+      <artifactId>ovsdb_plugin</artifactId>
+      <version>1.0.0-SNAPSHOT</version>
+    </dependency>
     <dependency>
       <groupId>org.opendaylight.yangtools</groupId>
       <artifactId>yang-binding</artifactId>
       <version>0.6.2-SNAPSHOT</version>
     </dependency>
     <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal-common-util</artifactId>
-      <version>1.1-SNAPSHOT</version>
-    </dependency>
-    <dependency>
-        <groupId>junit</groupId>
-        <artifactId>junit</artifactId>
-        <version>4.11</version>
-        <scope>test</scope>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.11</version>
+      <scope>test</scope>
     </dependency>
     <dependency>
-        <groupId>org.mockito</groupId>
-        <artifactId>mockito-all</artifactId>
-        <version>1.9.5</version>
-        <scope>test</scope>
+      <groupId>org.mockito</groupId>
+      <artifactId>mockito-all</artifactId>
+      <version>1.9.5</version>
+      <scope>test</scope>
     </dependency>
     <dependency>
-        <groupId>org.powermock</groupId>
-        <artifactId>powermock-module-junit4</artifactId>
-        <version>1.5.2</version>
-        <scope>test</scope>
+      <groupId>org.powermock</groupId>
+      <artifactId>powermock-api-mockito</artifactId>
+      <version>1.5.2</version>
+      <scope>test</scope>
     </dependency>
     <dependency>
-        <groupId>org.powermock</groupId>
-        <artifactId>powermock-api-mockito</artifactId>
-        <version>1.5.2</version>
-        <scope>test</scope>
+      <groupId>org.powermock</groupId>
+      <artifactId>powermock-module-junit4</artifactId>
+      <version>1.5.2</version>
+      <scope>test</scope>
     </dependency>
   </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <version>2.3.6</version>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Import-Package>org.opendaylight.controller.networkconfig.neutron,
+              org.opendaylight.controller.containermanager,
+              org.opendaylight.controller.switchmanager,
+              org.opendaylight.controller.forwardingrulesmanager,
+              org.opendaylight.controller.sal.core,
+              org.opendaylight.controller.sal.utils,
+              org.opendaylight.controller.sal.action,
+              org.opendaylight.ovsdb.plugin,
+              org.opendaylight.ovsdb.lib.notation,
+              org.opendaylight.ovsdb.lib.table,
+              org.opendaylight.controller.sal.binding.api,
+              org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819,
+              org.opendaylight.yang.gen.v1.urn.opendaylight.inventory.rev130819.nodes,
+              org.opendaylight.yangtools.yang.binding,
+              org.apache.felix.dm,
+              org.slf4j,
+              org.osgi.framework,
+              *</Import-Package>
+            <Bundle-Activator>org.opendaylight.ovsdb.neutron.Activator</Bundle-Activator>
+          </instructions>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+
+  <scm>
+    <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
+    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
+    <tag>HEAD</tag>
+    <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
+  </scm>
 </project>
index eecaf0eccf54680fb5bc0332dc2335340741ba67..a251d675b165c3b22fe3dd7b031642e825b7bcfb 100644 (file)
@@ -15,7 +15,7 @@ import java.util.Map;
 import org.opendaylight.controller.sal.core.Node;
 import org.opendaylight.controller.sal.utils.ServiceHelper;
 import org.opendaylight.ovsdb.lib.table.Open_vSwitch;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 import org.opendaylight.ovsdb.plugin.OVSDBConfigService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
index 82430f2279984d221d1bd6441d425c106b95411e..53dff68c75dca192d686587e434104a6b8de7d60 100644 (file)
@@ -21,7 +21,7 @@ import org.opendaylight.ovsdb.lib.notation.UUID;
 import org.opendaylight.ovsdb.lib.table.Bridge;
 import org.opendaylight.ovsdb.lib.table.Interface;
 import org.opendaylight.ovsdb.lib.table.Port;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 import org.opendaylight.ovsdb.neutron.provider.ProviderNetworkManager;
 import org.opendaylight.ovsdb.plugin.IConnectionServiceInternal;
 import org.opendaylight.ovsdb.plugin.OVSDBConfigService;
index 868189706587bad9c8a27d4dce7c669f499da237..115b891e82eec0cd10e2fb3e4602c5cf92123e41 100644 (file)
@@ -22,7 +22,7 @@ import org.opendaylight.controller.sal.utils.ServiceHelper;
 import org.opendaylight.ovsdb.lib.notation.UUID;
 import org.opendaylight.ovsdb.lib.table.Interface;
 import org.opendaylight.ovsdb.lib.table.Port;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 import org.opendaylight.ovsdb.plugin.OVSDBConfigService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
index df3b734d8fcaba5e641d10bff8d4073ecb617cc4..5c5028f049338cda6220e270344bf1e8b1e8eefc 100644 (file)
@@ -10,7 +10,7 @@
 package org.opendaylight.ovsdb.neutron;
 
 import org.opendaylight.controller.sal.core.Node;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 
 public class SouthboundEvent {
     public enum Type { NODE, ROW };
index dc8267bcc02832efbd8c0e6adb685e614a6db3c7..8d6b830bab2022f0a2282374185b4983e65d3ab2 100644 (file)
@@ -29,7 +29,7 @@ import org.opendaylight.ovsdb.lib.notation.UUID;
 import org.opendaylight.ovsdb.lib.table.Interface;
 import org.opendaylight.ovsdb.lib.table.Open_vSwitch;
 import org.opendaylight.ovsdb.lib.table.Port;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 import org.opendaylight.ovsdb.neutron.provider.ProviderNetworkManager;
 import org.opendaylight.ovsdb.plugin.OVSDBInventoryListener;
 import org.slf4j.Logger;
index 0ce6a400f238173713e26450f4d5ebbbbafa1af9..f77478a663fb7b434032f08fbd9b47e4f6bf148c 100644 (file)
@@ -35,7 +35,7 @@ import org.opendaylight.ovsdb.lib.table.Bridge;
 import org.opendaylight.ovsdb.lib.table.Interface;
 import org.opendaylight.ovsdb.lib.table.Open_vSwitch;
 import org.opendaylight.ovsdb.lib.table.Port;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 import org.opendaylight.ovsdb.neutron.provider.ProviderNetworkManager;
 import org.opendaylight.ovsdb.plugin.IConnectionServiceInternal;
 import org.opendaylight.ovsdb.plugin.OVSDBConfigService;
index cf3743e4ad00a1c70868efd97a63db90bb14c42e..1093b34b9733e353500db8f7c8d265514ab83bfb 100644 (file)
@@ -33,7 +33,7 @@ import org.opendaylight.ovsdb.lib.notation.UUID;
 import org.opendaylight.ovsdb.lib.table.Bridge;
 import org.opendaylight.ovsdb.lib.table.Interface;
 import org.opendaylight.ovsdb.lib.table.Port;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 import org.opendaylight.ovsdb.neutron.AdminConfigManager;
 import org.opendaylight.ovsdb.neutron.InternalNetworkManager;
 import org.opendaylight.ovsdb.neutron.TenantNetworkManager;
index 08ab0ce3c6afc8597c53de86383e1df920e87bfa..561039fae43859bba85a919ef3f86352af99684d 100644 (file)
@@ -172,7 +172,7 @@ class OF13ProviderManager extends ProviderNetworkManager {
             String bridgeUUID = null;
             String tunnelBridgeName = AdminConfigManager.getManager().getIntegrationBridgeName();
             OVSDBConfigService ovsdbTable = (OVSDBConfigService)ServiceHelper.getGlobalInstance(OVSDBConfigService.class, this);
-            Map<String, org.opendaylight.ovsdb.lib.table.internal.Table<?>> bridgeTable = ovsdbTable.getRows(node, Bridge.NAME.getName());
+            Map<String, org.opendaylight.ovsdb.lib.table.Table<?>> bridgeTable = ovsdbTable.getRows(node, Bridge.NAME.getName());
             if (bridgeTable != null) {
                 for (String uuid : bridgeTable.keySet()) {
                     Bridge bridge = (Bridge)bridgeTable.get(uuid);
@@ -423,9 +423,9 @@ class OF13ProviderManager extends ProviderNetworkManager {
                 return;
             }
 
-            Map<String, org.opendaylight.ovsdb.lib.table.internal.Table<?>> intfs = ovsdbTable.getRows(node, Interface.NAME.getName());
+            Map<String, org.opendaylight.ovsdb.lib.table.Table<?>> intfs = ovsdbTable.getRows(node, Interface.NAME.getName());
             if (intfs != null) {
-                for (org.opendaylight.ovsdb.lib.table.internal.Table<?> row : intfs.values()) {
+                for (org.opendaylight.ovsdb.lib.table.Table<?> row : intfs.values()) {
                     Interface tunIntf = (Interface)row;
                     if (tunIntf.getName().equals(this.getTunnelName(tunnelType, dst))) {
                         of_ports = tunIntf.getOfport();
@@ -508,9 +508,9 @@ class OF13ProviderManager extends ProviderNetworkManager {
     private Status triggerInterfaceUpdates(Node node) {
         try {
             OVSDBConfigService ovsdbTable = (OVSDBConfigService)ServiceHelper.getGlobalInstance(OVSDBConfigService.class, this);
-            Map<String, org.opendaylight.ovsdb.lib.table.internal.Table<?>> intfs = ovsdbTable.getRows(node, Interface.NAME.getName());
+            Map<String, org.opendaylight.ovsdb.lib.table.Table<?>> intfs = ovsdbTable.getRows(node, Interface.NAME.getName());
             if (intfs != null) {
-                for (org.opendaylight.ovsdb.lib.table.internal.Table<?> row : intfs.values()) {
+                for (org.opendaylight.ovsdb.lib.table.Table<?> row : intfs.values()) {
                     Interface intf = (Interface)row;
                     NeutronNetwork network = TenantNetworkManager.getManager().getTenantNetworkForInterface(intf);
                     logger.debug("Trigger Interface update for {}", intf);
index 8340a20bef9a9abde358404e29817e91d8664e6c..aea533813d886a172c006c8aab440dfc52d79ebf 100644 (file)
@@ -16,7 +16,7 @@ import org.opendaylight.controller.sal.utils.ServiceHelper;
 import org.opendaylight.controller.sal.utils.Status;
 import org.opendaylight.ovsdb.lib.table.Bridge;
 import org.opendaylight.ovsdb.lib.table.Interface;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 import org.opendaylight.ovsdb.plugin.OVSDBConfigService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
index 9baf80499eaa96476d7c87ba8b6dc05ca523a094..7ef27dec559a6e2055ff5ee11b60d4dd3934faf6 100644 (file)
@@ -29,7 +29,7 @@ import org.opendaylight.controller.sal.core.Node;
 import org.opendaylight.controller.sal.utils.ServiceHelper;
 import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
 import org.opendaylight.ovsdb.lib.table.Open_vSwitch;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 import org.opendaylight.ovsdb.plugin.ConfigurationService;
 import org.opendaylight.ovsdb.plugin.OVSDBConfigService;
 import org.powermock.api.mockito.PowerMockito;
similarity index 85%
rename from northbound/ovsdb/pom.xml
rename to northbound/pom.xml
index 4086f176aec96181228a3669417d79bfe0b3aa6b..8f9891ba3f533b558670f90db3bd83eccdece519 100644 (file)
@@ -3,26 +3,61 @@
   <modelVersion>4.0.0</modelVersion>
   <parent>
     <groupId>org.opendaylight.ovsdb</groupId>
-    <artifactId>commons.ovsdb</artifactId>
+    <artifactId>ovsdb_commons</artifactId>
     <version>1.1.0-SNAPSHOT</version>
-    <relativePath>../../commons/parent</relativePath>
+    <relativePath>../commons/parent</relativePath>
   </parent>
-  <scm>
-    <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
-    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
-    <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
-    <tag>HEAD</tag>
-  </scm>
-  <artifactId>ovsdb.northbound</artifactId>
+  <artifactId>ovsdb_northbound</artifactId>
   <version>0.6.0-SNAPSHOT</version>
   <packaging>bundle</packaging>
+  <dependencies>
+
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-annotations</artifactId>
+      <version>${jackson.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-core</artifactId>
+      <version>${jackson.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+      <version>${jackson.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.enunciate</groupId>
+      <artifactId>enunciate-core-annotations</artifactId>
+      <version>${enunciate.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>commons.northbound</artifactId>
+      <version>0.4.2-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>sal</artifactId>
+      <version>0.7.1-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.ovsdb</groupId>
+      <artifactId>ovsdb_library</artifactId>
+      <version>1.0.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.ovsdb</groupId>
+      <artifactId>ovsdb_plugin</artifactId>
+      <version>1.0.0-SNAPSHOT</version>
+    </dependency>
+
+  </dependencies>
   <build>
     <plugins>
-      <plugin>
-        <groupId>org.codehaus.enunciate</groupId>
-        <artifactId>maven-enunciate-plugin</artifactId>
-        <version>${enunciate.version}</version>
-      </plugin>
       <plugin>
         <groupId>org.apache.felix</groupId>
         <artifactId>maven-bundle-plugin</artifactId>
         <extensions>true</extensions>
         <configuration>
           <instructions>
-            <Export-Package>
-            </Export-Package>
-            <Import-Package>
-              org.opendaylight.controller.sal.utils,
+            <Export-Package></Export-Package>
+            <Import-Package>org.opendaylight.controller.sal.utils,
               org.opendaylight.controller.northbound.commons,
               org.opendaylight.controller.northbound.commons.exception,
               org.opendaylight.controller.northbound.commons.utils,
@@ -41,7 +74,6 @@
               org.opendaylight.controller.sal.core,
               org.opendaylight.controller.sal.authorization,
               org.opendaylight.ovsdb.lib.table,
-              org.opendaylight.ovsdb.lib.table.internal,
               org.opendaylight.ovsdb.lib.notation,
               org.opendaylight.ovsdb.plugin,
               javax.ws.rs,
               org.apache.catalina.filters,
               com.fasterxml.jackson.databind.annotation,
               com.fasterxml.jackson.annotation,
-              !org.codehaus.enunciate.jaxrs
-            </Import-Package>
-            <Export-Package>
-            </Export-Package>
+              !org.codehaus.enunciate.jaxrs</Import-Package>
+            <Export-Package></Export-Package>
             <Web-ContextPath>/ovsdb/nb/v2</Web-ContextPath>
             <Jaxrs-Resources>,${classes;ANNOTATION;javax.ws.rs.Path}</Jaxrs-Resources>
           </instructions>
           <manifestLocation>${project.basedir}/src/main/resources/META-INF</manifestLocation>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>org.codehaus.enunciate</groupId>
+        <artifactId>maven-enunciate-plugin</artifactId>
+        <version>${enunciate.version}</version>
+      </plugin>
     </plugins>
   </build>
-  <dependencies>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>sal</artifactId>
-      <version>0.7.1-SNAPSHOT</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.ovsdb</groupId>
-      <artifactId>ovsdb</artifactId>
-      <version>0.5.1-SNAPSHOT</version>
-    </dependency>
-    <dependency>
-      <groupId>org.opendaylight.controller</groupId>
-      <artifactId>commons.northbound</artifactId>
-      <version>0.4.2-SNAPSHOT</version>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.enunciate</groupId>
-      <artifactId>enunciate-core-annotations</artifactId>
-      <version>${enunciate.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <artifactId>jackson-annotations</artifactId>
-      <version>${jackson.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <artifactId>jackson-core</artifactId>
-      <version>${jackson.version}</version>
-    </dependency>
-
-    <dependency>
-      <groupId>com.fasterxml.jackson.core</groupId>
-      <artifactId>jackson-databind</artifactId>
-      <version>${jackson.version}</version>
-    </dependency>
-
-  </dependencies>
+  <scm>
+    <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
+    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
+    <tag>HEAD</tag>
+    <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
+  </scm>
 </project>
similarity index 99%
rename from northbound/ovsdb/src/main/java/org/opendaylight/ovsdb/northbound/OVSDBNorthbound.java
rename to northbound/src/main/java/org/opendaylight/ovsdb/northbound/OVSDBNorthbound.java
index a67f66b07283b968f4c36fe15bc379980b0f6522..1a808eac13f5e3cbcb46df404f7d4a6238492b50 100644 (file)
@@ -40,8 +40,8 @@ import org.opendaylight.controller.sal.utils.ServiceHelper;
 import org.opendaylight.controller.sal.utils.Status;
 import org.opendaylight.controller.sal.utils.StatusCode;
 import org.opendaylight.ovsdb.lib.notation.UUID;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
-import org.opendaylight.ovsdb.lib.table.internal.Tables;
+import org.opendaylight.ovsdb.lib.table.Table;
+import org.opendaylight.ovsdb.lib.table.Tables;
 import org.opendaylight.ovsdb.plugin.OVSDBConfigService;
 import org.opendaylight.ovsdb.plugin.StatusWithUuid;
 import org.slf4j.Logger;
similarity index 98%
rename from northbound/ovsdb/src/main/java/org/opendaylight/ovsdb/northbound/OVSDBRow.java
rename to northbound/src/main/java/org/opendaylight/ovsdb/northbound/OVSDBRow.java
index 1f2ff51b8d084b01fbbea9c23b0ddb3b8ddd3116..86567364aaa181e64c6c5bd1698585d377c01175 100644 (file)
@@ -22,7 +22,7 @@ import org.opendaylight.ovsdb.lib.table.Qos;
 import org.opendaylight.ovsdb.lib.table.Queue;
 import org.opendaylight.ovsdb.lib.table.SFlow;
 import org.opendaylight.ovsdb.lib.table.SSL;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 
 import com.fasterxml.jackson.annotation.JsonSubTypes;
 import com.fasterxml.jackson.annotation.JsonTypeInfo;
similarity index 92%
rename from northbound/ovsdb/src/main/java/org/opendaylight/ovsdb/northbound/OVSDBRows.java
rename to northbound/src/main/java/org/opendaylight/ovsdb/northbound/OVSDBRows.java
index 0632c87cb1b9d11d0f8e850db8bcd58984e7e2d2..6d15b82c2469dbaf6225a4fe7fb0c44d60e69000 100644 (file)
@@ -11,7 +11,7 @@ package org.opendaylight.ovsdb.northbound;
 
 import java.util.Map;
 
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 
 public class OVSDBRows {
     Map<String, Table<?>> rows;
diff --git a/ovsdb/pom.xml b/ovsdb/pom.xml
deleted file mode 100755 (executable)
index 31f7694..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.opendaylight.ovsdb</groupId>
-        <artifactId>commons.ovsdb</artifactId>
-        <version>1.1.0-SNAPSHOT</version>
-        <relativePath>../commons/parent</relativePath>
-    </parent>
-    <scm>
-      <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
-      <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
-      <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
-      <tag>HEAD</tag>
-    </scm>
-    <artifactId>ovsdb</artifactId>
-    <version>1.0.0-SNAPSHOT</version>
-    <packaging>bundle</packaging>
-
-    <properties>
-        <skip.integrationtest>true</skip.integrationtest>
-        <!-- used for filtering the integration test resource -->
-        <ovsdbserver.ipaddress>192.168.56.10</ovsdbserver.ipaddress>
-        <ovsdbserver.port>6640</ovsdbserver.port>
-    </properties>
-
-    <build>
-      <testResources>
-        <testResource>
-          <directory>src/test/resources</directory>
-          <filtering>true</filtering>
-        </testResource>
-      </testResources>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.felix</groupId>
-                <artifactId>maven-bundle-plugin</artifactId>
-                <version>2.3.6</version>
-                <extensions>true</extensions>
-                <configuration>
-                    <instructions>
-                        <Import-Package>
-                            org.opendaylight.controller.sal.packet,
-                            org.opendaylight.controller.sal.action,
-                            org.opendaylight.controller.sal.discovery,
-                            org.opendaylight.controller.sal.topology,
-                            org.opendaylight.controller.sal.core,
-                            org.opendaylight.controller.sal.flowprogrammer,
-                            org.opendaylight.controller.sal.reader,
-                            org.opendaylight.controller.sal.inventory,
-                            org.opendaylight.controller.sal.match,
-                            org.opendaylight.controller.sal.utils,
-                            org.opendaylight.controller.sal.connection,
-                            org.opendaylight.controller.clustering.services,
-                            org.opendaylight.controller.sal.networkconfig.bridgedomain,
-                            org.apache.commons.lang3.builder,
-                            org.apache.commons.lang3.tuple,
-                            org.apache.felix.dm,
-                            org.slf4j,
-                            org.eclipse.osgi.framework.console,
-                            org.osgi.framework,
-                            javax.net.ssl,
-                            *
-                        </Import-Package>
-                        <Embed-Dependency>httpclient,commons-codec,httpcore-nio,javax.servlet-api,portlet-api,commons-collections;type=!pom;inline=false</Embed-Dependency>
-                        <Embed-Transitive>
-                            true
-                        </Embed-Transitive>
-                        <Bundle-Activator>
-                            org.opendaylight.ovsdb.plugin.Activator
-                        </Bundle-Activator>
-                        <Export-Package>
-                            org.opendaylight.ovsdb.lib.table, org.opendaylight.ovsdb.lib.table.internal, org.opendaylight.ovsdb.plugin, org.opendaylight.ovsdb.lib.notation
-                        </Export-Package>
-                    </instructions>
-                    <manifestLocation>${project.basedir}/META-INF</manifestLocation>
-                </configuration>
-            </plugin>
-            <plugin>
-               <groupId>org.apache.maven.plugins</groupId>
-               <artifactId>maven-surefire-plugin</artifactId>
-               <version>2.16</version>
-               <configuration>
-                 <excludes>
-                   <!--  Exclude integration tests -->
-                   <exclude>**/*IT</exclude>
-                 </excludes>
-               </configuration>
-             </plugin>
-            <plugin>
-               <groupId>org.apache.maven.plugins</groupId>
-               <artifactId>maven-failsafe-plugin</artifactId>
-               <configuration>
-                <skipITs>${skip.integrationtest}</skipITs>
-               </configuration>
-             </plugin>
-        </plugins>
-    </build>
-    <dependencies>
-        <dependency>
-          <groupId>org.opendaylight.controller</groupId>
-          <artifactId>clustering.services</artifactId>
-          <version>0.5.1-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>sal</artifactId>
-            <version>0.7.1-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>sal.connection</artifactId>
-            <version>0.1.2-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>org.opendaylight.controller</groupId>
-            <artifactId>sal.networkconfiguration</artifactId>
-            <version>0.0.3-SNAPSHOT</version>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-annotations</artifactId>
-            <version>${jackson.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-core</artifactId>
-            <version>${jackson.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-            <version>${jackson.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>javax.portlet</groupId>
-            <artifactId>portlet-api</artifactId>
-            <version>2.0</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-codec</groupId>
-            <artifactId>commons-codec</artifactId>
-            <version>1.4</version>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpcore-nio</artifactId>
-            <version>4.2.1</version>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <groupId>io.netty</groupId>
-            <artifactId>netty-all</artifactId>
-            <version>4.0.10.Final</version>
-        </dependency>
-        <dependency>
-            <groupId>commons-lang</groupId>
-            <artifactId>commons-lang</artifactId>
-            <version>2.3</version>
-        </dependency>
-        <dependency>
-          <groupId>commons-collections</groupId>
-          <artifactId>commons-collections</artifactId>
-          <version>1.0</version>
-        </dependency>
-        <dependency>
-          <groupId>com.google.guava</groupId>
-          <artifactId>guava</artifactId>
-          <version>${guava.version}</version>
-        </dependency>
-        <dependency>
-          <groupId>equinoxSDK381</groupId>
-          <artifactId>org.eclipse.osgi</artifactId>
-        </dependency>
-        <dependency>
-          <groupId>junit</groupId>
-          <artifactId>junit</artifactId>
-        </dependency>
-        <dependency>
-          <groupId>com.google.code.gson</groupId>
-          <artifactId>gson</artifactId>
-          <version>2.1</version>
-          <scope>compile</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-api</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>ch.qos.logback</groupId>
-            <artifactId>logback-classic</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>ch.qos.logback</groupId>
-            <artifactId>logback-core</artifactId>
-        </dependency>
-    </dependencies>
-
-    <profiles>
-      <profile>
-      <id>integrationtest</id>
-      <activation>
-      </activation>
-      <properties>
-        <skip.integrationtest>false</skip.integrationtest>
-      </properties>
-    </profile>
-    </profiles>
-</project>
diff --git a/ovsdb/src/test/java/org/opendaylight/ovsdb/lib/message/OVSDBNettyFactoryIT.java b/ovsdb/src/test/java/org/opendaylight/ovsdb/lib/message/OVSDBNettyFactoryIT.java
deleted file mode 100644 (file)
index d21f266..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * [[ Authors will Fill in the Copyright header ]]
- *
- * 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
- *
- * Authors : Brent Salisbury, Madhu Venugopal, Aswin Raveendran
- */
-package org.opendaylight.ovsdb.lib.message;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-import java.util.concurrent.ExecutionException;
-
-import org.apache.commons.collections.MapUtils;
-import org.junit.Before;
-import org.junit.Test;
-import org.opendaylight.controller.sal.connection.ConnectionConstants;
-import org.opendaylight.controller.sal.core.Node;
-import org.opendaylight.ovsdb.lib.database.DatabaseSchema;
-import org.opendaylight.ovsdb.lib.operations.InsertOperation;
-import org.opendaylight.ovsdb.lib.operations.MutateOperation;
-import org.opendaylight.ovsdb.lib.operations.Operation;
-import org.opendaylight.ovsdb.lib.operations.OperationResult;
-import org.opendaylight.ovsdb.lib.notation.Condition;
-import org.opendaylight.ovsdb.lib.notation.Function;
-import org.opendaylight.ovsdb.lib.notation.Mutation;
-import org.opendaylight.ovsdb.lib.notation.Mutator;
-import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
-import org.opendaylight.ovsdb.lib.notation.UUID;
-import org.opendaylight.ovsdb.lib.table.Bridge;
-import org.opendaylight.ovsdb.lib.table.Interface;
-import org.opendaylight.ovsdb.lib.table.Open_vSwitch;
-import org.opendaylight.ovsdb.lib.table.Port;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
-import org.opendaylight.ovsdb.lib.table.internal.Tables;
-import org.opendaylight.ovsdb.plugin.Connection;
-import org.opendaylight.ovsdb.plugin.ConnectionService;
-import org.opendaylight.ovsdb.plugin.InventoryService;
-
-import com.google.common.util.concurrent.ListenableFuture;
-
-public class OVSDBNettyFactoryIT {
-    InventoryService inventoryService;
-    private static String bridgeIdentifier = "br1";
-    private Properties props;
-
-    @Before
-    public void initialize() throws IOException {
-        InputStream is = this.getClass().getClassLoader()
-                .getResourceAsStream(
-                        "org/opendaylight/ovsdb/lib/message/integration-test.properties");
-        if (is == null) {
-            throw new IOException("Unable to load integration-test.properties");
-        }
-        props = new Properties();
-        props.load(is);
-
-    }
-
-    @Test
-    public void testSome() throws InterruptedException, ExecutionException,
-            IOException {
-        ConnectionService connectionService = new ConnectionService();
-        connectionService.init();
-        inventoryService = new InventoryService();
-        inventoryService.init();
-        connectionService.setInventoryServiceInternal(inventoryService);
-        Node.NodeIDType.registerIDType("OVS", String.class);
-        Map<ConnectionConstants, String> params = new HashMap<ConnectionConstants, String>();
-        params.put(ConnectionConstants.ADDRESS,
-                props.getProperty("ovsdbserver.ipaddress"));
-        params.put(ConnectionConstants.PORT,
-                props.getProperty("ovsdbserver.port", "6640"));
-        Node node = connectionService.connect("TEST", params);
-        if (node == null) {
-            throw new IOException("Unable to connect to the host");
-        }
-
-        Connection connection = connectionService.getConnection(node);
-        if (connection == null) {
-            throw new IOException("Unable to connect to the host");
-        }
-
-        OvsdbRPC ovsdb = connection.getRpc();
-        if (ovsdb == null) {
-            throw new IOException("Unable to obtain RPC instance");
-        }
-
-        //GET DB-SCHEMA
-        List<String> dbNames = Arrays.asList(Open_vSwitch.NAME.getName());
-        ListenableFuture<DatabaseSchema> dbSchemaF = null; //ovsdb.get_schema(dbNames);
-        DatabaseSchema databaseSchema = dbSchemaF.get();
-        MapUtils.debugPrint(System.out, null, databaseSchema.getTables());
-
-        // TEST MONITOR
-        // YES it is expected to fail with "duplicate monitor ID" as we have a perpetual monitor in Inventory Service
-        MonitorRequestBuilder monitorReq = new MonitorRequestBuilder();
-        for (Table<?> table : Tables.getTables()) {
-            monitorReq.monitor(table);
-        }
-
-        ListenableFuture<TableUpdates> monResponse = ovsdb.monitor(monitorReq);
-        System.out.println("Monitor Request sent :");
-        TableUpdates updates = monResponse.get();
-        inventoryService.processTableUpdates(node, updates);
-        inventoryService.printCache(node);
-
-        // TRANSACT INSERT TEST
-
-        Map<String, Table<?>> ovsTable = inventoryService.getTableCache(node, Open_vSwitch.NAME.getName());
-        String newBridge = "new_bridge";
-        String newInterface = "new_interface";
-        String newPort = "new_port";
-        String newSwitch = "new_switch";
-
-        Operation addSwitchRequest = null;
-
-        if(ovsTable != null){
-            String ovsTableUUID = (String) ovsTable.keySet().toArray()[0];
-            UUID bridgeUuidPair = new UUID(newBridge);
-            Mutation bm = new Mutation("bridges", Mutator.INSERT, bridgeUuidPair);
-            List<Mutation> mutations = new ArrayList<Mutation>();
-            mutations.add(bm);
-
-            UUID uuid = new UUID(ovsTableUUID);
-            Condition condition = new Condition("_uuid", Function.EQUALS, uuid);
-            List<Condition> where = new ArrayList<Condition>();
-            where.add(condition);
-            addSwitchRequest = new MutateOperation(Open_vSwitch.NAME.getName(), where, mutations);
-        }
-        else{
-            Open_vSwitch ovsTableRow = new Open_vSwitch();
-            OvsDBSet<UUID> bridges = new OvsDBSet<UUID>();
-            UUID bridgeUuidPair = new UUID(newBridge);
-            bridges.add(bridgeUuidPair);
-            ovsTableRow.setBridges(bridges);
-            addSwitchRequest = new InsertOperation(Open_vSwitch.NAME.getName(), newSwitch, ovsTableRow);
-        }
-
-        Bridge bridgeRow = new Bridge();
-        bridgeRow.setName(bridgeIdentifier);
-        OvsDBSet<UUID> ports = new OvsDBSet<UUID>();
-        UUID port = new UUID(newPort);
-        ports.add(port);
-        bridgeRow.setPorts(ports);
-        InsertOperation addBridgeRequest = new InsertOperation(Bridge.NAME.getName(), newBridge, bridgeRow);
-
-        Port portRow = new Port();
-        portRow.setName(bridgeIdentifier);
-        OvsDBSet<UUID> interfaces = new OvsDBSet<UUID>();
-        UUID interfaceid = new UUID(newInterface);
-        interfaces.add(interfaceid);
-        portRow.setInterfaces(interfaces);
-        InsertOperation addPortRequest = new InsertOperation(Port.NAME.getName(), newPort, portRow);
-
-        Interface interfaceRow = new Interface();
-        interfaceRow.setName(bridgeIdentifier);
-        interfaceRow.setType("internal");
-        InsertOperation addIntfRequest = new InsertOperation(Interface.NAME.getName(), newInterface, interfaceRow);
-
-        TransactBuilder transaction = new TransactBuilder();
-        transaction.addOperations(new ArrayList<Operation>(
-                Arrays.asList(addSwitchRequest, addIntfRequest, addPortRequest, addBridgeRequest)));
-
-        ListenableFuture<List<OperationResult>> transResponse = ovsdb.transact(transaction);
-        System.out.println("Transcation sent :");
-        List<OperationResult> tr = transResponse.get();
-        System.out.println("Transaction response : "+transResponse.toString());
-        List<Operation> requests = transaction.getRequests();
-        for (int i = 0; i < tr.size() ; i++) {
-            if (i < requests.size()) requests.get(i).setResult(tr.get(i));
-        }
-
-        System.out.println("Request + Response : "+requests.toString());
-        if (tr.size() > requests.size()) {
-            System.out.println("ERROR : "+tr.get(tr.size()-1).getError());
-            System.out.println("Details : "+tr.get(tr.size()-1).getDetails());
-        }
-
-        // TEST ECHO
-
-        ListenableFuture<List<String>> some = ovsdb.echo();
-        Object s = some.get();
-        System.out.printf("Result of echo is %s \n", s);
-
-        // TEST ECHO REQUEST/REPLY
-        Thread.sleep(10000);
-
-        connectionService.disconnect(node);
-    }
-}
diff --git a/plugin/pom.xml b/plugin/pom.xml
new file mode 100755 (executable)
index 0000000..663b8d8
--- /dev/null
@@ -0,0 +1,212 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.opendaylight.ovsdb</groupId>
+    <artifactId>ovsdb_commons</artifactId>
+    <version>1.1.0-SNAPSHOT</version>
+    <relativePath>../commons/parent</relativePath>
+  </parent>
+  <artifactId>ovsdb_plugin</artifactId>
+  <version>1.0.0-SNAPSHOT</version>
+  <packaging>bundle</packaging>
+
+  <properties>
+    <!-- used for filtering the integration test resource -->
+    <ovsdbserver.ipaddress>192.168.56.10</ovsdbserver.ipaddress>
+    <ovsdbserver.port>6640</ovsdbserver.port>
+    <skip.integrationtest>true</skip.integrationtest>
+  </properties>
+  <dependencies>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-classic</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>ch.qos.logback</groupId>
+      <artifactId>logback-core</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-annotations</artifactId>
+      <version>${jackson.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-core</artifactId>
+      <version>${jackson.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.fasterxml.jackson.core</groupId>
+      <artifactId>jackson-databind</artifactId>
+      <version>${jackson.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>com.google.code.gson</groupId>
+      <artifactId>gson</artifactId>
+      <version>2.1</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>com.google.guava</groupId>
+      <artifactId>guava</artifactId>
+      <version>${guava.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-codec</groupId>
+      <artifactId>commons-codec</artifactId>
+      <version>1.4</version>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+      <version>1.0</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.3</version>
+    </dependency>
+    <dependency>
+      <groupId>equinoxSDK381</groupId>
+      <artifactId>org.eclipse.osgi</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>io.netty</groupId>
+      <artifactId>netty-all</artifactId>
+      <version>4.0.10.Final</version>
+    </dependency>
+    <dependency>
+      <groupId>javax.portlet</groupId>
+      <artifactId>portlet-api</artifactId>
+      <version>2.0</version>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.httpcomponents</groupId>
+      <artifactId>httpcore-nio</artifactId>
+      <version>4.2.1</version>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>clustering.services</artifactId>
+      <version>0.5.1-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>sal</artifactId>
+      <version>0.7.1-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>sal.connection</artifactId>
+      <version>0.1.2-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.controller</groupId>
+      <artifactId>sal.networkconfiguration</artifactId>
+      <version>0.0.3-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.opendaylight.ovsdb</groupId>
+      <artifactId>ovsdb_library</artifactId>
+      <version>1.0.0-SNAPSHOT</version>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+    </dependency>
+  </dependencies>
+
+  <build>
+    <testResources>
+      <testResource>
+        <filtering>true</filtering>
+        <directory>src/test/resources</directory>
+      </testResource>
+    </testResources>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.felix</groupId>
+        <artifactId>maven-bundle-plugin</artifactId>
+        <version>2.3.6</version>
+        <extensions>true</extensions>
+        <configuration>
+          <instructions>
+            <Import-Package>org.opendaylight.controller.sal.packet,
+                            org.opendaylight.controller.sal.action,
+                            org.opendaylight.controller.sal.discovery,
+                            org.opendaylight.controller.sal.topology,
+                            org.opendaylight.controller.sal.core,
+                            org.opendaylight.controller.sal.flowprogrammer,
+                            org.opendaylight.controller.sal.reader,
+                            org.opendaylight.controller.sal.inventory,
+                            org.opendaylight.controller.sal.match,
+                            org.opendaylight.controller.sal.utils,
+                            org.opendaylight.controller.sal.connection,
+                            org.opendaylight.controller.clustering.services,
+                            org.opendaylight.controller.sal.networkconfig.bridgedomain,
+                            org.opendaylight.ovsdb.lib.table,
+                            org.opendaylight.ovsdb.plugin,
+                            org.opendaylight.ovsdb.lib.notation,
+                            org.opendaylight.ovsdb.lib.database,
+                            org.opendaylight.ovsdb.lib.operations,
+                            org.opendaylight.ovsdb.lib.message,
+                            org.apache.commons.lang3.builder,
+                            org.apache.commons.lang3.tuple,
+                            org.apache.felix.dm,
+                            org.slf4j,
+                            org.eclipse.osgi.framework.console,
+                            org.osgi.framework,
+                            javax.net.ssl,
+                            *</Import-Package>
+            <Embed-Dependency>httpclient,commons-codec,httpcore-nio,javax.servlet-api,portlet-api,commons-collections;type=!pom;inline=false</Embed-Dependency>
+            <Embed-Transitive>true</Embed-Transitive>
+            <Bundle-Activator>org.opendaylight.ovsdb.plugin.Activator</Bundle-Activator>
+            <Export-Package>org.opendaylight.ovsdb.plugin</Export-Package>
+          </instructions>
+          <manifestLocation>${project.basedir}/META-INF</manifestLocation>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-failsafe-plugin</artifactId>
+        <configuration>
+          <skipITs>${skip.integrationtest}</skipITs>
+        </configuration>
+      </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>2.16</version>
+        <configuration>
+          <excludes>
+            <!--  Exclude integration tests -->
+            <exclude>**/*IT</exclude>
+          </excludes>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <scm>
+    <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
+    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
+    <tag>HEAD</tag>
+    <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
+  </scm>
+
+  <profiles>
+    <profile>
+      <id>integrationtest</id>
+      <activation></activation>
+      <properties>
+        <skip.integrationtest>false</skip.integrationtest>
+      </properties>
+    </profile>
+  </profiles>
+</project>
similarity index 99%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/ConfigurationService.java
rename to plugin/src/main/java/org/opendaylight/ovsdb/plugin/ConfigurationService.java
index 7fe9fcb676ca3ddb8c94cd9be4d0a84863c743ed..fdaed3af3624db3ab224bda317ee03028f455678 100644 (file)
@@ -32,12 +32,6 @@ import org.opendaylight.controller.sal.utils.StatusCode;
 import org.opendaylight.ovsdb.lib.database.OVSInstance;
 import org.opendaylight.ovsdb.lib.database.OvsdbType;
 import org.opendaylight.ovsdb.lib.message.TransactBuilder;
-import org.opendaylight.ovsdb.lib.operations.DeleteOperation;
-import org.opendaylight.ovsdb.lib.operations.InsertOperation;
-import org.opendaylight.ovsdb.lib.operations.MutateOperation;
-import org.opendaylight.ovsdb.lib.operations.Operation;
-import org.opendaylight.ovsdb.lib.operations.OperationResult;
-import org.opendaylight.ovsdb.lib.operations.UpdateOperation;
 import org.opendaylight.ovsdb.lib.notation.Condition;
 import org.opendaylight.ovsdb.lib.notation.Function;
 import org.opendaylight.ovsdb.lib.notation.Mutation;
@@ -45,6 +39,12 @@ import org.opendaylight.ovsdb.lib.notation.Mutator;
 import org.opendaylight.ovsdb.lib.notation.OvsDBMap;
 import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
 import org.opendaylight.ovsdb.lib.notation.UUID;
+import org.opendaylight.ovsdb.lib.operations.DeleteOperation;
+import org.opendaylight.ovsdb.lib.operations.InsertOperation;
+import org.opendaylight.ovsdb.lib.operations.MutateOperation;
+import org.opendaylight.ovsdb.lib.operations.Operation;
+import org.opendaylight.ovsdb.lib.operations.OperationResult;
+import org.opendaylight.ovsdb.lib.operations.UpdateOperation;
 import org.opendaylight.ovsdb.lib.table.Bridge;
 import org.opendaylight.ovsdb.lib.table.Controller;
 import org.opendaylight.ovsdb.lib.table.Interface;
@@ -57,7 +57,7 @@ import org.opendaylight.ovsdb.lib.table.Qos;
 import org.opendaylight.ovsdb.lib.table.Queue;
 import org.opendaylight.ovsdb.lib.table.SFlow;
 import org.opendaylight.ovsdb.lib.table.SSL;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.FrameworkUtil;
 import org.slf4j.Logger;
@@ -407,7 +407,7 @@ public class ConfigurationService implements IPluginInBridgeDomainConfigService,
             if (connection != null) {
                 String newmanager = "new_manager";
 
-                OVSInstance instance = OVSInstance.monitorOVS(connection);
+                OVSInstance instance = OVSInstance.monitorOVS();
 
                 Map ovsoutter = new LinkedHashMap();
                 Map ovsinner = new LinkedHashMap();
similarity index 98%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/ConnectionService.java
rename to plugin/src/main/java/org/opendaylight/ovsdb/plugin/ConnectionService.java
index 124d10b4a035aa21fe7234d9cda24f3695e6dc03..2a7ee5d0e08df33175640de6cd915862f721bb46 100644 (file)
@@ -60,8 +60,8 @@ import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
 import org.opendaylight.ovsdb.lib.table.Bridge;
 import org.opendaylight.ovsdb.lib.table.Controller;
 import org.opendaylight.ovsdb.lib.table.Open_vSwitch;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
-import org.opendaylight.ovsdb.lib.table.internal.Tables;
+import org.opendaylight.ovsdb.lib.table.Table;
+import org.opendaylight.ovsdb.lib.table.Tables;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -256,7 +256,7 @@ public class ConnectionService implements IPluginInConnectionService, IConnectio
 
         JsonRpcEndpoint factory = new JsonRpcEndpoint(objectMapper, channel);
         JsonRpcServiceBinderHandler binderHandler = new JsonRpcServiceBinderHandler(factory);
-        binderHandler.setNode(node);
+        binderHandler.setContext(node);
         channel.pipeline().addLast(binderHandler);
 
         OvsdbRPC ovsdb = factory.getClient(node, OvsdbRPC.class);
@@ -527,18 +527,18 @@ public class ConnectionService implements IPluginInConnectionService, IConnectio
     }
 
     @Override
-    public void update(Node node, UpdateNotification updateNotification) {
+    public void update(Object context, UpdateNotification updateNotification) {
         if (updateNotification == null) return;
-        inventoryServiceInternal.processTableUpdates(node, updateNotification.getUpdate());
+        inventoryServiceInternal.processTableUpdates((Node)context, updateNotification.getUpdate());
     }
 
     @Override
-    public void locked(Node node, List<String> ids) {
+    public void locked(Object context, List<String> ids) {
         // TODO Auto-generated method stub
     }
 
     @Override
-    public void stolen(Node node, List<String> ids) {
+    public void stolen(Object context, List<String> ids) {
         // TODO Auto-generated method stub
     }
 
similarity index 99%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/InventoryService.java
rename to plugin/src/main/java/org/opendaylight/ovsdb/plugin/InventoryService.java
index e195f1a825059d9313d5ccfe9ee192da23d930c7..452ff7bad81f84f0330c2ae48f58fb5155c83595 100644 (file)
@@ -38,7 +38,7 @@ import org.opendaylight.ovsdb.lib.message.TableUpdate.Row;
 import org.opendaylight.ovsdb.lib.message.TableUpdates;
 import org.opendaylight.ovsdb.lib.notation.OvsDBSet;
 import org.opendaylight.ovsdb.lib.table.Bridge;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
similarity index 96%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/InventoryServiceInternal.java
rename to plugin/src/main/java/org/opendaylight/ovsdb/plugin/InventoryServiceInternal.java
index 032427560e2cefcf439dc89a33f39c91dd999444..ddb2a9beb59170c626fb19ee7c63cf7af07a270a 100644 (file)
@@ -18,7 +18,7 @@ import org.opendaylight.controller.sal.core.UpdateType;
 import org.opendaylight.controller.sal.inventory.IPluginInInventoryService;
 import org.opendaylight.ovsdb.lib.database.DatabaseSchema;
 import org.opendaylight.ovsdb.lib.message.TableUpdates;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 
 public interface InventoryServiceInternal extends IPluginInInventoryService {
     public ConcurrentMap<String, ConcurrentMap<String, Table<?>>> getCache(Node n);
similarity index 97%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/NodeDB.java
rename to plugin/src/main/java/org/opendaylight/ovsdb/plugin/NodeDB.java
index 912d0ee0d39d6ca67400c889a8237262e214f48b..b97a6e369dd6492fe6e7c1b864e6b7b7384f54f2 100644 (file)
@@ -16,7 +16,7 @@ import com.google.common.collect.Maps;
 
 import org.apache.commons.collections.MapUtils;
 import org.opendaylight.ovsdb.lib.database.DatabaseSchema;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 
 public class NodeDB {
     private DatabaseSchema schema;
similarity index 95%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/OVSDBConfigService.java
rename to plugin/src/main/java/org/opendaylight/ovsdb/plugin/OVSDBConfigService.java
index 5deeaeaaf9a4023fd9fba0ae95a7b31c19affd50..ff34783f056d10fe5efa61722da05a6b898aceab 100644 (file)
@@ -14,7 +14,7 @@ import java.util.concurrent.ConcurrentMap;
 
 import org.opendaylight.controller.sal.core.Node;
 import org.opendaylight.controller.sal.utils.Status;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 
 public interface OVSDBConfigService {
     public StatusWithUuid insertRow (Node node, String tableName, String parentUUID, Table<?> row);
similarity index 93%
rename from ovsdb/src/main/java/org/opendaylight/ovsdb/plugin/OVSDBInventoryListener.java
rename to plugin/src/main/java/org/opendaylight/ovsdb/plugin/OVSDBInventoryListener.java
index 3dec8a53116bb9c6a6dc9198d368cbac055a412c..822da35ba606a7519a6891625ce81f6939c50d34 100644 (file)
@@ -10,7 +10,7 @@
 package org.opendaylight.ovsdb.plugin;
 
 import org.opendaylight.controller.sal.core.Node;
-import org.opendaylight.ovsdb.lib.table.internal.Table;
+import org.opendaylight.ovsdb.lib.table.Table;
 
 public interface OVSDBInventoryListener {
     public void nodeAdded(Node node);
diff --git a/plugin/src/test/resources/logback.xml b/plugin/src/test/resources/logback.xml
new file mode 100644 (file)
index 0000000..70118ce
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<configuration>
+
+    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+        <!-- encoders are assigned the type
+             ch.qos.logback.classic.encoder.PatternLayoutEncoder by default -->
+        <encoder>
+            <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %msg%n</pattern>
+        </encoder>
+    </appender>
+
+    <logger name="org.opendaylight.ovsdb.lib.jsonrpc.JsonRpcEndpoint" level="TRACE" additivity="false">
+        <appender-ref ref="STDOUT" />
+    </logger>
+
+    <!--<logger name="com.lordofthejars.foo" level="INFO" additivity="false">-->
+        <!--<appender-ref ref="STDOUT" />-->
+    <!--</logger>-->
+
+    <root level="INFO">
+        <appender-ref ref="STDOUT" />
+    </root>
+
+</configuration>
\ No newline at end of file
diff --git a/plugin/src/test/resources/org/opendaylight/ovsdb/lib/message/monitor_response1.json b/plugin/src/test/resources/org/opendaylight/ovsdb/lib/message/monitor_response1.json
new file mode 100644 (file)
index 0000000..21b3f76
--- /dev/null
@@ -0,0 +1,89 @@
+{
+    "Bridge": {
+        "788de61c-0e4f-43d8-a068-259e75aabbba": {
+            "new": {
+                "controller": [
+                    "set",
+                    []
+                ],
+                "fail_mode": [
+                    "set",
+                    []
+                ],
+                "name": "br0",
+                "ports": [
+                    "set",
+                    [
+                        [
+                            "uuid",
+                            "f6018e7a-7ca5-4e72-a744-a9b434f47011"
+                        ],
+                        [
+                            "uuid",
+                            "fe3c89fd-2ff3-44d8-9f27-f9c7ac2a693d"
+                        ]
+                    ]
+                ]
+            }
+        }
+    },
+   "Port": {
+        "f6018e7a-7ca5-4e72-a744-a9b434f47011": {
+            "new": {
+                "interfaces": [
+                    "uuid",
+                    "13548b08-dca3-4d4b-9e9b-f50c237dcb9e"
+                ],
+                "name": "vif0",
+                "tag": [
+                    "set",
+                    []
+                ],
+                "trunks": [
+                    "set",
+                    []
+                ]
+            }
+        },
+        "fe3c89fd-2ff3-44d8-9f27-f9c7ac2a693d": {
+            "new": {
+                "interfaces": [
+                    "uuid",
+                    "88ae29fb-8c91-41a9-a14f-a74126e790c0"
+                ],
+                "name": "br0",
+                "tag": [
+                    "set",
+                    []
+                ],
+                "trunks": [
+                    "set",
+                    []
+                ]
+            }
+        }
+    },
+        "Interface": {
+            "13548b08-dca3-4d4b-9e9b-f50c237dcb9e": {
+                "new": {
+                    "name": "vif0",
+                    "options": [
+                        "map",
+                        [["remote_ip","192.168.1.165"]]
+                    ],
+                    "type": ""
+                }
+            },
+            "88ae29fb-8c91-41a9-a14f-a74126e790c0": {
+                "new": {
+                    "name": "br0",
+                    "options": [
+                        "map",
+                        []
+                    ],
+                    "type": "internal"
+                }
+            }
+        }
+
+}
diff --git a/plugin/src/test/resources/org/opendaylight/ovsdb/lib/message/monitor_response_sample.json b/plugin/src/test/resources/org/opendaylight/ovsdb/lib/message/monitor_response_sample.json
new file mode 100644 (file)
index 0000000..b214944
--- /dev/null
@@ -0,0 +1,104 @@
+{
+    "Bridge": {
+        "788de61c-0e4f-43d8-a068-259e75aabbba": {
+            "new": {
+                "controller": [
+                    "set",
+                    []
+                ],
+                "fail_mode": [
+                    "set",
+                    []
+                ],
+                "name": "br0",
+                "ports": [
+                    "set",
+                    [
+                        [
+                            "uuid",
+                            "f6018e7a-7ca5-4e72-a744-a9b434f47011"
+                        ],
+                        [
+                            "uuid",
+                            "fe3c89fd-2ff3-44d8-9f27-f9c7ac2a693d"
+                        ]
+                    ]
+                ]
+            }
+        }
+    },
+    "Interface": {
+        "13548b08-dca3-4d4b-9e9b-f50c237dcb9e": {
+            "new": {
+                "name": "vif0",
+                "options": [
+                    "map",
+                    []
+                ],
+                "type": ""
+            }
+        },
+        "88ae29fb-8c91-41a9-a14f-a74126e790c0": {
+            "new": {
+                "name": "br0",
+                "options": [
+                    "map",
+                    []
+                ],
+                "type": "internal"
+            }
+        }
+    },
+    "Open_vSwitch": {
+        "987c42d0-eab0-43d9-a32b-4246973706c2": {
+            "new": {
+                "bridges": [
+                    "uuid",
+                    "788de61c-0e4f-43d8-a068-259e75aabbba"
+                ],
+                "cur_cfg": 7,
+                "manager_options": [
+                    "set",
+                    []
+                ],
+                "ovs_version": "1.4.3"
+            }
+        }
+    },
+    "Port": {
+        "f6018e7a-7ca5-4e72-a744-a9b434f47011": {
+            "new": {
+                "interfaces": [
+                    "uuid",
+                    "13548b08-dca3-4d4b-9e9b-f50c237dcb9e"
+                ],
+                "name": "vif0",
+                "tag": [
+                    "set",
+                    []
+                ],
+                "trunks": [
+                    "set",
+                    []
+                ]
+            }
+        },
+        "fe3c89fd-2ff3-44d8-9f27-f9c7ac2a693d": {
+            "new": {
+                "interfaces": [
+                    "uuid",
+                    "88ae29fb-8c91-41a9-a14f-a74126e790c0"
+                ],
+                "name": "br0",
+                "tag": [
+                    "set",
+                    []
+                ],
+                "trunks": [
+                    "set",
+                    []
+                ]
+            }
+        }
+    }
+}
diff --git a/plugin/src/test/resources/org/opendaylight/ovsdb/lib/schema/test_schema.json b/plugin/src/test/resources/org/opendaylight/ovsdb/lib/schema/test_schema.json
new file mode 100644 (file)
index 0000000..f7f8405
--- /dev/null
@@ -0,0 +1,1150 @@
+{
+  "id": 0,
+  "result": {
+    "tables": {
+      "Port": {
+        "columns": {
+          "name": {
+            "mutable": false,
+            "type": "string"
+          },
+          "statistics": {
+            "ephemeral": true,
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "integer",
+              "max": "unlimited"
+            }
+          },
+          "vlan_mode": {
+            "type": {
+              "key": {
+                "type": "string",
+                "enum": [
+                  "set",
+                  [
+                    "access",
+                    "native-tagged",
+                    "native-untagged",
+                    "trunk"
+                  ]
+                ]
+              },
+              "min": 0
+            }
+          },
+          "qos": {
+            "type": {
+              "key": {
+                "type": "uuid",
+                "refTable": "QoS"
+              },
+              "min": 0
+            }
+          },
+          "status": {
+            "ephemeral": true,
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "trunks": {
+            "type": {
+              "key": {
+                "maxInteger": 4095,
+                "minInteger": 0,
+                "type": "integer"
+              },
+              "min": 0,
+              "max": 4096
+            }
+          },
+          "mac": {
+            "type": {
+              "key": "string",
+              "min": 0
+            }
+          },
+          "interfaces": {
+            "type": {
+              "key": {
+                "type": "uuid",
+                "refTable": "Interface"
+              },
+              "max": "unlimited"
+            }
+          },
+          "bond_downdelay": {
+            "type": "integer"
+          },
+          "bond_mode": {
+            "type": {
+              "key": {
+                "type": "string",
+                "enum": [
+                  "set",
+                  [
+                    "active-backup",
+                    "balance-slb",
+                    "balance-tcp",
+                    "stable"
+                  ]
+                ]
+              },
+              "min": 0
+            }
+          },
+          "bond_updelay": {
+            "type": "integer"
+          },
+          "external_ids": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "other_config": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "tag": {
+            "type": {
+              "key": {
+                "maxInteger": 4095,
+                "minInteger": 0,
+                "type": "integer"
+              },
+              "min": 0
+            }
+          },
+          "bond_fake_iface": {
+            "type": "boolean"
+          },
+          "fake_bridge": {
+            "type": "boolean"
+          },
+          "lacp": {
+            "type": {
+              "key": {
+                "type": "string",
+                "enum": [
+                  "set",
+                  [
+                    "active",
+                    "off",
+                    "passive"
+                  ]
+                ]
+              },
+              "min": 0
+            }
+          }
+        },
+        "indexes": [
+          [
+            "name"
+          ]
+        ]
+      },
+      "Manager": {
+        "columns": {
+          "is_connected": {
+            "ephemeral": true,
+            "type": "boolean"
+          },
+          "target": {
+            "type": "string"
+          },
+          "other_config": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "external_ids": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "max_backoff": {
+            "type": {
+              "key": {
+                "minInteger": 1000,
+                "type": "integer"
+              },
+              "min": 0
+            }
+          },
+          "connection_mode": {
+            "type": {
+              "key": {
+                "type": "string",
+                "enum": [
+                  "set",
+                  [
+                    "in-band",
+                    "out-of-band"
+                  ]
+                ]
+              },
+              "min": 0
+            }
+          },
+          "status": {
+            "ephemeral": true,
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "inactivity_probe": {
+            "type": {
+              "key": "integer",
+              "min": 0
+            }
+          }
+        },
+        "indexes": [
+          [
+            "target"
+          ]
+        ]
+      },
+      "Bridge": {
+        "columns": {
+          "name": {
+            "mutable": false,
+            "type": "string"
+          },
+          "flood_vlans": {
+            "type": {
+              "key": {
+                "maxInteger": 4095,
+                "minInteger": 0,
+                "type": "integer"
+              },
+              "min": 0,
+              "max": 4096
+            }
+          },
+          "netflow": {
+            "type": {
+              "key": {
+                "type": "uuid",
+                "refTable": "NetFlow"
+              },
+              "min": 0
+            }
+          },
+          "mirrors": {
+            "type": {
+              "key": {
+                "type": "uuid",
+                "refTable": "Mirror"
+              },
+              "min": 0,
+              "max": "unlimited"
+            }
+          },
+          "status": {
+            "ephemeral": true,
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "datapath_id": {
+            "ephemeral": true,
+            "type": {
+              "key": "string",
+              "min": 0
+            }
+          },
+          "controller": {
+            "type": {
+              "key": {
+                "type": "uuid",
+                "refTable": "Controller"
+              },
+              "min": 0,
+              "max": "unlimited"
+            }
+          },
+          "protocols": {
+            "type": {
+              "key": {
+                "type": "string",
+                "enum": [
+                  "set",
+                  [
+                    "OpenFlow10",
+                    "OpenFlow12",
+                    "OpenFlow13"
+                  ]
+                ]
+              },
+              "min": 0,
+              "max": "unlimited"
+            }
+          },
+          "fail_mode": {
+            "type": {
+              "key": {
+                "type": "string",
+                "enum": [
+                  "set",
+                  [
+                    "secure",
+                    "standalone"
+                  ]
+                ]
+              },
+              "min": 0
+            }
+          },
+          "ports": {
+            "type": {
+              "key": {
+                "type": "uuid",
+                "refTable": "Port"
+              },
+              "min": 0,
+              "max": "unlimited"
+            }
+          },
+          "external_ids": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "flow_tables": {
+            "type": {
+              "key": {
+                "maxInteger": 254,
+                "minInteger": 0,
+                "type": "integer"
+              },
+              "min": 0,
+              "value": {
+                "type": "uuid",
+                "refTable": "Flow_Table"
+              },
+              "max": "unlimited"
+            }
+          },
+          "sflow": {
+            "type": {
+              "key": {
+                "type": "uuid",
+                "refTable": "sFlow"
+              },
+              "min": 0
+            }
+          },
+          "datapath_type": {
+            "type": "string"
+          },
+          "other_config": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "stp_enable": {
+            "type": "boolean"
+          }
+        },
+        "indexes": [
+          [
+            "name"
+          ]
+        ]
+      },
+      "Interface": {
+        "columns": {
+          "options": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "name": {
+            "mutable": false,
+            "type": "string"
+          },
+          "statistics": {
+            "ephemeral": true,
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "integer",
+              "max": "unlimited"
+            }
+          },
+          "link_speed": {
+            "ephemeral": true,
+            "type": {
+              "key": "integer",
+              "min": 0
+            }
+          },
+          "mtu": {
+            "ephemeral": true,
+            "type": {
+              "key": "integer",
+              "min": 0
+            }
+          },
+          "mac_in_use": {
+            "ephemeral": true,
+            "type": {
+              "key": "string",
+              "min": 0
+            }
+          },
+          "type": {
+            "type": "string"
+          },
+          "ingress_policing_rate": {
+            "type": {
+              "key": {
+                "minInteger": 0,
+                "type": "integer"
+              }
+            }
+          },
+          "cfm_remote_opstate": {
+            "ephemeral": true,
+            "type": {
+              "key": {
+                "type": "string",
+                "enum": [
+                  "set",
+                  [
+                    "down",
+                    "up"
+                  ]
+                ]
+              },
+              "min": 0
+            }
+          },
+          "status": {
+            "ephemeral": true,
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "mac": {
+            "type": {
+              "key": "string",
+              "min": 0
+            }
+          },
+          "ofport": {
+            "type": {
+              "key": "integer",
+              "min": 0
+            }
+          },
+          "cfm_fault_status": {
+            "ephemeral": true,
+            "type": {
+              "key": "string",
+              "min": 0,
+              "max": "unlimited"
+            }
+          },
+          "duplex": {
+            "ephemeral": true,
+            "type": {
+              "key": {
+                "type": "string",
+                "enum": [
+                  "set",
+                  [
+                    "full",
+                    "half"
+                  ]
+                ]
+              },
+              "min": 0
+            }
+          },
+          "lacp_current": {
+            "ephemeral": true,
+            "type": {
+              "key": "boolean",
+              "min": 0
+            }
+          },
+          "cfm_fault": {
+            "ephemeral": true,
+            "type": {
+              "key": "boolean",
+              "min": 0
+            }
+          },
+          "external_ids": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "other_config": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "admin_state": {
+            "ephemeral": true,
+            "type": {
+              "key": {
+                "type": "string",
+                "enum": [
+                  "set",
+                  [
+                    "down",
+                    "up"
+                  ]
+                ]
+              },
+              "min": 0
+            }
+          },
+          "link_state": {
+            "ephemeral": true,
+            "type": {
+              "key": {
+                "type": "string",
+                "enum": [
+                  "set",
+                  [
+                    "down",
+                    "up"
+                  ]
+                ]
+              },
+              "min": 0
+            }
+          },
+          "cfm_remote_mpids": {
+            "ephemeral": true,
+            "type": {
+              "key": "integer",
+              "min": 0,
+              "max": "unlimited"
+            }
+          },
+          "cfm_mpid": {
+            "type": {
+              "key": "integer",
+              "min": 0
+            }
+          },
+          "ofport_request": {
+            "type": {
+              "key": {
+                "maxInteger": 65279,
+                "minInteger": 1,
+                "type": "integer"
+              },
+              "min": 0
+            }
+          },
+          "ingress_policing_burst": {
+            "type": {
+              "key": {
+                "minInteger": 0,
+                "type": "integer"
+              }
+            }
+          },
+          "cfm_health": {
+            "ephemeral": true,
+            "type": {
+              "key": {
+                "maxInteger": 100,
+                "minInteger": 0,
+                "type": "integer"
+              },
+              "min": 0
+            }
+          },
+          "link_resets": {
+            "ephemeral": true,
+            "type": {
+              "key": "integer",
+              "min": 0
+            }
+          }
+        },
+        "indexes": [
+          [
+            "name"
+          ]
+        ]
+      },
+      "SSL": {
+        "columns": {
+          "ca_cert": {
+            "type": "string"
+          },
+          "private_key": {
+            "type": "string"
+          },
+          "bootstrap_ca_cert": {
+            "type": "boolean"
+          },
+          "external_ids": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "certificate": {
+            "type": "string"
+          }
+        },
+        "maxRows": 1
+      },
+      "Open_vSwitch": {
+        "columns": {
+          "ovs_version": {
+            "type": {
+              "key": "string",
+              "min": 0
+            }
+          },
+          "system_version": {
+            "type": {
+              "key": "string",
+              "min": 0
+            }
+          },
+          "bridges": {
+            "type": {
+              "key": {
+                "type": "uuid",
+                "refTable": "Bridge"
+              },
+              "min": 0,
+              "max": "unlimited"
+            }
+          },
+          "statistics": {
+            "ephemeral": true,
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "other_config": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "external_ids": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "next_cfg": {
+            "type": "integer"
+          },
+          "manager_options": {
+            "type": {
+              "key": {
+                "type": "uuid",
+                "refTable": "Manager"
+              },
+              "min": 0,
+              "max": "unlimited"
+            }
+          },
+          "system_type": {
+            "type": {
+              "key": "string",
+              "min": 0
+            }
+          },
+          "ssl": {
+            "type": {
+              "key": {
+                "type": "uuid",
+                "refTable": "SSL"
+              },
+              "min": 0
+            }
+          },
+          "db_version": {
+            "type": {
+              "key": "string",
+              "min": 0
+            }
+          },
+          "cur_cfg": {
+            "type": "integer"
+          }
+        },
+        "maxRows": 1,
+        "isRoot": true
+      },
+      "Queue": {
+        "columns": {
+          "external_ids": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "other_config": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "dscp": {
+            "type": {
+              "key": {
+                "maxInteger": 63,
+                "minInteger": 0,
+                "type": "integer"
+              },
+              "min": 0
+            }
+          }
+        },
+        "isRoot": true
+      },
+      "NetFlow": {
+        "columns": {
+          "engine_type": {
+            "type": {
+              "key": {
+                "maxInteger": 255,
+                "minInteger": 0,
+                "type": "integer"
+              },
+              "min": 0
+            }
+          },
+          "targets": {
+            "type": {
+              "key": "string",
+              "max": "unlimited"
+            }
+          },
+          "add_id_to_interface": {
+            "type": "boolean"
+          },
+          "active_timeout": {
+            "type": {
+              "key": {
+                "minInteger": -1,
+                "type": "integer"
+              }
+            }
+          },
+          "external_ids": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "engine_id": {
+            "type": {
+              "key": {
+                "maxInteger": 255,
+                "minInteger": 0,
+                "type": "integer"
+              },
+              "min": 0
+            }
+          }
+        }
+      },
+      "Mirror": {
+        "columns": {
+          "name": {
+            "type": "string"
+          },
+          "output_port": {
+            "type": {
+              "key": {
+                "refType": "weak",
+                "type": "uuid",
+                "refTable": "Port"
+              },
+              "min": 0
+            }
+          },
+          "output_vlan": {
+            "type": {
+              "key": {
+                "maxInteger": 4095,
+                "minInteger": 1,
+                "type": "integer"
+              },
+              "min": 0
+            }
+          },
+          "statistics": {
+            "ephemeral": true,
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "integer",
+              "max": "unlimited"
+            }
+          },
+          "external_ids": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "select_dst_port": {
+            "type": {
+              "key": {
+                "refType": "weak",
+                "type": "uuid",
+                "refTable": "Port"
+              },
+              "min": 0,
+              "max": "unlimited"
+            }
+          },
+          "select_all": {
+            "type": "boolean"
+          },
+          "select_vlan": {
+            "type": {
+              "key": {
+                "maxInteger": 4095,
+                "minInteger": 0,
+                "type": "integer"
+              },
+              "min": 0,
+              "max": 4096
+            }
+          },
+          "select_src_port": {
+            "type": {
+              "key": {
+                "refType": "weak",
+                "type": "uuid",
+                "refTable": "Port"
+              },
+              "min": 0,
+              "max": "unlimited"
+            }
+          }
+        }
+      },
+      "QoS": {
+        "columns": {
+          "queues": {
+            "type": {
+              "key": {
+                "maxInteger": 4294967295,
+                "minInteger": 0,
+                "type": "integer"
+              },
+              "min": 0,
+              "value": {
+                "type": "uuid",
+                "refTable": "Queue"
+              },
+              "max": "unlimited"
+            }
+          },
+          "other_config": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "external_ids": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "type": {
+            "type": "string"
+          }
+        },
+        "isRoot": true
+      },
+      "Controller": {
+        "columns": {
+          "is_connected": {
+            "ephemeral": true,
+            "type": "boolean"
+          },
+          "enable_async_messages": {
+            "type": {
+              "key": "boolean",
+              "min": 0
+            }
+          },
+          "controller_rate_limit": {
+            "type": {
+              "key": {
+                "minInteger": 100,
+                "type": "integer"
+              },
+              "min": 0
+            }
+          },
+          "target": {
+            "type": "string"
+          },
+          "external_ids": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "other_config": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "local_netmask": {
+            "type": {
+              "key": "string",
+              "min": 0
+            }
+          },
+          "local_gateway": {
+            "type": {
+              "key": "string",
+              "min": 0
+            }
+          },
+          "max_backoff": {
+            "type": {
+              "key": {
+                "minInteger": 1000,
+                "type": "integer"
+              },
+              "min": 0
+            }
+          },
+          "local_ip": {
+            "type": {
+              "key": "string",
+              "min": 0
+            }
+          },
+          "connection_mode": {
+            "type": {
+              "key": {
+                "type": "string",
+                "enum": [
+                  "set",
+                  [
+                    "in-band",
+                    "out-of-band"
+                  ]
+                ]
+              },
+              "min": 0
+            }
+          },
+          "status": {
+            "ephemeral": true,
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "role": {
+            "ephemeral": true,
+            "type": {
+              "key": {
+                "type": "string",
+                "enum": [
+                  "set",
+                  [
+                    "master",
+                    "other",
+                    "slave"
+                  ]
+                ]
+              },
+              "min": 0
+            }
+          },
+          "inactivity_probe": {
+            "type": {
+              "key": "integer",
+              "min": 0
+            }
+          },
+          "controller_burst_limit": {
+            "type": {
+              "key": {
+                "minInteger": 25,
+                "type": "integer"
+              },
+              "min": 0
+            }
+          }
+        }
+      },
+      "Flow_Table": {
+        "columns": {
+          "groups": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "max": "unlimited"
+            }
+          },
+          "name": {
+            "type": {
+              "key": "string",
+              "min": 0
+            }
+          },
+          "overflow_policy": {
+            "type": {
+              "key": {
+                "type": "string",
+                "enum": [
+                  "set",
+                  [
+                    "evict",
+                    "refuse"
+                  ]
+                ]
+              },
+              "min": 0
+            }
+          },
+          "flow_limit": {
+            "type": {
+              "key": {
+                "minInteger": 0,
+                "type": "integer"
+              },
+              "min": 0
+            }
+          }
+        }
+      },
+      "sFlow": {
+        "columns": {
+          "polling": {
+            "type": {
+              "key": "integer",
+              "min": 0
+            }
+          },
+          "targets": {
+            "type": {
+              "key": "string",
+              "max": "unlimited"
+            }
+          },
+          "header": {
+            "type": {
+              "key": "integer",
+              "min": 0
+            }
+          },
+          "agent": {
+            "type": {
+              "key": "string",
+              "min": 0
+            }
+          },
+          "external_ids": {
+            "type": {
+              "key": "string",
+              "min": 0,
+              "value": "string",
+              "max": "unlimited"
+            }
+          },
+          "sampling": {
+            "type": {
+              "key": "integer",
+              "min": 0
+            }
+          }
+        }
+      }
+    },
+    "cksum": "2180939265 17455",
+    "name": "Open_vSwitch",
+    "version": "6.12.0"
+  },
+  "error": null
+}
diff --git a/pom.xml b/pom.xml
index 39a4ab977c0c4ef736bb6d8b62cc063ee840d671..fcb51851fb52202c0f68d38f7b76d4c02c6dfe51 100755 (executable)
--- a/pom.xml
+++ b/pom.xml
@@ -1,32 +1,33 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
-  <prerequisites>
-    <maven>3.0</maven>
-  </prerequisites>
 
   <parent>
     <groupId>org.opendaylight.ovsdb</groupId>
-    <artifactId>commons.ovsdb</artifactId>
+    <artifactId>ovsdb_commons</artifactId>
     <version>1.1.0-SNAPSHOT</version>
     <relativePath>commons/parent</relativePath>
   </parent>
   <groupId>org.opendaylight.ovsdb</groupId>
-  <artifactId>ovsdb.project</artifactId>
+  <artifactId>ovsdb_project</artifactId>
   <version>1.0.0-SNAPSHOT</version>
   <packaging>pom</packaging>
-  <scm>
-    <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
-    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
-    <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
-    <tag>HEAD</tag>
-  </scm>
+  <prerequisites>
+    <maven>3.0</maven>
+  </prerequisites>
   <modules>
-    <module>ovsdb</module>
-    <module>northbound/ovsdb</module>
+    <module>library</module>
+    <module>plugin</module>
+    <module>northbound</module>
     <module>neutron</module>
     <module>commons/parent</module>
     <module>distribution/opendaylight</module>
   </modules>
+  <scm>
+    <connection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</connection>
+    <developerConnection>scm:git:ssh://git.opendaylight.org:29418/ovsdb.git</developerConnection>
+    <tag>HEAD</tag>
+    <url>https://wiki.opendaylight.org/view/OVSDB_Integration:Main</url>
+  </scm>
 
 </project>