[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:

  • Rest API doesn't seem to offer access to the public URLs of an asset (Celum ticket PS-11137)
    Feedback from support : 
    This function is not available yet in Rest API and it is planned in CH version 23.12
    Sadly, I do not have an exact date for when this version will be available.

 



 Comments   
Comment by Raphael Falvo [ 18/Aug/23 ]

On hold until Celum version 23.12 is available

Generated at Sun Feb 11 23:58:35 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.