The JADE 2022 release meets tomorrow’s business demands.
Some external process arguments require full path file locations that can be greater than 100 characters long (StringArray entry limit); Having the "args" parameter as a HugeStringArray would address this limitation.
@BeeJay Thanks for the suggestion. I did in the end use the subclass Array (specifying the new Array max length field) and it worked perfectly.
As for the Jade 2020 upgrade, it is out of my hands as to when the system is going to be upgraded.
I did think prior to this post that the ramification of such a change would break previous implementations of this method call and hence the reluctance to make the change I proposed.
@John I too have just used the command string in previous uses of the method. Cheers.
You can also avoid the restriction by using the "command" String parameter instead of the "args" array parameter. I normally just use the command string as it's easier than breaking it all up into an array.
I think there are a number of issues with this suggestion:
Changing the parameter type to HugeStringArray would break all existing apps which are using Node::createExternalProcess as HugeStringArray doesn't inherit from StringArray.
You can already pass in a variable which is an instance of your own subclass of StringArray which has a larger max length. eg: We have a StringArray500, with max length of 500 characters, which we use for some calls to Node::createExternalProcess where the default length was insufficient.
It may also be a moot point anyway with the JADE 2020 change to make the native StringArray variable length. Effectively you are no longer limited in the length of strings you add to a StringArray instance, removing the need to create your own subclasses of StringArray with longer max lengths.
Note: I'm planning to review usage of our subclasses of StringArray to see if we no longer require them, at least in transient instances, as there are probably memory use advantages to using the new 'variable length' native StringArray class..