[ https://issues.apache.org/jira/browse/UIMA-5662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16293726#comment-16293726 ]
Richard Eckart de Castilho commented on UIMA-5662: -------------------------------------------------- Well, that was wishful thinking ;) But with a lambda, you can do almost the same - except that exception handling is more problematic. {noformat} cas.withFsMapping(() -> { deserialize(stream ,cas); }); {noformat} Anyway, I think I was just getting carried away with syntactic sugar. Having the methods on the LowLevelCas makes sense. All the methods there seem to start with "ll_", so how about: {noformat} LowLevelCAS.ll_setGetFSForRefEnabled(boolean) LowLevelCAS.ll_isGetFSForRefEnabled(); {noformat} This would facilitate writing code that restores the flag after an operation and would remove the potential need to do call-counting and maintaining an internal stack of states for this flag. {noformat} boolean enabled = llcas.ll_isGetFSForRefEnabled(); try { llcas.ll_setGetFSForRefEnabled(true); } finally { llcas.ll_setGetFSForRefEnabled(enabled); } {noformat} > uv3 support CAS deserialization subsequent low level access > ----------------------------------------------------------- > > Key: UIMA-5662 > URL: https://issues.apache.org/jira/browse/UIMA-5662 > Project: UIMA > Issue Type: Improvement > Components: Core Java Framework > Affects Versions: 3.0.0SDK-beta > Reporter: Marshall Schor > Assignee: Marshall Schor > Priority: Minor > Fix For: 3.0.0SDK > > > Some users depend 1) constant v2-ids for FSs preserved in deserialization and > serialization, and 2) low level cas API access to these. > V3 normally doesn't maintain tables linking ids to FSs, as these (unless weak > refs are used) prevent GC of unreachable FSs. > Based on a mode, set by -Duima.deserialize_perserve_ids, and also > controllable by new config option per deserialize call, alter the > deserialization for those deserializers which know about v2 ids, to put these > into the map used for low-level CAS access, using the actual v2 ids, and > change the v3 next available id for future new FSs to be 1 beyond the end. > The -Duima.deserialize-preserve_ids global setting is needed to handle the > use case of some annotators using low-level APIs, when part of a pipeline is > "remoted". -- This message was sent by Atlassian JIRA (v6.4.14#64029)