-
Type: Sub-task
-
Status: Resolved
-
Priority: Minor
-
Resolution: Duplicate
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Automation
-
Tags:
The current Properties (org.nuxeo.ecm.automation.core.util.Properties) class in Automation only handles <String, String>.
We need a "Properties" class that can handle the more generic <String, Object>.
This is useful when executing a chain or operation directly from Java code (without using client - server).
For instance, in the DAM bulk import process, I don't want to serialize all the filled metadata to JSON, to match <String, String>, and then to deserialize them to Object...
What can be done:
- introduce a new interface extending Map<String, Object>
- add an implementation extending HashMap<String, Object>
- update all Nuxeo operations using Properties to use this new interface/implementation
- do the conversion Properties => TheNewPropertiesClass when binding a parameter of type TheNewPropertiesClass, if the given value is a Properties (=> backward compatibility)
- deprecate Properties
=> Instead of dealing with String value from the Properties object, we will have to deal with Object in the operations, but at least we will be available to pass any Object we want and not just String...
- depends on
-
NXP-11743 Add DataModelProperties
- Resolved