Lukas Sedlak [Mon, 7 Jul 2014 14:36:52 +0000 (16:36 +0200)]
Bug 1316: Fixed loop in global RPC forwarding.
Change-Id: Ic133471d4883e367230901c8596ccd46f2e9dc08
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Signed-off-by: Lukas Sedlak <lsedlak@cisco.com>
Tony Tkacik [Mon, 7 Jul 2014 09:44:06 +0000 (09:44 +0000)]
Merge "Bug 560: Fixed Mount Point RPC registration service"
Lukas Sedlak [Fri, 4 Jul 2014 07:25:13 +0000 (09:25 +0200)]
Bug 560: Fixed Mount Point RPC registration service
The RPC Services can now be correctly registered for Mount Points. The RPCs are able to
correctly propagate between Binding Independent Broker and Binding Aware Broker.
This commit is dependant on commit: https://git.opendaylight.org/gerrit/#/c/8654/
Change-Id: I6c3c3e1f648d1faa8b4d43a24eacaf014123b880
Signed-off-by: Lukas Sedlak <lsedlak@cisco.com>
Tony Tkacik [Thu, 3 Jul 2014 10:27:02 +0000 (10:27 +0000)]
Merge "Add GlobalBundleScanningSchemaServiceImpl.destroyInstance for cleanup in tests"
Tomas Olvecky [Thu, 3 Jul 2014 09:25:04 +0000 (11:25 +0200)]
Add GlobalBundleScanningSchemaServiceImpl.destroyInstance for cleanup in tests
Change-Id: Id0f6f65f5a0a00bfb8271cd68700545d1c05e5f6
Signed-off-by: Tomas Olvecky <tolvecky@cisco.com>
Tony Tkacik [Wed, 2 Jul 2014 14:13:27 +0000 (14:13 +0000)]
Merge "BUG-868: remove InstanceIdentifier.getPath() users"
Tony Tkacik [Wed, 2 Jul 2014 14:13:14 +0000 (14:13 +0000)]
Merge changes I38344133,Ib209ceed,I3f643034,I2f4ed366
* changes:
BUG-868: getChildren() has been superseded by getValue()
BUG-868: mark inherited methods as deprecated
BUG-868: remove deprecated use of QName constructors
BUG-868: do not use deprecated InstanceIdentifier methods
Robert Varga [Tue, 1 Jul 2014 16:18:44 +0000 (18:18 +0200)]
BUG-868: remove InstanceIdentifier.getPath() users
getPath() has been deprecated. Remove the easily call sites to
getPathArguments().
Change-Id: I2058627301404e28b58851c27d8d8117f48a7b9d
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 1 Jul 2014 15:42:13 +0000 (17:42 +0200)]
BUG-868: getChildren() has been superseded by getValue()
Silences two eclipse warnings.
Change-Id: I383441335d9301d73dac5627223caaffcfd30461
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 1 Jul 2014 15:21:37 +0000 (17:21 +0200)]
BUG-868: do not use deprecated InstanceIdentifier methods
This removes the use of the deprecated constructor and some of the
getPath() call sites in favor of getPathArguments() and
InstanceIdentifier.create()/.node() methods.
Change-Id: I2f4ed36645408c6f780031d848af829cbe2a40d6
Signed-off-by: Robert Varga <rovarga@cisco.com>
Devin Avery [Wed, 2 Jul 2014 11:30:34 +0000 (11:30 +0000)]
Merge changes I8598d0bd,I560c2072
* changes:
Bug 488: Removed BundleContext usage for registering to DOM Components.
Bug 488: Removed BundleContext from InMemoryDataBroker.
Devin Avery [Wed, 2 Jul 2014 11:30:05 +0000 (11:30 +0000)]
Merge "Bug 488: Removed requirement for DOM providers to supply BundleContext."
Devin Avery [Tue, 1 Jul 2014 15:21:14 +0000 (15:21 +0000)]
Merge "Bug 1081 - Deprecate non-asynchronous Data Broker API"
Tony Tkacik [Wed, 25 Jun 2014 09:32:09 +0000 (11:32 +0200)]
Bug 1081 - Deprecate non-asynchronous Data Broker API
Change-Id: I8fbe63326a0e396e128b46d96142c7db86b2b83a
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Devin Avery [Tue, 1 Jul 2014 13:02:59 +0000 (13:02 +0000)]
Merge "Bug 1236 - Documented Binding-aware RPC services of MD-SAL"
Tony Tkacik [Mon, 30 Jun 2014 18:03:32 +0000 (20:03 +0200)]
Bug 488: Removed BundleContext usage for registering to DOM Components.
Change-Id: I8598d0bd8cd3396ea666c9e3d39ead6b155d1af4
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Mon, 30 Jun 2014 17:57:35 +0000 (19:57 +0200)]
Bug 488: Removed requirement for DOM providers to supply BundleContext.
Change-Id: I7a3a852dbe1dc9a48398943fc89b542e663531bc
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Mon, 30 Jun 2014 13:41:54 +0000 (15:41 +0200)]
Bug 488: Removed BundleContext from InMemoryDataBroker.
Change-Id: I560c2072b67aa1752ecb4237689fb813440f4e2c
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Ed Warnicke [Tue, 1 Jul 2014 12:13:28 +0000 (12:13 +0000)]
Merge "Bug 1073: Added Transaction Chain support to Binding transactions."
Ed Warnicke [Tue, 1 Jul 2014 12:13:17 +0000 (12:13 +0000)]
Merge "Bug 1073: Extracted Implementation of Binding Transaction"
Ed Warnicke [Tue, 1 Jul 2014 12:12:33 +0000 (12:12 +0000)]
Merge "Bug 1027: Sort map of instance-identifiers and data by length."
Tony Tkacik [Mon, 23 Jun 2014 07:29:50 +0000 (09:29 +0200)]
Bug 1073: Added Transaction Chain support to Binding transactions.
Added Binding Aware version of Transaction Chain
which only forwards all calls to DOM Transction Chain
and uses BindingForwarded transactions as wrappers
on top of real DOM Forwarded transactions.
Change-Id: Icf10cb8525a3229c0f41c6141bf198111fa4b240
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Mon, 23 Jun 2014 07:28:51 +0000 (09:28 +0200)]
Bug 1073: Extracted Implementation of Binding Transaction
Extracted implementation of Binding Transactions to
package private classes, so they could be used by
alternative implementation of Broker or TransactionChain.
Change-Id: I66825fef8217f2d55f4e987fc8e170d3c447a008
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Ed Warnicke [Mon, 30 Jun 2014 15:54:08 +0000 (15:54 +0000)]
Merge "Partial fix for Bug 1256"
Tony Tkacik [Wed, 25 Jun 2014 08:47:02 +0000 (10:47 +0200)]
Bug 1236 - Documented Binding-aware RPC services of MD-SAL
Documented Binding-aware RPC API contracts
Added simple example / tutorial for routed RPCs.
Change-Id: I0f3a08a392e148732dc218a8ac67bc6f90ea7b0e
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Mon, 30 Jun 2014 12:53:27 +0000 (14:53 +0200)]
Bug 1027: Sort map of instance-identifiers and data by length.
In order to have more reliable deserialization of Maps
of Bidning-Independented data to Binding-Aware
entries should be sorted by their length, with shorter
ones beforehand, since codecs for them have higher
probability to be known.
Parent codecs also contains references to child-classes
which may be never used in new context so this
makes deserialization more predicable and easier to debug.
Change-Id: Iad1490f893e946a2a019c88570325dcfb11c244d
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Colin Dixon [Sun, 29 Jun 2014 20:19:44 +0000 (15:19 -0500)]
Partial fix for Bug 1256
Patch
0e12a849d33ae3ca3d1a8e2e281e6eac2cc13373 introduced a test for data normalization
that contained comparators for two kinds of nodes (LegacyNodeData) and (Node<?>) that
provided only a partial ordering of nodes and also failed to obey the semantics of
comparators when it comes to equality.
The result is that several tests were not fully specified and while the appear to run
correctly on Windows and Linux, on recent MacOS versions the ambiguity caused the tests
to fail.
This patch fixes the problem as long as only SimpleNodes and CompositeNodes are used.
Change-Id: If5175025fb97e7b8ddb799b27ad7ae9b5026172d
Signed-off-by: Colin Dixon <colin@colindixon.com>
Devin Avery [Fri, 27 Jun 2014 16:06:05 +0000 (16:06 +0000)]
Merge "Bug 1245: Dropped Binding prefix from Binding Data APIs."
Devin Avery [Fri, 27 Jun 2014 15:52:38 +0000 (15:52 +0000)]
Merge "Bug 1227: Removed #close() from Write Transactions."
Tony Tkacik [Mon, 23 Jun 2014 14:17:08 +0000 (16:17 +0200)]
Bug 1227: Removed #close() from Write Transactions.
Termination of write transactions was unclear due
to several terminal methods such as commit, cancel
and close.
Close was removed from write transactions and is only
available for read-only transactions.
Termination methods for write transactions are close
and commit.
Introduced new interfaces for ReadOnly transactions
to clearly distinguish between read capability
of transaction and read-only semantic (which has
close method).
Change-Id: I74b3fd2066a55160da3b674156fc0dc54ba14a67
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Ed Warnicke [Wed, 25 Jun 2014 16:08:24 +0000 (16:08 +0000)]
Merge "Fixed concurrency bug in DOMTransactionChainTest"
Tony Tkacik [Wed, 25 Jun 2014 13:06:39 +0000 (13:06 +0000)]
Merge "Having InMemoryDOMDatastore in its own bundle.To make it configurable using the config subystem. patch 5 changes: md-sal/pom.xml correction"
Basheeruddin Ahmed [Fri, 20 Jun 2014 06:34:15 +0000 (23:34 -0700)]
Having InMemoryDOMDatastore in its own bundle.To make it configurable
using the config subystem.
patch 5 changes:
md-sal/pom.xml correction
patch 4 changes:
Moved data tree api and impl to yang-tools based on earlier comment
Patch 3 changes:
1. Included sal-inmemory-datastore dependency in TestHelper.java for PaxExam
integration test cases [Weird that it was working earlier and my local controller full build were passing]
Patch 2 changes:
1. Keeping schema service as part of opendaylight-dom-broker-impl for backward comptability scenario
2. Initializing InMemoryDOMDataStore by default if config-dom-datastore and
operation-dom-datastore are not found
3. Updated 01-md-sal.xml based on 1.
4. Regarding the comment of moving data tree in yangtools. It shall be done in
separate patch.
This is done to replace InMemoryDOMDatastore with distributed-datastore
The changes done are:
1. Created a new sal-inmemory-datastore bundle and moved the
store/impl source files from sal-dom-broker and the corresponding
InMemoryDOMDatastore test cases.
2. Created two yang config models in sal-dom-spi that represent
the configurable config-dom-datastore and operational-dom-datastore, that
are of service type DOMStore
3. In opendaylight-dom-broker-impl.yang of sal-dom-broker, in the augment of dom-inmemory-data-broker added two container config-data-store and operational-data-store that refer the service implementations of service defined in sal-dom-spi
4.In sal-inmemory-datastore bundle, created a yang model opendaylight-inmemory-datastore that provide the implementation of the sal-dom-spi service definitions mentioned in 2 -- The implementaions are augmented to have schema-service container required by InMemoryDOMDatastore for registering itself for scheam changes
5. Updated the 01-md-sal.xml with the above changes
6. Update the distribution pom.xml to include sal-inmemory-datastore.
Change-Id: Ib2f0f0556869981e7e60b3eeae9b1e5e6cc96a0f
Signed-off-by: Basheeruddin Ahmed <syedbahm@cisco.com>
Tony Tkacik [Wed, 25 Jun 2014 07:04:50 +0000 (07:04 +0000)]
Merge "Helium: improve contract with ListenerRegistration"
Tony Tkacik [Tue, 24 Jun 2014 15:27:52 +0000 (15:27 +0000)]
Merge "BUG 484 Anyxml normalized node"
Jozef Gloncak [Mon, 16 Jun 2014 12:22:41 +0000 (14:22 +0200)]
BUG 484 Anyxml normalized node
- DataNormalizationOperation: added AnyXmlNormalization for
AnyXmlSchemaNode
- Moved DataNormalizerTest to sal-common-impl where the source code
resides and added more tests including coverage for anyxml.
Originally commited under patch set 9
https://git.opendaylight.org/gerrit/#/c/7337/9 by Tom Pantelis
This commit depends (therefore is commited as draft) on commits:
- Add Anyxml normalized node to yang-data-api -
https://git.opendaylight.org/gerrit/#/c/7771/1
- Implementation of Anyxml builder -
https://git.opendaylight.org/gerrit/#/c/8061/
Change-Id: I8f6febd1738cde3139cc32d8199d1a87c464ba34
Signed-off-by: Jozef Gloncak <jgloncak@cisco.com>
Tony Tkacik [Tue, 24 Jun 2014 07:31:00 +0000 (09:31 +0200)]
Fixed concurrency bug in DOMTransactionChainTest
Delete transaction was commited before read was verified
since transaction commit was done in other thread
there was race-condition between allocating transactions
to verify datastore state.
Change-Id: I1717efbe160e59f42c3baca2f5a5f053d703350e
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Vaishali Mithbaokar [Thu, 19 Jun 2014 21:48:44 +0000 (14:48 -0700)]
But 1129: Removing hard coded versions from MD-SAL
Change-Id: Ic4ea06f1fd644808946dd5111d38152d19b9bf35
Signed-off-by: Vaishali Mithbaokar <vmithbao@cisco.com>
Devin Avery [Mon, 23 Jun 2014 16:12:43 +0000 (16:12 +0000)]
Merge "API Clarity: Documented Async Data Broker APIs."
Ed Warnicke [Mon, 23 Jun 2014 11:37:23 +0000 (11:37 +0000)]
Merge "Bug 1144: Fixed mising DataChangeEvents for leaf listeners."
Ed Warnicke [Mon, 23 Jun 2014 11:20:24 +0000 (11:20 +0000)]
Merge "Initial implementation of ShardTransactionChain"
Devin Avery [Mon, 16 Jun 2014 16:52:14 +0000 (18:52 +0200)]
API Clarity: Documented Async Data Broker APIs.
Documented AsyncDataBroker APIs, which are
base abstract APIs from which Binding and DOM
data broker APIs are derived.
Introduced code-examples illustrating
transaction isollation and conflict detection.
Change-Id: I3c881b1fceb0b68c0cc28a1caa7780b9b6c2af3f
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Signed-off-by: Devin Avery <devin.avery@brocade.com>
Robert Varga [Fri, 11 Apr 2014 08:04:02 +0000 (10:04 +0200)]
Helium: improve contract with ListenerRegistration
Change-Id: Ief4a6a5072824ada4cead4f465961e5a08053f8b
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Wed, 25 Jun 2014 15:46:42 +0000 (17:46 +0200)]
Bug 1245: Dropped Binding prefix from Binding Data APIs.
Dropped Prefix Binding from Data API of Binding-Aware part,
to make it easier for incomming users to find them as entry
point to the system (eg. DataBroker).
Change-Id: I2636cc0b35369a5403e7e6094d1eafa03f1bf919
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Ed Warnicke [Fri, 20 Jun 2014 12:48:14 +0000 (12:48 +0000)]
Merge "Bug 629: Make BindingDataBroker to be visible."
Ed Warnicke [Fri, 20 Jun 2014 12:48:01 +0000 (12:48 +0000)]
Merge "Bug 629: Make SchemaService required for Data Brokers"
Tony Tkacik [Thu, 19 Jun 2014 14:38:21 +0000 (16:38 +0200)]
Bug 629: Make BindingDataBroker to be visible.
Inroduced support for injecting and retrieving
new BindingDataBroker via config-subsystem,
OSGI.
Note: This patch does not provide access to
BindingDataBroker is still not available via
Consumer/Provider context.
Change-Id: Iaa7e65aeeb873c38fded2fecb45e2f0dca1e7714
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Thu, 19 Jun 2014 14:35:47 +0000 (16:35 +0200)]
Bug 629: Make SchemaService required for Data Brokers
Binding Aware versions of Data Brokers did not
required SchemaService when constructed.
Refactored their constructor to make it
obvious that Schema Service is required.
Change-Id: I6c7c69df15aa0130a92015b2c52ba1a9e4cab7b1
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Thu, 19 Jun 2014 10:12:02 +0000 (12:12 +0200)]
Bug 1144: Fixed mising DataChangeEvents for leaf listeners.
Change-Id: I632e803e0bf7c7ec63bfbde636880feb2650a733
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Moiz Raja [Tue, 17 Jun 2014 22:27:44 +0000 (15:27 -0700)]
Initial implementation of ShardTransactionChain
Change-Id: Ia7fea4502f5e35837d43c404dc14e3a17480051d
Signed-off-by: Moiz Raja <moraja@cisco.com>
Ed Warnicke [Tue, 17 Jun 2014 11:49:19 +0000 (11:49 +0000)]
Merge "Bug 629: Introduction of Configuration Commit Handler"
Robert Varga [Tue, 10 Jun 2014 08:53:49 +0000 (10:53 +0200)]
BUG-272: Fixed last checkstyle offenders & activate checkstyle enforcement
This patch adds xtend-gen to excluded directories and finally removes
the enforcer plugin override -- thus making md-sal components subject to
controller-wide checkstyle rules.
Change-Id: I3ccad778f90e450843122bc904a30a0cd4ca79f3
Signed-off-by: Robert Varga <rovarga@cisco.com>
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Mon, 16 Jun 2014 16:33:40 +0000 (18:33 +0200)]
Bug 629: Introduction of Configuration Commit Handler
One piece of functionality which was not-well defined
in original APIs and was missing in new APIs is
user-submitted commit handlers.
Contract of Commit Handlers was updated to reflect
more existing concept of three-phase commit and
to allow commit handlers only for configuration
subtree.
Access to proposed data is done via read-only
transaction instead of data change event,
since commit handlers may want to cross-reference
data with other and we need to capture this reads
as preconditions for later commit phases.
Change-Id: Id2049c05384dd74792f3cfbbb9f77bf684223be2
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Ed Warnicke [Fri, 13 Jun 2014 12:20:54 +0000 (12:20 +0000)]
Merge changes Ia119c9ae,Ic2290d7f
* changes:
Bug 1106: Introduced OptimisticLockFailedException
Bug 1073: Added support to DOMBrokerImpl for Transaction Chaining
Tony Tkacik [Thu, 5 Jun 2014 17:07:31 +0000 (19:07 +0200)]
Bug 1106: Introduced OptimisticLockFailedException
Introduced two new Exceptions to InMemoryDOMDataStore:
- IncorrectDataStructureException
- ConflictingModificationAppliedException.
Introduced OptimisticLockFailedException to DataBroker
API which is thrown when transaction fails because
of ConflictingModificationAppliedException,
which is raised when other modification already
applied to data tree prevents commit on submitted
modification.
OptimisticLockFailedException is propagated to
the clients also via returned Future and may be
present as causeof ExecutionException when
get() is invoked on Future.
Change-Id: Ia119c9ae4c4ffa9774b45b1d6d54cade7a5b8c32
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Mon, 26 May 2014 10:04:45 +0000 (12:04 +0200)]
Bug 1073: Added support to DOMBrokerImpl for Transaction Chaining
Splitted functionality of DOMBrokerImpl to separate classes
which allows easier code reuse with transaction chaining:
New internal APIs:
DOMDataCommitExecutor - Commit executor which invokes
three-phase commit coordination
DOMDataCommitErrorListener - Error listener for commit executor
and one execution
AbstractDOMForwardedTransactionFactory - Factory which creates
composite transactions on top of DOMStore transactions
DOMDataCommitCoordinatorImpl - Commit Executor implementation
DOMBrokerTransactionChainImpl - Implementation of DOMTransactionChain.
Added 2 JUnit tests for Transaction Chains:
- Test positive scenario (chain of write, read, delete transactions)
- Test IllegalStateException when previous transaction
was not commited.
Change-Id: Ic2290d7fb3d4ea52a44bea02b493c1e537e929a6
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Tue, 10 Jun 2014 19:33:30 +0000 (19:33 +0000)]
Merge changes I52e0dd0d,I6dbf3316,Iafae27bc,Ibbb1250b,Icdb56d14,I7ede1482,Ib335fd1d,I6ce09820,I621fa3a4
* changes:
BUG-272: fix issues in sal-rest-docgen
BUG-272: fix sal-binding-api
BUG-272: fix sal-compatibility
BUG-272: fix sal-dom-spi
BUG-272: fix sal-dom-broker
BUG-272: fix sal-remoterpc-connector
BUG-272: fix remoterpc-routingtable
BUG-272: fix sal-dom-api
BUG-272: fix sal-binding-broker
Tony Tkacik [Tue, 10 Jun 2014 17:32:19 +0000 (17:32 +0000)]
Merge changes I63383291,I1c9f10e9,I9cac529f,I269d373b,I7ede3ba5,I4afc1e15
* changes:
BUG-272: fix sal-common-api
BUG-272: fix sal-netconf-connector
BUG-272: fix toaster-consumer
BUG-272: cleanup sal-rest-connector
BUG-272: use L for long suffix
BUG-272: remove empty statements
Ed Warnicke [Tue, 10 Jun 2014 14:06:58 +0000 (14:06 +0000)]
Merge "Bug 1106: Introduced TransactionCommitFailedException."
Robert Varga [Tue, 10 Jun 2014 12:34:16 +0000 (14:34 +0200)]
BUG-272: fix sal-binding-api
Fixes various small issues in sal-binding-api
Change-Id: I6dbf33169e693cb8f449c42062dfedbf6a3e105e
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 10 Jun 2014 12:32:31 +0000 (14:32 +0200)]
BUG-272: fix sal-dom-spi
Fixes minor offences in sal-dop-spi
Change-Id: Ibbb1250bc930c2b5b74b919a184d413279a51f74
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 10 Jun 2014 12:32:02 +0000 (14:32 +0200)]
BUG-272: fix sal-dom-broker
Fixes minor offences in sal-dom-broker
Change-Id: Icdb56d14f57626e59b39296af9e9e8946e8fb4b6
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 10 Jun 2014 11:55:28 +0000 (13:55 +0200)]
BUG-272: fix sal-dom-api
Removes imports used only by documentation.
Change-Id: I6ce098201e1a80244c650931192d746eec1cb848
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 10 Jun 2014 11:35:46 +0000 (13:35 +0200)]
BUG-272: fix sal-binding-broker
Fixes various small offenses in sal-binding-broker
Change-Id: I621fa3a430e869ecaade06fb2bf189d692d90e85
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 10 Jun 2014 09:32:23 +0000 (11:32 +0200)]
BUG-272: fix sal-common-api
Removes a single unused import.
Change-Id: I633832911c6a0459c4b4428cd17cca63c8287e56
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 10 Jun 2014 09:05:54 +0000 (11:05 +0200)]
BUG-272: remove empty statements
Preparatory patch: removes reported empty statements.
Change-Id: I4afc1e15efe6edd5d48ea8f40e189ee1e1774d4e
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Tue, 10 Jun 2014 11:30:42 +0000 (11:30 +0000)]
Merge "BUG-614: Remove YangtoolsMappingHelper in favor of BindingReflections"
Tony Tkacik [Tue, 10 Jun 2014 11:30:21 +0000 (11:30 +0000)]
Merge "BUG-614: introduce AbstractRuntimeCodeGenerator"
Tony Tkacik [Tue, 10 Jun 2014 11:30:06 +0000 (11:30 +0000)]
Merge "BUG-614: migrate RuntimeGeneratedInvoker"
Tony Tkacik [Tue, 10 Jun 2014 11:29:34 +0000 (11:29 +0000)]
Merge "BUG-614: migrate RpcMetadata"
Tony Tkacik [Tue, 10 Jun 2014 11:29:16 +0000 (11:29 +0000)]
Merge "BUG-868: use a single version of ClassLoaderUtils"
Tony Tkacik [Tue, 10 Jun 2014 11:02:28 +0000 (11:02 +0000)]
Merge "BUG-272: remove tabs from Java files"
Tony Tkacik [Tue, 10 Jun 2014 10:47:22 +0000 (10:47 +0000)]
Merge "BUG-272: remove trailing whitespace from Java files"
Robert Varga [Tue, 10 Jun 2014 09:02:29 +0000 (11:02 +0200)]
BUG-272: remove tabs from Java files
Preparatory patch: bulk-convert tabs to 4 spaces.
Change-Id: I4c24c763faf41cb4fcfd0277f8b3c7511269e9b7
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Tue, 10 Jun 2014 08:58:26 +0000 (10:58 +0200)]
BUG-272: remove trailing whitespace from Java files
Preparatory patch, bulk-removes all trailing whitespace from Java files.
Change-Id: I1fbef5746df7277b3865429d4faa82fc8ba8cbb5
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Thu, 5 Jun 2014 15:15:11 +0000 (17:15 +0200)]
BUG-614: Remove YangtoolsMappingHelper in favor of BindingReflections
As it turns out YangtoolsMappingHelper is an old duplicate of
BindingReflections, with a single isNotification() method. That method
is buggy, as it does not perform all the checks required. Remove it and
use the unified method exposed from BindingReflections.
Change-Id: Ifc2ef9746c2556feac05466439ed910208289413
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Thu, 5 Jun 2014 12:15:44 +0000 (14:15 +0200)]
BUG-614: introduce AbstractRuntimeCodeGenerator
Introduce AbstractRuntimeCodeGenerator, which is the base service class
for interactions with the rest of the world. It implements the public
contracts and as much of the logic as possible in pure Java and defines
a clear interface subclasses need to provide. RuntimeCodeGenerator.xtend
then adds an implementation of it.
Change-Id: Ic04f3e840825ae1f59583c0a9a2f6fbfc7bb66f6
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Thu, 5 Jun 2014 11:54:08 +0000 (13:54 +0200)]
BUG-614: migrate RuntimeGeneratedInvoker
RuntimeGeneratedInvoker is another DTO, so let's migrate it to
java-land.
Change-Id: If8e654c38de1be5f8e263f81eb7550d745913906
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Thu, 5 Jun 2014 11:27:09 +0000 (13:27 +0200)]
BUG-614: migrate RpcMetadata
RpcMetadata is just another DTO. Just migrate it to Java.
Change-Id: I9bff2616a1cd14fc7a5d73f7be2607d46b67b23e
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Thu, 5 Jun 2014 11:24:31 +0000 (13:24 +0200)]
BUG-868: use a single version of ClassLoaderUtils
This removes the static import, which hid the fact we are using two
different ClassLoaderUtils (both deprecated).
Change-Id: If37786d591a4c9975d2d10539c70f888dd7d6c5c
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Thu, 5 Jun 2014 15:43:36 +0000 (17:43 +0200)]
Bug 1106: Introduced TransactionCommitFailedException.
Change-Id: Icc4392a74aee24e3d2ae69387caa76bbeccb15ca
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Fri, 6 Jun 2014 13:02:40 +0000 (13:02 +0000)]
Merge "BUG-614: split out RpcServiceMetadata"
Tony Tkacik [Fri, 6 Jun 2014 12:38:24 +0000 (12:38 +0000)]
Merge "BUG-614: migrate RuntimeGeneratedInvokerPrototype"
Tony Tkacik [Fri, 6 Jun 2014 12:37:46 +0000 (12:37 +0000)]
Merge "BUG-614: sal-common-impl does not use xtend"
Ed Warnicke [Fri, 6 Jun 2014 12:21:03 +0000 (12:21 +0000)]
Merge "Bug 1073: Added Transaction Chain support to InMemoryDataTreeModification."
Robert Varga [Thu, 5 Jun 2014 11:21:54 +0000 (13:21 +0200)]
BUG-614: split out RpcServiceMetadata
RpcServiceMetadata is just another holder, no reason to define it in
xtend.
Change-Id: Ic069a9698e47a347e634289c7a96fac20c2a3d3f
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Thu, 5 Jun 2014 11:09:41 +0000 (13:09 +0200)]
BUG-614: migrate RuntimeGeneratedInvokerPrototype
Splits off RuntimeGeneratedInvokerPrototype DTO into java. There is no
reason it should be in xtend.
Change-Id: I625d44d398cfe72be21ac33d29986c736412970e
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Wed, 4 Jun 2014 21:20:37 +0000 (23:20 +0200)]
BUG-614: sal-common-impl does not use xtend
This is a cleanup of sal-common-impl component -- it no longer uses
xtend, so there is no reason to depend on the maven plugin nor the
support library.
Change-Id: Ifa5d9934997f8f4d6a9d4f1b9db5f251b421713c
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Wed, 4 Jun 2014 17:05:20 +0000 (19:05 +0200)]
BUG-614: remove dependecy on xtend
There was an unused import of xtends' Exceptions helpers -- just remove
it and reformat the class to comply.
Change-Id: Ifb8f4993414d5abbb5c9b5030de1674ed78c5409
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Thu, 5 Jun 2014 13:46:06 +0000 (13:46 +0000)]
Merge "BUG-1120: improve notification queue"
Ed Warnicke [Thu, 5 Jun 2014 13:19:27 +0000 (13:19 +0000)]
Merge "Bug 1073: Implemented Transaction chain on InMemoryDOMDataStore level."
Robert Varga [Mon, 2 Jun 2014 21:57:06 +0000 (23:57 +0200)]
BUG-1120: improve notification queue
This is a slight improvement in that it uses a ForwardingBlockingQueue
instead of subclassing -- allowing for easy replacement (for an
ArrayBlockingQueue for example).
Another improvement is the use of RejectedExecutionException instead of
IllegalStateException -- allowing clients to cleanly recover from thread
interruption.
Change-Id: I80040846bb34a12da1eb1e0df62a538b0551239e
Signed-off-by: Robert Varga <rovarga@cisco.com>
Tony Tkacik [Tue, 3 Jun 2014 07:58:50 +0000 (07:58 +0000)]
Merge "BUG-1120: optimize notification delivery fast path"
Tony Tkacik [Tue, 3 Jun 2014 07:58:31 +0000 (07:58 +0000)]
Merge "BUG-1120: fold GenerationalListenerMap back"
Tony Tkacik [Tue, 3 Jun 2014 07:58:22 +0000 (07:58 +0000)]
Merge "BUG-1120: introduce generations to ListenerMap"
Tony Tkacik [Mon, 26 May 2014 21:29:53 +0000 (23:29 +0200)]
Bug 1073: Added Transaction Chain support to InMemoryDataTreeModification.
Added support for chaining transactions to underlying implementation.
Added test case testTransactionChain, which is documented
and illustrates basic behaviour of transaction chain -
local virtual memory, which allows to allocate new transactions
which provides view as-if previous transaction already happened.
Change-Id: I23f5622f9a6498356b3c54d53e0111f3fba33bf5
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Tony Tkacik [Mon, 26 May 2014 20:38:26 +0000 (22:38 +0200)]
Bug 1073: Implemented Transaction chain on InMemoryDOMDataStore level.
- Extracted Transactions implementations from InMemoryDOMDataStore
to separate classes
- implemented initial DOMStoreTransactionChain inside InMemoryDOMDataStore
Change-Id: I3033f26d2a4c141a32aaac6bc3a20e8c7ba1c28c
Signed-off-by: Tony Tkacik <ttkacik@cisco.com>
Robert Varga [Mon, 2 Jun 2014 14:11:20 +0000 (16:11 +0200)]
BUG-1120: optimize notification delivery fast path
Now that the interface contract is completely separated, our fast path
is as good as it gets, except it still allocates a few objects in the
lookup path. These are expected to be generally small, but we do now
they are constant while a particular generation is in place.
This means we can stategically place a LoadingCache, which will
eliminate the need to allocate the objects for notifications which are
often used -- thus the fast path really becomes a lookup by class into a
prepared iterable of listeners. For initial implementation we will place
an upper bound of 1000 entries and see where it leads us.
Change-Id: I2cf39f0d4681aa60afb9d517fb7beef99838bbab
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 2 Jun 2014 13:46:28 +0000 (15:46 +0200)]
BUG-1120: fold GenerationalListenerMap back
This moves needless indirection code form GenerationalListenerMap back
to NotificaitonBrokerImpl. Now the contract is directly between
NotificationBrokerImpl and ListenerMapGeneration
Change-Id: I0b401fa4b10e06afbc7206323d1c1f4afb19d422
Signed-off-by: Robert Varga <rovarga@cisco.com>
Robert Varga [Mon, 2 Jun 2014 11:58:22 +0000 (13:58 +0200)]
BUG-1120: introduce generations to ListenerMap
This removes the synchronized block in the fast path, biasing the
implementation heavily towards fast readers.
The readers need only to take a volatile reference (AtomicReference),
at which point they have an isolated read-only view of the map.
Writers on the other hand, though, are fully synchronized and are
required to perform a full copy operation, then do the modifications and
finally reinstate the read-only view through setting the atomic
reference.
Change-Id: I5d118177c1508199b66b9e26499c9fc628d3f65e
Signed-off-by: Robert Varga <rovarga@cisco.com>