package com.processpuzzle.fitnesse.fundamental_types; import java.text.DateFormat; import java.util.Calendar; import com.processpuzzle.application.configuration.domain.InternalizationContext; import com.processpuzzle.fundamental_types.domain.TimePoint; import com.processpuzzle.user_session.domain.UserRequestManager; import fit.ColumnFixture; public class CalculateFormattedString extends ColumnFixture{ public String source; public String day; public String month; public String year; public String hour; public String minute; public String sec; public String msec; public String style; private InternalizationContext internalizationContext = null; Calendar cal; public CalculateFormattedString(){ internalizationContext = UserRequestManager.getInstance().getApplicationContext().getInternalizationContext(); cal=Calendar.getInstance(); cal.setLenient(false); } public String string() { String[] styles=style.split(","); TimePoint t; try { int y = Integer.parseInt(year); int m = Integer.parseInt(month); int d = Integer.parseInt(day); int h = Integer.parseInt(hour); int min = Integer.parseInt(minute); int sec = Integer.parseInt(this.sec); int msec = Integer.parseInt(this.msec); t=new TimePoint(y,m,d,h,min,sec,msec); if (styles.length > 1) { return t.format( internalizationContext.findLocaleByLanguageAndCountry("en", "US"),getStyle(styles[0]),getStyle(styles[1])); } else { return t.format( internalizationContext.findLocaleByLanguageAndCountry("en", "US"),getStyle(styles[0])); } } catch (NumberFormatException e) { System.out.println("There is shit in the pancake."); } return null; } private int getStyle(String str){ if (str.equals("short")){ return DateFormat.SHORT; } if (str.equals("medium")){ return DateFormat.MEDIUM; } if (str.equals("long")){ return DateFormat.LONG; } if (str.equals("full")){ return DateFormat.FULL; } return 0; } }