package fr.openwide.maven.artifact.notifier.web.application.common.component;
import java.util.Date;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.ResourceModel;
import org.springframework.util.StringUtils;
import fr.openwide.core.wicket.more.markup.html.basic.DateLabel;
import fr.openwide.core.wicket.more.util.IDatePattern;
public class DateLabelWithPlaceholder extends DateLabel {
private static final long serialVersionUID = 7214422620839758144L;
private static final ResourceModel DEFAULT_EMPTY_FIELD_MODEL = new ResourceModel("common.emptyField");
private IModel<Date> mainModel;
private IModel<String> placeholderModel;
public DateLabelWithPlaceholder(String id, IModel<Date> model, IDatePattern datePattern) {
this(id, model, datePattern, DEFAULT_EMPTY_FIELD_MODEL);
}
public DateLabelWithPlaceholder(String id, IModel<Date> dateModel, IDatePattern datePattern, IModel<String> placeholderModel) {
super(id, dateModel, datePattern);
this.mainModel = dateModel;
this.placeholderModel = placeholderModel;
}
@Override
protected void onConfigure() {
super.onConfigure();
if (StringUtils.hasText(getDefaultModelObjectAsString(getMainModelObject()))) {
setDefaultModel(mainModel);
} else {
setDefaultModel(placeholderModel);
}
}
public Date getMainModelObject() {
if (mainModel != null) {
return mainModel.getObject();
}
return null;
}
}