summaryrefslogtreecommitdiffstats
path: root/cps-service/src
AgeCommit message (Collapse)AuthorFilesLines
2023-01-11Fetch CM handles by collection of xpathsseanbeirne3-0/+34
- Added FragmentRepositoryMultiPathQuery - Removed Hibernate method for same - Added perf. test - Handle escaping of single qoutes in sql-data - Increased timing for path paser performance test Issue-ID: CPS-1422 Signed-off-by: seanbeirne <sean.beirne@est.tech> Change-Id: Ibea12a44bffd29ed43cc1560b507d1fa7e968b8b
2023-01-05XEE prevention with all propsmpriyank1-1/+8
- include all properties to prevent XEE for DocumentBuilderFactory Issue-ID: CPS-1435 Change-Id: I5a740f34072af348fe2df282fba7babeff4299d8 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-01-05Document and Transformer Factory refactormpriyank1-4/+13
- Extracted out document and transformer factory code Issue-ID: CPS-1435 Change-Id: I7c296a797871b0724f6de51833396a5d822c7d76 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-01-04XEE remove few propertympriyank1-3/+1
- remove and test if it fixes the issue Issue-ID: CPS-1435 Change-Id: Id70509494c105c3e73e8217d0bfb6334aa0cc609 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-01-04XEE add more propertympriyank1-0/+2
- adding few more properties to fix the problem Issue-ID: CPS-1435 Change-Id: I2e952b38bae5dab396911ea1ce4a1125d0402369 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-01-04XXE preventionmpriyank1-4/+15
- xml external entity prevention in the XmlFileUtils - setting the features only once for the document builder factory Issue-ID: CPS-1435 Change-Id: I06f9ac4bcdb0a90262f237489c6c50d8fde33c0d Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2023-01-03Minor documentation fixmpriyank1-1/+1
- minor tag fix for param in documentation Issue-ID: CPS-1435 Change-Id: I23ff1ebce54ee30cd84a58be0340ab41ad32b69a Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2022-12-23Fix SonarQube warningsToineSiebelink3-121/+137
- fixed most new warnings (required some rerfactoring and renaming) - had to change method order (becasue private/public) which loosk liek a big change because gerrit cannot match thee old/new correctly :-( - some reformatting to improve readability - used autoclosable fro streams - use of deprecated ODL methods will be addressed by separate commit (Lee-Anjella) Issue-ID: CPS-475 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I4b2f74492ac9e2c644659edab1e7ff05dddcbd20
2022-12-22Merge "Temp Table Creation improvements"Toine Siebelink1-0/+1
2022-12-22Merge "XML content on create anchors node support"Toine Siebelink11-65/+592
2022-12-22Temp Table Creation improvementsToineSiebelink1-0/+1
- extracted methods for more generic temp table creation - optimized - added perf test on use case that depends on temp table creation - had some doubts about stopwatch use in recent tests, but was all OK, just renamed some Issue-ID: CPS-1422 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I22cabb9b0ba1b0aa8576a2d756d77af46eebc1b0
2022-12-22XML content on create anchors node supportMichal Jagiello11-65/+592
Add XML content type support on anchor node creation. Issue-ID: CPS-1257 Change-Id: I7e7a9a1961b6e81de93a4e32e842b47f8a163a09 Signed-off-by: Michal Jagiello <michal.jagiello@t-mobile.pl> Signed-off-by: Lee Anjella Macabuhay <lee.anjella.macabuhay@est.tech>
2022-12-22Add fix for posting nodes with xPath with '/'emaclee3-17/+12
- YangUtils method changed from using REGEX to cps path parser - unit test added for cps path util Issue-ID: CPS-1433 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: Ibb9efdd09423f9bade4a4a557d7d9ed49aa44ef4
2022-12-15CPS-341 Support for multiple data tree instances under 1 anchorarpitsingh10-111/+191
- Updated the parseJsonData method so it can parse JSON with multiple data trees, now it returns a ContainerNode - ContainerNode holds a collection of NormalizedNodes - Updated DataNodeBuilder and FragmentRepository as well to support collection of NormalizedNodes - Added new methods in CpsDataPersistenceService to store multiple Data Nodes - Added new test cases - Updated existing test cases and fixed code coverage - Addressed comments from previous patch Issue-ID: CPS-341 Change-Id: Ie893e91c0fbfb139a1a406e962721b0f52412ced Signed-off-by: arpitsingh <as00745003@techmahindra.com>
2022-12-13Merge "Fixing SonarQube violations"Toine Siebelink4-9/+12
2022-12-12Fix DataNodeBuilder for ChoiceNodesLena Peuker4-1/+67
Fix implemented to handle YangChoiceNode in right format Issue-ID: CPS-1352 Signed-off-by: Lena Peuker <PeukerL@telekom.de> Change-Id: I48d433bac96cfc647bc31c82817870995bace860
2022-12-12Fixing SonarQube violationsleventecsanyi4-9/+12
- Code smell fixes Signed-off-by: leventecsanyi <levente.csanyi@est.tech> Issue-ID: CPS-475 Change-Id: I4b47ece82aed7e4b31aaa28e601e419fb6f06718
2022-12-09Merge "Added API to get all schema sets for a given dataspace."Toine Siebelink5-0/+58
2022-12-09Added API to get all schema sets for a given dataspace.rajesh.kumar5-0/+58
Issue-ID: CPS-1187 Change-ID: I73f97f986a817d423f93a8d922dcd9647b0914aa Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
2022-12-06Merge "Upgrade Open daylight yang tool to version 8.0.6"Toine Siebelink6-55/+82
2022-12-06Upgrade Open daylight yang tool to version 8.0.6emaclee6-55/+82
- changed classes according to upgrade of yang tool - changed methods in YangUtils class to accomodate change for jSonParserStream method - updated unit tests for the upgrade Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: Ib62fe424150ed0695eed168e1ae21f4d9a61cdf4
2022-12-01Filter on private properties of CM Handlesleventecsanyi4-323/+0
- Moved cm handle query validation to cps-ncmp-service (where it belongs!) - Added new enum type for private/public field types - Created new methods for private and public queries - Added new REST endpoint - Created service methods for filtering on different types of properties - Refactored getPublicPropertyPairs and queryCmHandleAnyProperties - Added unit test for the controller layer - Fixed refactoring suggestions - Imporved code coverage with unit tests - Refactoring - Added new functionality to NcmpRestInputMapper - Updated version number to 3.2.1-SNAPSHOT and updated release-notes.rst Issue-ID: CPS-1236 Change-Id: I0ddf6866473f7c3c6b8507d222d441bf97ca6bdc Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
2022-11-18Added get APIs for dataspace.rajesh.kumar5-0/+108
Issue-ID: CPS-1186 Change-ID: I73f97f986a817d423f93a8d922dcd9647b0829aa Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
2022-11-11Temporary registry updatempriyank1-1/+1
- temporarily updating the registry to test the failing tests. Issue-ID: CPS-1360 Change-Id: I7e303bb72b3f87565e27bcca7b1d9f5afc2b1417 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2022-11-08Node API - GET Method performance issuesourabh_sourabh1-2/+2
- Modified toDataNode call based on fetch descendants option. - Used fragment extract to build fragment entity. - Modified data set to have correct parent id for descendants. Reviewers : Toine, Priyank and Joe Issue-ID: CPS-1171 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I27a537fe72dd396722e6cfde7d8c454ed2579ec0 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2022-11-02Ensure prefix is correct module prefixToineSiebelink14-23/+484
- Moved Prefix logic from RI to Service layer - Prefix is no PREFIX propety, not the moduel name! == RI (DB Layer) Changes - Removed prefix logic incl hazelcast - Added new basic ri-test for getDataNode and assert prefix is null - Updated exsiting ri-test to us getDataNode - Updated existing ri-test to only use " where really needed == CPS Service Layer Changes - Introduced PrefixResolver with clear and limited responsibility - Use PrefixResolver where needed - Cache prefix map per anchor, use cached entry when available - Disabled SONAR on new Regex == REST Layer - Use PrefixResolver where needed Issue-ID: CPS-1353 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Ie16f0e1ee1c280f3eb69c9e64fab69a780fb692a
2022-10-27Read Performance Improvement - Using Native QueryToineSiebelink1-1/+0
- Native query for FragmentExtracts - Convert FragmentExtracts to tree of FragmentEntity - Native Query now used for all Gets with descendants (orignal hibernate option only used when descendanst ommited) - Added error handling for not-found on native query - Ommit descendants by default on many udpate use-cases (this might have a signifcant perf. improvemnt impact too) - Improved legacy tests for delete use-cases - Corrected performace test expectation - Fix TTL test realizing TTL resolution is whole seconds! Issue-ID: CPS-1301 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I658ac1b7b7036f01050f30bdf9e5bd175725ef1d
2022-10-26Creation of DataNodeBuilder with module name prefix is very slowToineSiebelink1-0/+1
- Created a new hazelcast distributed cache for anchor data config use cases. - Module name prefix is added for root data node only. - Cached module name prefix by anchor name on demand from database at first call. - Introduced a new cache holder to have module name prefix of diff. levels. Issue-ID: CPS-1326 Change-Id: I9072f5efdeea59843cd827ac556d3c0547a3a0cf Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2022-10-20CPS Validator Changeslukegleeson14-595/+203
Changed CPS Validator from static to non-static Moved CPSValidator implementation to rest interface layer to prevent duplicated usage Created CPSValidator interface in persistence layer Removed unnecessary tests Refactored misplaced tests Copyright fixes Copyright Check Script output formatting fix Issue-ID: CPS-1228 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: I4c99a51870e7d3b8e416bc1f909aeed5dc3baa42
2022-10-19Improve code coverageleventecsanyi3-14/+33
- Fixed and refactored unit test to get over the 97% coverage baseline. - Removed unused exception. Issue-ID: CPS-475 Change-Id: I6dbcba58b880a584f6d9346e2aca6c763e5d2081 Signed-off-by: leventecsanyi <levente.csanyi@est.tech>
2022-10-13Merge "Fix Id-searches endpoint performance degradation"Toine Siebelink4-6/+123
2022-10-12Fix Id-searches endpoint performance degradationkissand4-6/+123
- create more flexible control over fetch descendants - add a new FETCH_DIRECT_CHILDREN_ONLY option to fetch descendants options - enabel create custom fetch descendants option Reviewer: Toine, Joe, Priyank Issue-ID: CPS-1216 Change-Id: I900b32e813367aa9566c1dec986b20f009d27203 Signed-off-by: kissand <andras.zoltan.kiss@est.tech>
2022-10-04Tests added for multiple data tree analysisemaclee4-0/+122
**this commit is for analysis purposes only, not for merge - add unit test for gson JSONreader - add unit test for ODL JsonParserStream Issue-ID: CPS-1286 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: Ia4a8c3e36f83b4cd857b4ff20f6a37e418ffd2ec
2022-09-27Fix security bug in logslukegleeson2-26/+58
When a method with signature containing "AuthPassword" is passed, the value returned is changed to *********** in logs e.g... Execution time of : DmiProperties.getAuthPassword() with argument[s] = *********** ... Legacy code cleaning also included Issue-ID: CPS-1226 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: Ic4914eae7e5ed6d361287413d17abfe50a3788ae
2022-09-20Merge "Xpath to NodeId invalid"aditya puthuparambil2-5/+19
2022-09-13handle partial failure on batch state updatempriyank1-2/+2
- catching of failures on retry of individual nodes on batch update - test scenarios for the same Issue-ID: CPS-1232 Issue-ID: CPS-1126 Change-Id: I9dc13e7bbe44673f8ac14fbde08a85d6a5142487 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2022-09-13Handle partial failure (improvements)ToineSiebelink1-3/+3
- catching of failures on retry of individual nodes - extract cm handle id from xpaths (can only report xpaths in cps core) - add test for same Issue-ID: CPS-1232 Issue-ID: CPS-1126 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Ice2032c8b15fea97ae0aaa4d1ed642b3499228fa
2022-09-12Handle partial failurempriyank4-6/+40
- Removing the transaction boundaries as it was getting rollbacked on partial failures - Handled adding the elements in batch and if it fails try them individually - Refactored code a bit and when there is partial failure we try one more time in sequence and even if there are failures we collect the failures Issue-ID: CPS-1232 Issue-ID: CPS-1126 Change-Id: I7824c9f37f80cbaeedd5dc06d598ca0e3a69c59b Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2022-09-06Xpath to NodeId invalidGandhapu, Yashwanth2-5/+19
Issue-ID: CPS-1244 Signed-off-by: Gandhapu, Yashwanth <gandhapu.yashwanth@wipro.com> Change-Id: Ib091de1247cb0bb48d3157bf2c5becfc9189b773
2022-09-05Performance Improvement: Fix Insert Yang Resource IDs (Schemset)ToineSiebelink3-8/+8
- Add robustness to handle insertion/get of empty collection - Fix business logic to pass down ALL module references during module Sync - Update Java doc etc to clarify ALL module references are needed (not just new) Issue-ID: CPS-1246 Issue-ID: CPS-1126 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Ic8ff4bdfef646e98ef61a6732c6d5ecb4b762e29
2022-09-01Implement merging all ncmp datastore endpoints into onebmiklos2-26/+6
- Merging all endpoints under /v1/ch/{cm-handle}/data/ds/ncmp-datastore:* to /v1/ch/{cm-handle}/data/ds/{ncmp-datastore-name} - Implementing missing tests from parent - Introducing abstract class to keep the common code and just pass in the supplier to be executed in sync or async manner - Removed the existing get endpoints for passthrough-running, passthrough-operational and operational and merged them into a common get endpoint Issue-ID: CPS-1178 Issue-ID: CPS-1001 Change-Id: I6956c81d5acfa8fb11217bcc16cb795b62070fa3 Signed-off-by: bmiklos <miklos.baranyak@est.tech>
2022-08-29Performance Improvement:save cmhandles capabilitympriyank4-0/+63
- add saveCmHandleBatch in InventoryPersistence - add saveListElementsBatch in CpsDataService - have addListElementsBatch in CpsDataPersistenceService - Test scenarios for the same Issue-ID: CPS-1229 Issue-ID: CPS-1126 Change-Id: I0a1401818da5a4e523d7d0751cac6a526d1611b2 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2022-08-29Performance Improvement: Use hazelcast blocking queueToineSiebelink1-1/+4
- Introducing hazelcast for queue and progress map - process batch of 100 at the time - decreased module sync watchdog sleeptime to 5 seconds - separate module sync tasks in new class and some other async preparations and easier testing - tests for batching in module sync watchdog - remove qualifiers annotation (support) where no longer needed Issue-ID: CPS-1210 Issue-ID: CPS-1126 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I0a7d3755bf774e27c5688741bddb01f427d4a8a7
2022-08-25Performance Improvement: Batch Update DataNodeslukegleeson4-14/+91
Implemented methods to perform a batch operation on updating datanodes Refactored replace data node(s) tree methods to update data node(s) and descendants Issue-ID: CPS-1203 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: I365d657422b19c9ce384110c9a23d041eaed06f4
2022-08-19Performance Improvement: Temporal eventmpriyank4-69/+74
- Call the admin service in the async pool thread to fetch the anchor details in case of raising event on save, update and delete a node or delete list elements - Admin service is still called in the main thread in case of DeleteNodes method as we require to have anchor as we are deleting all the anchors. - Fixed the test scenarios related to processing async event - Rearranged method formal params Issue-ID: CPS-1126 Issue-ID: CPS-1209 Change-Id: Ibd8f001c4d7c7de63914f6de24042aaf01a063b2 Signed-off-by: mpriyank <priyank.maheshwari@est.tech>
2022-08-11Get Node API fixputhuparambil.aditya2-8/+13
Issue-ID: CPS-1179 Signed-off-by: puthuparambil.aditya <aditya.puthuparambil@bell.ca> Change-Id: I1450ed5d05afd6dd30484eaf19b1e40fd586df8e
2022-07-29Query CmHandles using CPS pathlukegleeson3-4/+93
Added withCpsPath condition parameter Validated to prevent misuse and blocking of querying using private properties Updated OpenAPI with examples and links to documentation Moved methods related to cmHandle querying using cps path from InventoryPersistence to CmHandleQueries Renamed private method deleteSchemaSetAndListElementByCmHandleId to deleteCmHandleByCmHandleId Issue-ID: CPS-977 Change-Id: I83827215b7e58de74f8f62cd0140516d217d93f1 Signed-off-by: lukegleeson <luke.gleeson@est.tech>
2022-07-25CmHandle creation performance degradationsourabh_sourabh1-0/+4
- Created a dedicated threadpool for scheduler. - Tuned async threadpool of notification executor from setting RejectedExecutionHandler and application.yml. Issue-ID: CPS-1126 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech> Change-Id: I2afe3c76c1aec78751777df0d2f08ddb8dcee102
2022-07-13Refactor unit test for Notification Error Handleremaclee1-7/+24
Issue-ID: CPS-1146 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: Idd1c1236b9574c1d070c3dc4111ebcce8d800b23
2022-07-05Coverage for NotificationErrorHandleremaclee1-0/+41
Issue-ID: CPS-475 Signed-off-by: emaclee <lee.anjella.macabuhay@est.tech> Change-Id: Iadcb89c83aaa72afa0839d53a31799316c5966c5