in streampipes-extensions/streampipes-processors-transformation-jvm/src/main/java/org/apache/streampipes/processors/transformation/jvm/processor/timestampextractor/TimestampExtractorProcessor.java [133:189]
public void onEvent(Event event, SpOutputCollector collector) throws SpRuntimeException {
Long timestamp = event.getFieldBySelector(timestampField).getAsPrimitive().getAsLong();
Calendar calendar = Calendar.getInstance();
calendar.setTime(new Date(timestamp));
for (String field : outputFields) {
if (field.equals(OutputFields.YEAR.toString())) {
event.addField("timestampYear", calendar.get(Calendar.YEAR));
}
if (field.equals(OutputFields.MONTH.toString())) {
event.addField("timestampMonth", calendar.get(Calendar.MONTH) + 1);
}
if (field.equals(OutputFields.DAY.toString())) {
event.addField("timestampDay", calendar.get(Calendar.DAY_OF_MONTH));
}
if (field.equals(OutputFields.HOUR.toString())) {
event.addField("timestampHour", calendar.get(Calendar.HOUR_OF_DAY));
}
if (field.equals(OutputFields.MINUTE.toString())) {
event.addField("timestampMinute", calendar.get(Calendar.MINUTE));
}
if (field.equals(OutputFields.SECOND.toString())) {
event.addField("timestampSecond", calendar.get(Calendar.SECOND));
}
if (field.equals(OutputFields.WEEKDAY.toString())) {
int day = calendar.get(Calendar.DAY_OF_WEEK);
String dayString = "";
switch (day) {
case Calendar.MONDAY:
dayString = "Monday";
break;
case Calendar.TUESDAY:
dayString = "Tuesday";
break;
case Calendar.WEDNESDAY:
dayString = "Wednesday";
break;
case Calendar.THURSDAY:
dayString = "Thursday";
break;
case Calendar.FRIDAY:
dayString = "Friday";
break;
case Calendar.SATURDAY:
dayString = "Saturday";
break;
case Calendar.SUNDAY:
dayString = "Sunday";
break;
}
event.addField("timestampWeekday", dayString);
}
}
collector.collect(event);
}