Seems to work :)

-- Richard

> On 03.03.2016, at 12:35, Richard Eckart de Castilho <[email protected]> wrote:
> 
> Actually, I just figured out that copyFS() apparently does
> 
> 1) not make duplicate copies
> 2) returns the copy of an FS even if it was created as a transitive operation 
> (i.e. it does not return null in case an FS had already been copied as part 
> of a previous operation)
> 
> That would actually be sufficient and we'll test that now.
> 
> Cheers,
> 
> -- Richard
> 
>> On 03.03.2016, at 00:02, Richard Eckart de Castilho <[email protected]> wrote:
>> 
>> 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