package quickml.data; import org.joda.time.DateTime; import quickml.data.instances.ClassifierInstance; import quickml.data.instances.InstanceWithAttributesMap; import quickml.supervised.crossValidation.utils.DateTimeExtractor; public class OnespotDateTimeExtractor<T extends InstanceWithAttributesMap> implements DateTimeExtractor<T> { @Override public DateTime extractDateTime(T instance) { int year = attrVal(instance, "timeOfArrival-year"); int month = attrVal(instance,"timeOfArrival-monthOfYear"); int day = attrVal(instance,"timeOfArrival-dayOfMonth"); int hour = attrVal(instance, "timeOfArrival-hourOfDay"); int minute = attrVal(instance, "timeOfArrival-minuteOfHour"); return new DateTime(year, month, day, hour, minute, 0, 0); } private int attrVal(T instance, String attrName) { return instance.getAttributes().containsKey(attrName) ? ((Number) instance.getAttributes().get(attrName)).intValue() : 1 ; } }