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 }