Subject: UIMA-AS Client API Change Discussion


The UimaAsynchronousEngine interface has only two sendAndReceive() methods.

There was only one change made to the sendXXX API since UIMA-AS inception.
The
change under discussion here would be the second one.

The sendCAS ( CAS cas, Map options )  has an advantage of keeping the API
simple and extensible but it kinda hides the parameters. The user must
lookup
documentation to discover what options are available and how to use them
sync or async, target or not, etc.
Granted, the UIMA-AS initialize(Map options) uses this style already :)

This new method will create ambiguity since:

sendAndReceiveCAS(CAS cas, List<AnalysisEnginePerformanceMetrics>
componentMetricsList)

and

Map<String, Object> options = new HashMap<String,Object>();
options.put(MODE,SYNCHRONOUS );
options.put(METRICS, new ArrayList<AnalysisEnginePerformanceMetrics>());
sendCAS(cas, options);

are equivalent, and the second one being quite verbose.

What should we say in the documentation?  Which style should the user use?
Perhaps we can say that
the new code should use sendCAS(cas, options) since it is more extensible
and ready for future changes
to this API

Jerry
On Tue, Dec 12, 2017 at 2:15 PM, Burn Lewis <[EMAIL PROTECTED]> wrote: