View Javadoc
1   package com.acumenvelocity.ath.steps;
2   
3   import net.sf.okapi.common.Event;
4   import net.sf.okapi.common.pipeline.BasePipelineStep;
5   import net.sf.okapi.common.resource.ITextUnit;
6   import net.sf.okapi.common.resource.TextContainer;
7   import net.sf.okapi.common.resource.TextUnitUtil;
8   
9   public class SegmentTrimmerStep extends BasePipelineStep {
10  
11    @Override
12    protected Event handleTextUnit(Event event) {
13      ITextUnit tu = event.getTextUnit();
14  
15      if (tu.isTranslatable()) {
16        TextUnitUtil.trimSegments(tu.getSource());
17  
18        TextContainer target = tu.getTarget(getTargetLocale());
19  
20        if (target != null) {
21          TextUnitUtil.trimSegments(target);
22        }
23      }
24  
25      return super.handleTextUnit(event);
26    }
27  
28    @Override
29    public String getName() {
30      return "Segment Trimmer Step";
31    }
32  
33    @Override
34    public String getDescription() {
35      return "Trims source and target segments of a TextUnit that contains leading or trailing "
36          + "whitespaces. Removed whitespaces are placed in newly created whitespace-only TextParts "
37          + "before and after the trimmed segment.";
38    }
39  }