I think what would work for us would be two methods like this:

  public FeatureStructure getCopy(FeatureStructure aFS) {
      int addr = mFsMap.get(originalSrcCas.getLowLevelCAS().ll_getFSRef(aFS));
      return addr != 0 ? originalTgtCas.getLowLevelCAS().ll_getFSForRef(addr) : 
null;
  }

  public int getCopy(int aFS) {
      return mFsMap.get(aFS);
  }

Since we also have two variants of the alreadyCopied() method, I don't think 
the two methods above expose significantly more of the internal structure:

  public boolean alreadyCopied(FeatureStructure aFS) {
  public boolean alreadyCopied(int aFS) {

I don't mind doing the indexing externally as long as there is some way of 
figuring out what is the copied FS given an original FS.

Cheers,

-- Richard

> On 02.03.2016, at 23:55, Marshall Schor <[email protected]> wrote:
> 
> As an alternative to exposing internals, we could add some method(s) or
> modifiers to existing methods to the cas copier for doing one-by-one copying. 
> One modifier might index "all" copied FSs (including the one copied); another
> might index just those FSes which are indexed in the "from" view. 
> 
> Another thing to note is that FSes are indexed with respect to a particular
> view, so this additional capability would index FSs in the view being copied 
> to.
> 
> -Marshall
> 
> 
> On 3/2/2016 5:00 PM, Richard Eckart de Castilho wrote:
>> Hi,
>> 
>> we think we have a case in DKPro Core where we need to know the FSes that 
>> are transitively copied by CasCopier.
>> 
>> We have an FS that references other FSes. When we copy the initial FS, 
>> CasCopier also copies all the transitively referenced FSes - but it does not 
>> index them in the new CAS. The call we use is:
>> 
>>  FeatureStructure fsCopy = cc.copyFs(fs);
>> 
>> We collect all the copies and later index the, but we have no idea about the 
>> transitively references FSes and fail to index those.
>> 
>> I imagine what we would need is either access to the private mFsMap in 
>> CasCopier or that cc.copyFS(fs) returns a list/set of FSes or some 
>> alternative solution.
>> 
>> Any comments or insights how to index transitively references FSes when 
>> doing a one-by-one copy would be appreciated.
>> 
>> Cheers,
>> 
>> -- Richard
> 

Reply via email to