Adam Lally (JIRA) wrote:
[ https://issues.apache.org/jira/browse/UIMA-402?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12501723 ]
Adam Lally commented on UIMA-402:
---------------------------------
Marshall wrote (on uima-dev):
Basic thought: if the user of the CDE sets it up so the soap axis jars
are available (is there a way to do that?), then things would work nicely.
The jars would have to be listed in the uima runtime plugin manifest. So
unless we wanted to ship the plugin with extra entries in its manifest, this
would require the user editing the manifest file which is pretty ugly. Or is
there another way?
The CDE has several places where it attempts to get remote metadata. It
is designed in such a way as to be able to proceed if the remote isn't
available (e.g., it isn't started, or in this case, there are jar files
missing).
Maybe the best thing would be to have
mergeDelegateAnalysisEngineTypeSystems try to contact remote services,
succeed where it can, and when it cannot, to skip just those that can't
be contacted, for whatever reason (service isn't running, or JARs needed
are missing). Of course, you would not want this behavior for actually
running - so another argument might be needed to control this. And, the
CDE would like to know if any remotes could not be contacted - I'm
thinking it should pop up a warning message in this case, saying that
the fully-merged type system may be missing some types.
OK, makes sense... so shall I add define yet another version of
mergeDelegateAnalysisEngienTypeSystems (there are already 3)?
It could be:
public static TypeSystemDescription mergeDelegateAnalysisEngineTypeSystems(
AnalysisEngineDescription aAggregateDescription, ResourceManager
aResourceManager,
Map aOutputMergedTypes, Collection aOutputFailedRemotes);
The method would add an entry to aOutputFailedRemotes for each remote delegate
that could not be contacted.
Agree
Sounds good to me and if possible we should add that to 2.2
-- Michael