package fr.openwide.core.wicket.more.export.util; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.wicket.Application; import org.apache.wicket.model.AbstractReadOnlyModel; import org.apache.wicket.model.IModel; import fr.openwide.core.commons.util.mime.MediaType; import fr.openwide.core.wicket.more.model.BindingModel; import fr.openwide.core.wicket.more.util.binding.CoreWicketMoreBindings; public class ExportFileUtils { public static final String FILE_NAME_DATE_PATTERN_KEY = "common.action.export.file.datePattern"; public static IModel<String> getFileNameMediaTypeModel(IModel<String> fileNamePrefixModel, IModel<MediaType> mediaTypeModel) { return getFileNameExtensionModel(fileNamePrefixModel, BindingModel.of(mediaTypeModel, CoreWicketMoreBindings.mediaType().extension())); } public static IModel<String> getFileNameExtensionModel(final IModel<String> fileNamePrefixModel, final IModel<String> extensionModel) { return new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { return new StringBuilder(fileNamePrefixModel.getObject()) .append(new SimpleDateFormat(Application.get().getResourceSettings().getLocalizer().getString(FILE_NAME_DATE_PATTERN_KEY, null)).format(new Date())) .append(".") .append(extensionModel.getObject()) .toString(); } }; } private ExportFileUtils() { } }