summaryrefslogtreecommitdiffstats
path: root/cps-path-parser/src
AgeCommit message (Collapse)AuthorFilesLines
2024-10-03[BUG] Fix memory leak related to using arrays in Hibernatedanielhanrahan1-5/+3
The use of arrays like String[] instead of Collection<String> in JpaRepository methods is causing a memory leak, most likely due to a bug in the hypersistence-utils dependency which provides the feature. Note code using arrays in JDBC (via jdbcTemplate) is not affected. This patch removes most uses of arrays in Java, except one needed for FragmentPrefetchRepository using JDBC setArray(), which is safe. Issue-ID: CPS-2430 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I94f8c3d4c8c32ebe0978c08d3226a196a95bf3b9
2024-10-03Update JIRA and Wiki links host name from wiki.onap.org to lf-onap.atlassian.netsourabh_sourabh1-1/+1
Issue-ID: CPS-2432 Change-Id: I53f380a4fe0968d1ec9f1393651c7c43f03d0d95 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2024-09-18[Cps Path Parser] Fixes for parent path & normalizationdanielhanrahan4-46/+75
This commit fixes issues with Cps Path Parser related to path normalization and parent path generation when using descendant paths and ancestor axis. Issue-ID: CPS-2365 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I728fc379b134bd62c39a7085650930450c8a8597
2024-09-04[Cps Path Parser] Move NCMP-specific logic to NCMPdanielhanrahan2-21/+0
Some special case code to disable ancestor-axis was added for CM-handle search (see CPS-2308). It is now relocated to NCMP. This makes other needed improvements of Cps Path Parser easier. - Move special case code into NCMP - Add integration test to ensure CM-handle search works Issue-ID: CPS-2365 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I168d6156be559166f115aa42e21cd987d98b7d41
2024-09-04Merge "[Cps Path Parser] Refactoring leaf conditions"Priyank Maheshwari3-44/+29
2024-09-04[Cps Path Parser] Remove unneeded validation in grammardanielhanrahan2-17/+2
The invalid prefix/postfix is not needed; existing tests show that PathParsingException is thrown in for invalid paths. Issue-ID: CPS-2365 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I202f0ca0bc5eb768fc3af711180405882dafc22d
2024-08-31[Cps Path Parser] Refactoring leaf conditionsdanielhanrahan3-44/+29
Instead of DataLeaf and ComparativeOperators classes, we more simply have LeafConditions class with all info. Issue-ID: CPS-2365 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I8fd18bb56b8ed9d26a3f9d36f487d00a9274c8bc
2024-07-09NCMP: NCMP search API fixed to handle cps path that is ancestor axis assourabh_sourabh2-1/+22
well - Cps path builder is fixed to handle ancestor axis that is target as well while quering. Issue-ID: CPS-2308 Change-Id: Iaf215851ada17d21516ae83fa142ac77ff1c6c19 Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
2023-07-24Fix code coverage reportingToineSiebelink1-15/+27
- Fixed (partly duplicated) exclusion list: all exlusings now in PARENT pom only (this means module reports and aggregate report use same exclusion - Set common minimum to 100% (3 modules now achieve this :-) ) - Added./clean cm-parsre test to get too 10% in that module too - Increased module specif minima to actual coverge today Issue-ID: CPS-475 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Ic155f963bfd472e11481fcab6ee8ca227903d9ae
2023-07-20Apostrophe handling in CpsPathParserdanielhanrahan3-22/+37
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
2023-07-17Allow duplicate leaf names in Cps Path leaf conditiondanielhanrahan5-158/+64
Presently, a query using the same leaf name twice will fail: //books[@price > 10 and @price < 20] It is caused by storing data leaves in a Map. This is fixed by storing data leaves in a List<DataLeaf>. Issue-ID: CPS-1779 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ie6990ea5e622cf37e986b720a0a07fb69ce4f03b
2023-05-30Add <,> operators support to cps-pathRudrangi Anupriya5-33/+130
Issue-ID: CPS-1273 Change-Id: I5d562463b9a49abfe0436047a637857d10596fff Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
2023-04-25Ordering of leaf elements to support combination of AND/OR in cps-pathRudrangi Anupriya2-9/+14
Issue-ID: CPS-1629 Change-Id: Ib9df87e8171f4d53c49d80d27e3c6cf75aa3b209 Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
2023-04-21Add contains condition support to cps-pathRudrangi Anupriya4-1/+35
Issue-ID: CPS-1272 Change-Id: Ic81d1322cacc64a8752916324b801d02be47d34f Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
2023-04-14Add OR operator to cps-pathRudrangi Anupriya5-39/+121
Issue-ID: CPS-1215 Change-Id: I91fdf5bddcc4fc12a8cf9dbce75f77c832c55871 Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
2023-02-28Skip deleting list xpaths that are list elementsdanielhanrahan2-5/+12
List elements cannot be lists. Filtering list elements before trying to delete lists by xpaths doubles performance when deleting list elements (which doubles performance of CM handle de-registration). Issue-ID: CPS-1511 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: Ieb6002212d006396d468f27f853708b5aa1e31f2
2023-01-23Increase duration for CpsPathUtilPerfTestdanielhanrahan1-4/+3
Issue-ID: CPS-1460 Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech> Change-Id: I47f226c44351513b77b5cbb9b7d91e13f8bf4db6
2023-01-11Fetch CM handles by collection of xpathsseanbeirne1-2/+2
- 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
2022-12-23Organize performance testToineSiebelink2-15/+43
- Separated CpsPathUtil performance tests in dedicated file - Used smaller sample to speed up CpsPathUtil test - Increased margin on CpsModuleReferenceRepository performance test to rpevent accidental failures - Added profiles to cps path parser module - Use Regex to include any (future) perforamcne test using same naming Issue-ID: CPS-1421 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I9da1614b6f067e946a4f088c6417479fa6c71988
2022-12-22Merge "Temp Table Creation improvements"Toine Siebelink1-4/+4
2022-12-22Temp Table Creation improvementsToineSiebelink1-4/+4
- 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-22Merge "Add fix for posting nodes with xPath with '/'"Toine Siebelink4-4/+35
2022-12-22Add fix for posting nodes with xPath with '/'emaclee4-4/+35
- 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-21CpsPath Query OptimizationToineSiebelink1-0/+1
- Optimized CpsPathqueries with descendants that only care about the xpath (no attribuets checks) - Use native query with regular expression for target xpath and descendants - Refactored so existing sql-geneartion code can be re-used in different repository implementations - Adjusted related performance test expectations Issue-ID: CPS-1421 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I3a807a14478c4b3272a5335d31c9aa3615eb2bee
2022-12-20Check preformance impactsToineSiebelink1-0/+14
-Added a basic perf. test to process 200K CPS paths using parser Issue-ID: CPS-1409 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Ibf8aed53506d28ba08f7166a44bd6fe9aefa5952
2022-12-19Fix Delete uses case with '/' in pathToineSiebelink5-5/+109
-Extend and use cpsPath parser (util) classes instead of regex Issue-ID: CPS-1409 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I230c9eb71cc34264983830b39149511b95c4b4a6
2022-04-25Fix Absolute Path to list with Integer/String keyLathish6-53/+275
- Introduced normalizedXpath to normalize the xpath and cpspath - Introduced normalizedAncestorpath to normalize the ancestor path in xpath and cpspath - Added new condition in the ANTLR Grammar to capture the invalid path in the xpath - Introduced PathParsingException to replace the IllegalStateException Issue-ID: CPS-961 Change-Id: Ie10f5c6cfc466387e79eec184b933297d1d79587 Signed-off-by: Lathish <lathishbabu.ganesan@est.tech>
2021-07-20Support text() conditionToineSiebelink5-94/+120
- Added Antlr parsing of text() condition (as an optional additional to any query) - Implemented text-condition combined with descendants - Refactor descendants queries into using one more flexible Custom (native) Query builder - Refactor ALL cpsPath queries to now use FragmentRepositoryCpsPathQuery (custom query builder) - Refactor Antrl code to simply parsing of cpsPath and allow all combinations (no more query types, addresses CPS-436) - Minor clean up of some minor convention issues in CpsAdminServiceImplSpec.groovy (found during groovy demo) - Update .rst documentation of xPaths - Fixed incorrect matching of additional list indexes using more precise SIMILAR-TO regex in postgreSQL - Documented special chararter limitation (CPS-500) - Checked for consistent use of term 'CPS path' in documentation and error message - Included (updated) copyright in all .SQL test files Issue-ID: CPS-452 Issue-ID: CPS-436 Issue-ID: CPS-500 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: If422d25cafd2850d25c9a28dea16ba7a5f93dddb
2021-07-13Editing of Nordix Licenses to ONAP guidelineslukegleeson5-4/+9
Issue-ID: CPS-489 Signed-off-by: lukegleeson <luke.gleeson@est.tech> Change-Id: I415534515b3d8325f41d5dc1d02c6e0ae70c6cf1
2021-06-03Improve error handling on unexpected 'postfix'ToineSiebelink3-1/+10
Issue-ID: CPS-450 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: Ia8be460f4235f7f0c24498f861dbe42137111772
2021-06-01Fix last SQ violationToineSiebelink2-2/+2
Issue-ID: CPS-89 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech> Change-Id: I9621a60e89574bbb8b222b7342c5d387c302afdb
2021-06-01Introducing Antlr4 for cpsPath parsingToineSiebelink5-0/+472
-created new module for cpPathParser -added antlr rule for cpsPathWithSingleLeafCondition -added antlr rule for cpsPathWithDescendant (and with leaf conditions) -added antlr rule for ancestor axis -added unit test (copied from existing CpsPathQuerySpec) -udpated cps-ri to use new cpPathQuery from parser module -'imported' lexer rules from publix xPath grammar -Re-used existing CpsPathException but conversion happens in cps-ri to prevent additional dependency in cps-path-parser module Issue-ID: CPS-376 Change-Id: I2c5df98969402cbf69f6573c52705879450ce606 Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>