/*
* Copyright (c) 2014 BISON Schweiz AG, All Rights Reserved.
*/
package to.rtc.rtc2jira.exporter.jira.entities;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.xml.bind.annotation.adapters.XmlAdapter;
/**
* Trend enum jaxb adapter
*
* @author gustaf.hansen
*/
public class JiraDateStringAdapter extends XmlAdapter<String, Date> {
// N.B. this works for timezones without a colon separating hours and minutes (e.g. +0200), which
// currently is the case with datetime strings in Jira
public static final SimpleDateFormat DATE_TIME_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
public static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");
@Override
public Date unmarshal(String dateAsString) throws Exception {
if (dateAsString.length() == 10) {
return DATE_FORMAT.parse(dateAsString);
} else {
return DATE_TIME_FORMAT.parse(dateAsString);
}
}
@Override
public String marshal(Date date) throws Exception {
return DATE_TIME_FORMAT.format(date);
}
}