start = start.without(MONTH_TYPE);
}
}
- String strStart = start != null ? start.toString(formatter): null;
- String strEnd = end != null ? end.toString(formatter): null;
+ @SuppressWarnings("null")
+ String strStart = isNotEmpty(start) ? start.toString(formatter): null;
+ @SuppressWarnings("null")
+ String strEnd = isNotEmpty(end) ? end.toString(formatter): null;
result = CdmUtils.concat(TimePeriod.SEP, strStart, strEnd);
}
return result;
}
+ private boolean isNotEmpty(Partial partial) {
+ return partial != null && partial.getFields().length>0;
+ }
+
public String getYear(TimePeriod tp){
String result = "";
if (tp.getStartYear() != null){
public class TimePeriodFormatterTest {
private TimePeriodFormatter formatter;
+ private String endash = UTF8.EN_DASH.toString();
@Before
public void setUp() throws Exception {
@Test
public void test() {
- String endash = UTF8.EN_DASH.toString();
TimePeriod tp1 = TimePeriod.NewInstance(1788,1799);
assertNotNull(tp1);
Assert.assertEquals("1788"+endash+"1799", formatter.format(tp1));
}
+ @Test
+ public void testEmptyEnd() {
+ TimePeriod tp1 = TimePeriod.NewInstance(1788,1799);
+ assertNotNull(tp1);
+ Assert.assertEquals("1788"+endash+"1799", formatter.format(tp1));
+ tp1.setEndYear(null);
+ Assert.assertEquals("1788", formatter.format(tp1));
+ tp1.setEndYear(1799);
+ tp1.setStartYear(null);
+ Assert.assertEquals("1799", formatter.format(tp1));
+ }
}