Age | Commit message (Collapse) | Author | Files | Lines |
|
Here to bring Support for XML Response Entity In GET A NODE
- Made changes in components.yml to support contentType as
application/xml
- Add ContentTypeInheadr in cpsDataV2.yml to support application/xml
- Add contentTypeInHeader parameter to accept xml in
DataRestController.java
- Implemented Logic to convert DataMaps To XML Data
- written testcase for above changes made
Issue-ID: CPS-2280
Change-Id: Ibe7ffb66ccbb03703626132c6d5c2eade0e7ab4b
Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
|
|
Added support to validate JSON/XML data without the need of persisting
it in the databse.
- added "dryRunInQuery" flag as a new query parameter
- added new method as part of CpsDataService layer to perform data
validation
- added new method in yang parser "validateData" to validate
data without persisting it
Issue-ID: CPS-2361
Change-Id: I43dd33cc6120576d0fac606d5c4b0168d107311d
Signed-off-by: Arpit Singh <as00745003@techmahindra.com>
|
|
Instead of looking up same Anchor many times inside a for-loop,
do it once outside the loop.
This greatly improves performance in some cases, such as v2 GET API:
- /cps/api/v2/dataspaces/{dataspace}/anchors/{anchor}/node
Testing shows 3x faster response time.
Issue-ID: CPS-2417
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I80d97d8cc24372eed70626ed840cad985cbe0a4b
|
|
RFC 9144 recommends naming convention for operations that can be performed on any datastore.
The recommended names are:
- create
- remove
- replace
Whereas in CPS Delta feature these operaitions were named:
- add
- remove
- update
So, "add" and "update" operations have been changed to "create" and "replace" respectively.
Issue-ID: CPS-2393
Change-Id: Ie39f5f8ccc91e96cf484ca7fbc833a6be8758054
Signed-off-by: Arpit Singh <as00745003@techmahindra.com>
|
|
Refactoring of CPS delta APIs from two separate endpoints to a single endpoint.
- GET: /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/deltaAnchors
- POST: /v2/dataspaces/{dataspace-name}/anchors/{anchor-name}/deltaByPayload
To new endpoint can perform two operatios as follows:
- GET: /v2/dataspaces/{dataspace-name}/anchors/{source-anchor-name}/delta
- POST: /v2/dataspaces/{dataspace-name}/anchors/{source-anchor-name}/delta
Note: this patch only addresses the issue around refactoring of Delta
endpoint to a singular well defined endpoint. A separate patch will
be created to refactor the entire Delta feature out of CPS Data,
into a separate interface namely CPS Delta
Issue-ID: CPS-2310
Change-Id: Ic62c8308cf368b4378235597a11c476809a150b8
Signed-off-by: Arpit Singh <as00745003@techmahindra.com>
|
|
Issue-ID: CPS-2287
Change-Id: Ibb7ffb66ccbb03703266132c6d5c2eade0e7cb4a
Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
|
|
Issue-ID: CPS-2282
Change-Id: Ibb7ffb65ccbb03703266712c6d5c2eade0e7ab4b
Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
|
|
- Second API to get Delta between an anchor and JSON payload
- added new API getDeltaByDataspaceAnchorAndPayload
- added controller and service layer methods
getDeltaByDataspaceAnchorAndPayload
- Core Delta algorithm remains same as the first API.
getDeltaByDataspaceAnchorAndPayload will call getDeltaBetweenDataNodes
Issue-ID: CPS-1836
Signed-off-by: Arpit Singh <as00745003@techmahindra.com>
Change-Id: Id74cd930ce48e5cb414aa62c5381b79675788a37
|
|
Issue-ID: CPS-2071
Change-Id: Ibe7f59fbfcbb03703626132c6d5c2afde0e7ab4b
Signed-off-by: Rudrangi Anupriya <ra00745022@techmahindra.com>
|
|
- Splitting admin service into AnchorService and DataspaceService
(this resolves the cyclic dependency)
- Improved Delete dataspace integration error tests
(were depending on execution order, now independent)
Issue-ID: CPS-871
Change-Id: I47efedb6eb4bd2900f72d689616b7b7b62df2938
Signed-off-by: halil.cakal <halil.cakal@est.tech>
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
|
|
- 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
|
|
Add new test cases for missing branch covereage in Pagiantion API
- Added test cases in cps-rest to cover the scenario of missing
page index and missing page size
Issue-ID:CPS-1835
Change-ID: I73f97f986a817d423f93a8d922dcd9647b1108bc
Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
|
|
|
|
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>
|
|
-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>
|
|
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 test
- moved wrongly placed test (from MultipartFileUtilSpec to DataMapUtilsSpec)
- applied curent conventions to DataMapUtilsSpec
Issue-ID: CPS-475
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: Ie8dc7f6802bb6ff0a256dc05df73da6af75409f3
|
|
Issue-ID: CPS-1396
Change-ID: I73f97f986a817d423f93a8d922dcd9647b1412ab
Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
|
|
Issue-ID: CPS-475
Change-Id: I6c213090862b68ccf44fb95395c57c717f52a9b2
Signed-off-by: halil.cakal <halil.cakal@est.tech>
|
|
- 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
|
|
- add new test
- fixed misleading method names
Issue-ID: CPS-1480
Change-Id: I9dd8f41d0acfc8b1c063aab65567d619670f4905
Signed-off-by: halil.cakal <halil.cakal@est.tech>
|
|
- Add instrumentation related dependency
- Added Timed Instrumentation
- CPS-Service Crud methods
- CPS Yang parsing
- NCMP Registration methods
- NCMP Events handling
- Remove manual Gauge for YanResources Cache
as (better!) instrumentation is already built into the 3PP
- Sorted dependecies alphabetically (as we used to enforce, to prevent duplicates)
- Added ## P E R F O R M A N C E T E S T R E S U L T S ### mini report
- (unrelated) test improvement (because of bug that turned out to be invalid)
Reviewers: Sourabh,Priyank, Luke
Issue-ID: CPS-1457
Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Change-Id: I34b20bece2f59488b022b8effa9470704c57be4d
|
|
Issue-ID: CPS-1381
Change-ID: I73f97f986a817d423f93a8d922dcd9647b1206bb
Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
|
|
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>
|
|
Issue-ID: CPS-1189
Change-ID: I73f97f986a817d423f92f8d922dcd9647b1214aa
Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
|
|
Issue-ID: CPS-1187
Change-ID: I73f97f986a817d423f93a8d922dcd9647b0914aa
Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
|
|
Issue-ID: CPS-1186
Change-ID: I73f97f986a817d423f93a8d922dcd9647b0829aa
Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
|
|
Issue-ID: CPS-1289
Change-ID: I73f97f986a817d423f93a8d922dcd9647b1012aa
Signed-off-by: rajesh.kumar <rk00747546@techmahindra.com>
|
|
- 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
|
|
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
|
|
- 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>
|
|
Implementing additional regex validation for names/identifiers
in CPS
- Introduces a CpsValidator
- Applies to relevent java public API's
- Tests have been updated where necessary
Issue-ID: CPS-322
Change-Id: I29ab8820bb1fe0eee247e425d6bb018bcd38f28e
Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
|
|
- Removed Model Mapper from pom files
- Replaced ModelMapper with MapStruct
- Added Tests for MapStruct
- Changed mapstruct annotations for individual variables to be null safe rather than all variables
- Excluded generated code from code coverage
- Set ModuleReferences input to required for SchemaSet so that ModuleReferences list set to empty list rather than null
Issue-ID: CPS-127
Signed-off-by: lukegleeson <luke.gleeson@est.tech>
Change-Id: I43f874aea79f58dda5526c6fdead27d8474d90af
|
|
Issue-ID: CPS-865
Signed-off-by: puthuparambil.aditya <aditya.puthuparambil@bell.ca>
Change-Id: I60b1f9c94e79bdd66d60fe6a68f5fc4adc718d35
|
|
We introduced JsonObjectMapper (wapper) as Spring component.
Issue-ID: CPS-751
Change-Id: I536b0771a3a263325e6907717baf6941d70c0d6c
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
|
|
Issue-ID: CPS-831
Signed-off-by: sourabh_sourabh <sourabh.sourabh@est.tech>
Change-Id: If2f5f7034f05763990001c9dd8ccd9d8dc0099cf
|
|
1. Added examples for all parameters, request body and response body
2. Changed the response/request type to Object from String for all json objects
3. Passed json format data in all tests
4. PUT and PATCH operations at present return empty response, hence examples are changed to be in sync
Issue-ID: CPS-780
Signed-off-by: puthuparambil.aditya <aditya.puthuparambil@bell.ca>
Change-Id: If6dd5bb48df4e1bbf1026eaadf315df8f972e282
|
|
Issue-ID: CPS-314
Change-Id: I778e2b784c7b1ff3fecc1036425708dc4ec73227
Signed-off-by: niamhcore <niamh.core@est.tech>
|
|
Delete Datanode within CPS. Deprecates delete functionality of
/v1/dataspaces/{dataspace-name}/anchors/{anchor-name}/list-nodes.
New api is backwards compatible with this API
Issue-ID: CPS-313
Change-Id: I110c4ab1446e8a1399a0d9bf89c0be614a9104df
Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
|
|
Make sure code refers clearly to List (whole) nodes or List elements
incl. method names, parameter names, test descriptions etc.
Issue-ID: CPS-756
Change-Id: Ic9dae6565c0e84c1ba4c2d6e891d3ea307f589da
Signed-off-by: DylanB95EST <dylan.byrne@est.tech>
|
|
- added ncmp-enpoints to swagger-ui
- removed springfox dependencies
- removed Docket configuration as we are loading ui from openapi.yml
- removed endpoints which are not implemented
- Fixed ncmp basepath as per CPS-616
Issue-ID: CPS-601
Issue-ID: CPS-616
Signed-off-by: Renu Kumari <renu.kumari@bell.ca>
Change-Id: I03c7789f48a12d3ffd5fcb934d7ba6347d4044e4
|
|
- Changed the list-node interface to be consistent with datanode api
Issue-ID: CPS-598
Signed-off-by: Renu Kumari <renu.kumari@bell.ca>
Change-Id: Ic99828f1463e9a724244c05166e477581756f602
|
|
- Added optional query parameter in cps data endpoints
- Updated service layer and notification to use observedTimestamp
Note:
- NCMP REST endpoints are not updated as a part of this patch
- NCMP does not sent observed timestamp when using cps data services
Issue-ID: CPS-477
Signed-off-by: puthuparambil.aditya <aditya.puthuparambil@bell.ca>
Change-Id: I1f92da3da7b3a13c45405fdf44e5fef861991d9a
Signed-off-by: Renu Kumari <renu.kumari@bell.ca>
|
|
Issue-ID: CPS-361
Signed-off-by: lukegleeson <luke.gleeson@est.tech>
Change-Id: I5fb8d202fc0a65679d10377cc2959a7f8f854ca7
|
|
|
|
Issue-ID: CPS-560
Change-Id: I1c71270a8cde7e940c5af80bc743d0f01ab6b9bb
Signed-off-by: niamhcore <niamh.core@est.tech>
|
|
- Removed swagger annotations dependency as latest plugin generates
code using v3 annotations.
- updated the method signature as per the new generated code
- removed unnecessary mock springbeans from the WebMvcTest
Issue-ID: CPS-205
Change-Id: Ie7911d7389dca587bde945d913f458de46027e0f
Signed-off-by: JosephKeenan <joseph.keenan@est.tech>
|
|
Issue-ID: CPS-489
Signed-off-by: lukegleeson <luke.gleeson@est.tech>
Change-Id: I415534515b3d8325f41d5dc1d02c6e0ae70c6cf1
|
|
based on dataspace
-moved components from cpsAdmin.yml to components.yml
-refactored variable for anchor details list in AdminRestController.java
-reintrocuded paramter for anchorsByDataspace
-refactored variables in AdminRestController.java getAnchors() to be
more intuitive
-refactored AdminRestController.java to use modelmapper and removed
extra conversion code. Also modified AdminRestControllerSpec.groovy to
use ModelMapper as Spy rather than a Mock
-added responses for getAnchor & getSchemaSet
-added javadoc for AdminRestController.java public methods
-refactored schemaDetils pararmeter from dataSpasceName to name for
CSOT tests & added some code review comments
Issue-ID: CPS-429
Change-Id: I01d4113313c9a23d9a7e0e96e46b90f9ac767f24
Signed-off-by: JosephKeenan <joseph.keenan@est.tech>
|