package eu.dnetlib.data.function;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

import com.google.common.base.Function;

public class DateSwitch implements Function<String, String> {
	
	private SimpleDateFormat sf = new SimpleDateFormat("dd/MM/yyyy");
	
	@Override
	public String apply(String s) {
		try {
			Calendar c = Calendar.getInstance();
			c.setTime(sf.parse(s));
			
			int month = c.get(Calendar.MONTH);
			int day = c.get(Calendar.DAY_OF_MONTH);
			
			if (day < 12) {
				c.set(Calendar.MONTH, day - 1);
				c.set(Calendar.DAY_OF_MONTH, month + 1);
			}				
				
			return sf.format(c.getTime());
		
		} catch (ParseException e) {
			return s;
		}
	}

}
