Can you check if the following code in TextRulerAnnotation (constructor)
is used:

if (consideredFeatures != null) {
      for (String string : consideredFeatures) {
        Feature feature = afs.getType().getFeatureByBaseName(string);
        if (feature != null && feature.getRange().isPrimitive()) {
          String valueAsString = afs.getFeatureValueAsString(feature);
         
if(feature.getRange().getName().equals(UIMAConstants.TYPE_STRING)) {
            valueAsString = "\""+valueAsString+"\"";
          }
          featureMap.put(string, valueAsString);
        }
      }
    }

Here, the features values are stored in the map.


On 10.06.2013 12:48, Sondes Bannour wrote:
> I already added this code but i think the problem is here:
>
> List<TextRulerSlotPattern> patterns = rule.getPatterns();
>         for (TextRulerSlotPattern eachPattern : patterns) {
>           for (TextRulerRuleItem item : eachPattern.fillerPattern) {
>             if (item instanceof WhiskRuleItem) {
>               WhiskRuleItem wri = (WhiskRuleItem) item;
>               WhiskRule proposedRule = rule;
>               TextRulerWordConstraint wordConstraint =
> wri.getWordConstraint();
>               for (String eachFeature : consideredFeatures) {
>                 if (wordConstraint != null) {
>                  * Map<String, String> featureMap =
> wordConstraint.getTokenAnnotation().getFeatureMap();*
>                   String stringValue = featureMap.get(eachFeature);
>                   if (stringValue != null &&
> !wri.getActivatedFeatures().contains(eachFeature)) {
>                     wri.activateFeature(eachFeature);
>                     WhiskRule proposedRuleF = proposedRule.copy();
>                     wri.deactivateFeature(eachFeature);
>                     proposedRuleF.setNeedsCompile(true);
>                     if (!rulesToTest.contains(proposedRuleF)) {
>                       rulesToTest.add(proposedRuleF);
>                     }
>                   }
>                 }
>               }
>
> this featureMap is always empty.
>
> Best,
> Sondes
>

Reply via email to