Age | Commit message (Collapse) | Author | Files | Lines |
|
Updated release notes for Delta Feature
Issue-ID: CPS-1824
Signed-off-by: Arpit Singh <as00745003@techmahindra.com>
Change-Id: I1c2403391e85aec6a9e34f0ff616c17b100bf6a9
|
|
- Added code for Update action in Delta service
- added method to get updated Leaf data: getUpdatedLeavesBetweenSourceAndTargetDataNode
- added method to compare Leaf data common in source and target data
node
- added method to process leaves unique to target data node
- added method to compare leaves: compareLeaves
- added method to store updated data to a DeltaReport: addUpdatedLeavesToDeltaReport
- Added corresponding testware
Issue-ID: CPS-1824
Signed-off-by: Arpit Singh <as00745003@techmahindra.com>
Change-Id: I3de07ea3227988784a0892f6a92c238ecf00a7fa
|
|
- CPS Delta Feature Part 1: To find delta between two anchors
- created new endpoint deltaByDataspaceAndAnchors
- endpoint to take dataspaceName, source anchor, target anchor,
xpath, descendants as input
- added new service CpsDeltaService
- added method to find delta between DataNodes:
getDeltaReport
- added method to find removed data nodes: getRemovedDeltaReports
- added method to get Added DataNodes: getAddedDeltaReports
- added method to get Map of xpath to DataNode: convertToXPathToDataNodesMap
- added a POJO for delta report
- Added new JSON data for delta feature testing
- Added groovy test files CpsDeltaServiceImplSpec and DeltaReportBuilderSpec
- code related to update operation, will be added in
separate commit
Issue-ID: CPS-1824
Signed-off-by: Arpit Singh <as00745003@techmahindra.com>
Change-Id: I313f0f71d04b03878be7643f709d8af1aa6df6ba
|
|
ClassNotFoundException is being thrown during CM-handle registration
when running the cps-application JAR. This fixes the issue by using
the class loader for the CPS classes.
Issue-ID: CPS-1933
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I02e2d19d9f668f0c4af36e9061e68f9b9ddb9434
|
|
- modified ModuleSyncService
- created ModuleSetTagCacheConfig and tests
- ensure both Create and Upgrade cm Handle use cases work
- Moved inventory pkg to its right patha as production code.
Issue-ID: CPS-1859
Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
Change-Id: I173dcd81fe2e74d86d85365b2ead461302cad974
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
|
|
- Added new schema to upgrade model into component.
- Modified Ncmp rest input mapper to add upgradedCmHandles attributes.
- Modified cm handle state mapper to add new lock reason.
- Added new method to parse and upgrade Cm handles in DmiRegistration.
- YANG data converter is modified to add "module-set-tag" atribute.
- Cm handle new query method is added for cps path without appending
ancestor.
- Modified setCompositeStateForRetry to add lock reason.
- New lock reason category is added.
- Existing module sync service is modified to upgrade the model
"syncAndCreateOrUpgradeSchemaSetAndAnchor".
- Sync util method "getModuleSyncFailedCmHandles" to modified to add
another lock reason "LOCKED_MISBEHAVING".
- Added new attribute "UpgradedCmHandles" into DmiPluginRegistration and DmiPluginRegistrationResponse.
- New attribute "moduleSetTag" is added into NcmpServiceCmHandle.
- New model "UpgradedCmHandles" is added.
- New method "updateSchemaSetWithExistingModules" is added into cps
module service to update cm handle with exsting model.
- Code coverage is reducced to 96 percentage that would be addressed and
pushed into new patch.
Issue-ID: CPS-1798
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
Change-Id: I540acb404e38fc434de87a0d959bfde710a18b03
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
|
|
updateDataNodesAndDescendants if supplied with a JSON list such as
{"branch": [{"name":"Name1"}, {"name":"Name2"}]}
would only replace the first node /test-tree/branch[@name='Name1'],
and ignore any remaining list items. This is caused by the use of a
legacy buildDataNode, which returns only a single DataNode from JSON,
even if the JSON contained a list.
Issue-ID: CPS-1889
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I257491b6bc3f047a64eb241eaac70fd457b24347
|
|
Issue-ID: CPS-1789
Signed-off-by: egernug <gerard.nugent@est.tech>
Change-Id: Iee5c514ccdba36a387f83948d8a3ba26e6b1de5b
|
|
This reverts commit 9693ec51cf6526082f0ad0c3ad208d144cbbb163.
Reason for revert: Bug fix delivery
Change-Id: I73bdc1528192c662983b0bbef73b10b6d612a719
Signed-off-by: egernug <gerard.nugent@est.tech>
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
|
|
|
|
This is presented as a fix for ClassDefNotFoundErrors
from opendaylight yang parser
Issue-ID: CPS-1866
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: If2d1a8f0319cad0a9517ea3652446e2e43f51fd4
|
|
Issue-ID: CPS-1789
Signed-off-by: egernug <gerard.nugent@est.tech>
Change-Id: I932fca8a50cedf2ae0604401c5e2b27896e4d449
|
|
|
|
- Infrastructure code to have the kafka listener and distributed set in
place
- performance tested locally
- testware added
Issue-ID: CPS-1642
Change-Id: I775dbe6e6b520b8777faa08610db439877757572
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
|
|
- Exposed an interface to update anchor by schema set name.
- New interface is implemented into RI model.
- New native query is exposed to update id with given schema set name.
- A new integration test is written to test new interface into cps core.
Issue-ID: CPS-1800
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
Change-Id: Ibf44712e11b53cb6673b04b9e3fd864321c90839
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
|
|
|
|
Add pagination query parameters in query across all anchors API
pagination parameters (pageIndex and pageSize) are optional
default is to query all fragments
each pageSize represents number of records(number of anchors)
TotalRecords is returned in response header to find number of pages.
- If pagination option is provided in request then query number of
anchors equal to pageSize. pageIndex is used for setting offset.
- return number of records(one anchor per record) as per pagesize
and pageSize
Issue-ID: CPS-1605
Change-ID: I73f97f986a817d423f93a8d922dcd9647b2504bc
Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
|
|
-added 'direct' keyword also to Fetch Descendants Option along with 'all' and 'none' to Query direct child.
-added unit tests to test direct keyword
Issue-ID: CPS-1784
Change-Id: Icb7f59fbeebb03703626132d6d5d2cfde0e5ab4d
Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
|
|
- After last rebase I had to remove 3 unused recent cloud eventd specific exceptions/constructors
- Moved the only used new exception from SPI to the relevant util package
(please NOTE not all exceptions belong in SPI and always question need for new exception
when there is no specific handling, try to use standard or existign CPS exception instead!)
- Increased cps-service module (line) coverage from 95 to 100%
- Added tests for missing exceptions (handling i.e. thrown up)
- Removed incorrect SPI defined OperationNotYetSupportedException
(replaced with standard java exception instead)
- Fixed some legacy issues with existign test classes I modified
(unnecessary setup, conventions etc)
- Increased coverage for DataNodeBuilder
- Added or modified test to include more spi models
- Added tests for Hazelcast Configs
- Added more tests for json object mapper
- Added test and fixed error handling in YangUtils/XmlFileUtils
(it was incorrectly converting a config exception to a data validation exception)
Issue-ID: CPS-475
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: I5852ba01bc5b33ae361b8f29daae9868f05baa35
|
|
-added 'direct' keyword also to Fetch Descendants Option along with 'all' and 'none' to Query direct child.
-added unit tests to test direct keyword
Issue-ID:CPS-1784
Change-Id: Iab7f59fbeebb03703626132c6d5c2afde0e5ab4d
Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
|
|
|
|
- Delete legacy avc subscription event and event outcome schemas
- Change subscription response and outcome sample json file contents
- Change ncmp event response code to support avc subscriptions
- Add mapper that maps cloud event to subscription event response
- Add mapper that maps subscription event outcome to cloud event
- Change subscription event response consumer to consume CloudEvents
- Change time out task to support response event instead client id and
name
- Change subscription event response mapper to support Cloud Event
- Change subscription outcome mapper to group subscription responses as
per details and status
- Change subscription status to have fromString functionality
- Change all unit tests to support new functionalities
- Add cps exceptions for cloud event and outcome type
- Add details field in yang model
- Change data node helper to supoort details field
- Consolidate final subscription response codes
- Fix code smells reported by SonarLint
Issue-ID: CPS-1739
Change-Id: I5eadeb8ef40d3d7befb762b5a8d2139fe3c85d7e
Signed-off-by: halil.cakal <halil.cakal@est.tech>
|
|
|
|
Apostrophe is not currently handled correctly, and having apostrophe in
the xpath will lead to various errors.
For example, normalizing this xpath works:
/path[@name="I'm quoted"] -> /path[@name='I\'m quoted']
However the resulting xpath will throw a PathParsingException if parsed!
(Thus path normalization is not idempotent.)
- Use '' for escaping apostrophe in single quoted leaf value,
to comply with XPath standard (and use "" for escaping in ").
- Use Liquibase to make existing data comply with new rules.
- Leaf values in data leaves are now unescaped, e.g. "I'm quoted"
- Quoting is now consistent for leaf/text/contains conditions.
Issue-ID: CPS-1769
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Iafc287f738254d7f99706c6bc548091c0ecd5aa0
|
|
Post List Element does not allow for create List Element, only appends onto existing node as children
-Add a check in saveListElements to see if the parent xpath is a root path ("/").If root node store list element as top node. Else add passed list element to parent xpath node.
-Add test for scenario for above
-Add test scenario Saving list element data fragment under Root node
-Add Integration Tests Add and Delete top-level list (element) data nodes with root node
-Update bookstore model with TopLevelList datanode
Issue-ID: CPS-1586
Change-Id: Iaa7f59fbeebb03703626132c6d5c2afde0e7ab4b
Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
|
|
- Added (extended) test to cover missed scenarios
- Removed unnecesarry null check from Production code
- Improved error messages in production code
- Removed duplicate test
- Cleaned up existign test somewhat (labels and aligment)
Issue-ID: CPS-475
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: I9761ad6d4777a6bcfee4cbe1b876dd39fa218fc8
|
|
This fixes issues with special characters like square brackets
- Make PrefixResolver use CpsPathParser instead of regex
- Make DataMapUtils use CpsPathParser instead of String parsing
Issue-ID: CPS-1758
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I6dd66eee398a46a69c0229059195f5096ab6fdec
|
|
Issue-ID: CPS-1774
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I52ff9074a9f8188e8635a811b0d2713a97cb4b10
|
|
Data nodes are being saved with non-normalized xpaths, resuling in
data nodes that cannot be operated on. This affects all operations
including get, query, update, and delete.
Issue-ID: CPS-1765
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I5352182d79daec67805753ca5943b1a86c18159f
|
|
- Modified data operation schema to contains cm handle as steing and
response content field name as result.
- Added a new common cloud event builder for NCMP to create an event.
- Added data operation event creater that uses cloud event builder to
create a cloud event.
- Introduced a new method onto json object mapper to convert json object
to bytes.
- Modified EventDateTimeFormatter and added a new method to convert date timestamp into offsetdateTime.
- Added a new code into ResourceRequestUtil to identify non-ready cm
handle and non-existing cm handle and later publish it as cloud event
to tha client given topic.
- Introduced CpsApplicationContext to get spring mannaged bean into non
spring managed java object.
Issue-ID: CPS-1583, CPS-1614
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
Change-Id: I24a39d2cb2c54dea25cd2f17e7748e21cd83a088
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
|
|
- all modules service interation test moved
- added some aditional scenarios to increase coverage
- removed unused method(s)
- remove javdoc on private methods
- some minor refactoring like replace 'var' with correct type
Issue-ID: CPS-1687
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: I03ff1f3562cfe38318e8b9af81be47a1fe667da2
|
|
- dropped ri module coverage to alow for move
- removed performance tests (already better tests in intergration module)
- added 'save' iue cases in new integration-test
- removed no longer used version for save single data node
(todo: remove old tests for similar functionality, will wait until new test cover same)
Issue-ID: CPS-1687
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: I4c2e788e0a313938a923cd1e7e52584d739ec6f4
|
|
- Added new method updateMultipleDataLeaves to perform Update on
multiple data nodes
- Deprecated singular method of update data node(updateDataLeaves)
- Refactored code where singular version was used
- Updated release notes
Issue-ID: CPS-1006
Signed-off-by: <as00745003@techmahindra.com>
Change-Id: If67280e2dd3ad566de9a8217489f168415e624bc
|
|
# Replace '[\s\S]' to '.' as it is same as '.' while grouping in regex
# Updated the groovy files to add 'assert' and to replace deprecated method
# Removed deprecated 'storeDataNode' method.
Issue-ID: CPS-1594
Signed-off-by: raviteja.karumuri <raviteja.karumuri@est.tech>
Change-Id: Iaa5f8b0cc8d66473c993060a8fc5a54e37e373b1
|
|
- We need to align the hazelcast cluster names as members of the same
cluster can join each other. We will still have exclusivity as the
instance names and configs are different for each distributed object.
- Exposing env variable to override the cluster name depending on the
env it is run on.
- Modified test cases to validate the cluster names as well
Issue-ID: CPS-1637
Change-Id: Ib0f8c80dc9b2268f976b0c2d3ccd6d64792d4781
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
|
|
- Implemented default 30s timeout for DMI Responses
- Placeholders have been TODO'd for Outcome Response generation and Persisted Subscription Updating
- Refactored common HazelcastCacheConfig methods
- Some tests required a blocking variable due to seperate thread usage
Issue-ID: CPS-1599
Signed-off-by: lukegleeson <luke.gleeson@est.tech>
Change-Id: I2b1a35e93939daa0524d379ac4736d714ef61a6f
|
|
# Remove unused method "updateDataNodeAndDescendants"
# Remove unused production code
Issue-ID: CPS-1594
Signed-off-by: raviteja.karumuri <raviteja.karumuri@est.tech>
Change-Id: Id909e9da3e9181c181dfdfe62f051451d8e488a2
|
|
- Extend cache configs to be able to work in stanalone mode as well as
in cluster mode in kubernetes.
- Expose the parameters to enable or disable the feature.
- to make it work in standalone mode autodiscovery config will take care , and
to run it on kubernetes enable the kubernetes option and provide the
service name property.
Issue-ID: CPS-1637
Change-Id: I704c4aa11e65b17b5be80048e4246079014d8bb7
Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
|
|
Issue-ID: CPS-1603
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I85aca8bccc28d36aa4cefa0a32cb9bdf2156618a
|
|
Issue-ID: CPS-1396
Change-ID: I73f97f986a817d423f93a8d922dcd9647b1412ab
Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
|
|
- Fixed the Response code and message when trying to update multiple
data trees at once
- Response code changed to 400
- Since the patch operation across multiple data trees is not
supported when xpath is set to root node xpath, appropriate message is
returned in response
- Existing functionality of updating one data node with root node xpath
remains as it is.
- Updated API documentation and release notes
Issue-ID: CPS-1526
Signed-off-by: arpitsingh <as00745003@techmahindra.com>
Change-Id: I5d25a06bb5d407316ccfb2f85877cbe56a9f6f31
|
|
|
|
- Use Anchor object instead of names in processDataUpdatedEventAsync
- Use Anchor object instead of names in buildDataNodes
- Avoid unnecessary ArrayList copy in updateDataNodesAndDescendants
Issue-ID: CPS-1536
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I46936a655a3d151357e55b68e1c4161e07100e84
|
|
Note: Implemented common EventsPublisher class
Issue-ID: CPS-1431
Signed-off-by: lukegleeson <luke.gleeson@est.tech>
Change-Id: I292a95f2c990a140f5fd63622ca4eba3f8284b9e
|
|
- Add SQL query that can fetch needed fragments to any given depth
- Update getFragmentEntities to use new query
- Remove now unused FragmentRepositoryMultiPathQuery
- Remove unused TempTableCreator method
- Result: getDataNodesForMultipleXpaths is up to 10 times faster
Issue-ID: CPS-1525
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I07cbc9da5ab994ce7e0c2b02d7ca05089f05dab0
|
|
Issue-ID: CPS-1509
Change-Id: I2eded9a23b56f5263591c710c7a707cf281f93d7
Signed-off-by: kissand <andras.zoltan.kiss@est.tech>
|
|
Current implementation of NCMP handle de-registration relies on
DataNodeNotFoundException being thrown to report errors.
- Make deleteDataNodes throw DataNodeFoundExceptionBatch
- Update performance test timings
Issue-ID: CPS-1481
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ib833bdb4a23d24e1784bdaf4e5e5e8a9acb41c54
|
|
- Created package structure
- Created several test bases
- Created complete test set for Admin service
- Created first test for Data service
- Added human-readable toString() to FetchDescendantsOption for test reporting and debuging purposes
- Renamed fetch descendants (enum) direct children option for consistency with others options
- TODO: Add sample performance test (and base)
Issue-ID: CPS-475
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: I75317686161be41662b6bf81314a9cd425ddd6eb
|
|
|
|
- Modified the GET Data Node API so it returns all the data nodes when
xpath set to root "/"
- Fragment Repository now returns a collection of Fragment Entities
- Instead of returning only the first Fragment Entity now all fragment
entities are returned when xpath is set to root
- The Fragemnt Entities are further processed to a Collection of Data
Nodes. As opposed to singular Data Node in current implementation.
- Finally the DataRestController also returns a Collection of Data
Nodes when xpath is set to root and valid data is present
- Response body changed from JSON object to JSON Array.
- Exception handling for invalid xpath and non-existing xpath is now
done separately at persistence layer.
- Refactored code against CPS-1422
- Deprecated getDataNode method from Service and Persistence layer
- Modified V1 of Get Data Node API to use the getDataNodes method and
get the first data node from the collection returned.
- Modified NCMP to use getDataNodes method
- NCMP still does not support multiple data nodes. It retrieves the
first data node from the collection returned by getDataNodes
Signed-off-by: arpitsingh <as00745003@techmahindra.com>
Change-Id: I494a5740a53f65376d135fcb9f1e2e8900a2803e
|