[CELUM-52] Migration from Java SDK to Rest API Created: 14/Aug/23 Updated: 18/Aug/23 |
|
| Status: | Open |
| Project: | Celum DAM Connector |
| Component/s: | None |
| Affects Version/s: | 1.0.4 |
| Fix Version/s: | 2.0.0 |
| Type: | Task | Priority: | Neutral |
| Reporter: | Raphael Falvo | Assignee: | Raphael Falvo |
| Resolution: | Unresolved | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Template: |
|
| Acceptance criteria: |
Empty
|
| Task DoR: |
Empty
|
| Description |
|
Celum Java SDK will be sunset end of 2024, and we are already facing issues with recent version of Celum where it's not behaving properly anymore, getting errors like below: Exception in thread "main" com.celum.api.remote.json.SerializationException: com.fasterxml.jackson.databind.exc.InvalidTypeIdException: Could not resolve subtype of [simple type, class com.celum.api.queries.sorters.AssetSorter]: missing type id property '_class' (for POJO property 'sorter') at [Source: (String)"{"query":{"_class":"com.celum.api.queries.AssetSearchQuery","credentials":{"userId":{"_class":"com.celum.api.identifiers.UserId","id":102,"isSystem":false}},"informationFieldIds":[],"loadAllInformationFields":true,"loadFileProperties":true,"filter":{"_class":"com.celum.api.serialization.filters.AssetsByNodeFilter","nodeIds":[{"_class":"com.celum.api.identifiers.NodeId","id":10051}],"recursive":true,"useAndOperator":true},"sorter":{"empty":true,"present":false}},"batchNumber":1,"batchSize":200}"; line: 1, column: 464] (through reference chain: com.celum.api.remote.query.RemoteIterableQueryMessage["query"]->com.celum.api.queries.AssetSearchQuery["sorter"]) at com.celum.api.remote.json.JsonHelper.fromJson(JsonHelper.java:60) at com.celum.api.remote.vertx.ApiMessageHelper.createObjectFromPayload(ApiMessageHelper.java:19) at com.celum.api.endpoint.RepositoryVerticle.lambda$handleMessage$14(RepositoryVerticle.java:166) at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$2(ContextImpl.java:313) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.lang.Thread.run(Thread.java:829) We need to change the service layer by removing the current celum java remote api and introducing the new rest service provided by Celum.
UPDATE on the above issue : can be fix by activating the backward compatibility on Celum server (Celum ticket PS-11136) this issue was fixed by enabling backward compatibility. See: https://community.celum.com/kb/display/CS/Fixed+and+Known+Issues+for+Release+22.9 The fix is by default disabled. Please set the following property as JVM property in the setenv.sh file:
compatibility.jackson.deserializer.enabled=true
and restart the appserver. It should fix the issue.
So if the compatibility works it will let us more time to migrate to the new Rest API, especially considering that identified blockers below might prevent us to migrate.
Resources: https://www.celum.com/en/blog/new-rest-api-reduces-complexity-and-cost-for-you/ https://community.celum.com/kb/display/CS/CELUM+Content+REST+API
Identified blockers:
|
| Comments |
| Comment by Raphael Falvo [ 18/Aug/23 ] |
|
On hold until Celum version 23.12 is available |