On Feb 14, 2013, at 3:43 PM, "Masanz, James J." <[email protected]> wrote:
> I'm not familiar with  the decisions behind ProcedureMethod, but modeling 
> after this fragment of code
> 
>      } else if ("method_class".equals(annotation.type)) {
>        String code = stringSlots.remove("associatedCode");
>        ProcedureMethod method = new ProcedureMethod(jCas);
>        method.setValue(code);
>        ProcedureMethodModifier modifier = new ProcedureMethodModifier(jCas, 
> coveringSpan.begin, coveringSpan.end);
>        modifier.setNormalizedForm(method);
> 
> I would have picked (2)

Presumably if we pick (2), then we should also remove the .setValue methods 
from the Modifiers?

> I'm also a little nervous about (3).
> 
> Hopefully someone else will chime in.

Yeah, hopefully. =)

Steve

> 
> -- James
> 
> 
> 
>> -----Original Message-----
>> From: ctakes-dev-return-1206-Masanz.James=mayo....@incubator.apache.org
>> [mailto:ctakes-dev-return-1206-Masanz.James=mayo....@incubator.apache.org]
>> On Behalf Of Steven Bethard
>> Sent: Thursday, February 14, 2013 2:27 PM
>> To: [email protected]
>> Subject: SHARPKnowtatorXMLReader and new type system
>> 
>> I was looking again at SHARPKnowtatorXMLReader, and I have some questions
>> about how annotations should be loaded now that we have things like
>> BodyLateralityModifier, ProcedureMethodModifier, etc. in the type system.
>> 
>> Specifically, what should we be doing with the normalized form?
>> 
>> Take for example, procedure methods. In the annotations, each
>> "method_class" (procedure method) has an "associatedCode" string
>> attribute. Should SHARPKnowtatorXMLReader
>> 
>> (1) Just set the associated code on the modifier directly:
>> 
>>        String code = stringSlots.remove("associatedCode");
>>        ProcedureMethodModifier modifier = new
>> ProcedureMethodModifier(jCas, coveringSpan.begin, coveringSpan.end);
>>        modifier.setValue(code);
>> 
>> (2) Create an appropriate Attribute subclass, set the associated code
>> there, and set the Attribute as the modifier's normalized form:
>> 
>>        String code = stringSlots.remove("associatedCode");
>>        ProcedureMethodModifier modifier = new
>> ProcedureMethodModifier(jCas, coveringSpan.begin, coveringSpan.end);
>>        ProcedureMethod method = new ProcedureMethod(jCas);
>>        method.setValue(code);
>>        modifier.setNormalizedForm(method);
>> 
>> (3) Both?
>> 
>>        String code = stringSlots.remove("associatedCode");
>>        ProcedureMethodModifier modifier = new
>> ProcedureMethodModifier(jCas, coveringSpan.begin, coveringSpan.end);
>>        modifier.setValue(code);
>>        ProcedureMethod method = new ProcedureMethod(jCas);
>>        method.setValue(code);
>>        modifier.setNormalizedForm(method);
>> 
>> I lean towards (3), but the duplication makes me a little nervous, like
>> maybe I'm doing something wrong.
>> 
>> Steve
> 

Reply via email to