the problem was the get method in the panel, not the form! lol refactored now and now it works

This commit is contained in:
fred-fri 2012-05-30 16:28:29 +09:00
parent 9c40337e93
commit 817d7f4c32
2 changed files with 7 additions and 25 deletions
src/main/java/se/su/dsv/scipro
reusable
springdata/serviceimpls

@ -24,10 +24,10 @@ public abstract class DatesPanel extends Panel {
} }
public Date getFromDate(){ public Date getFromDate(){
return filterForm.fromDate; return filterForm.dateFrom.getModelObject();
} }
public Date getToDate(){ public Date getToDate(){
return filterForm.toDate; return filterForm.dateTo.getModelObject();
} }
/** /**
@ -39,31 +39,25 @@ public abstract class DatesPanel extends Panel {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private transient Date fromDate;
private transient Date toDate;
private DateField dateFrom; private DateField dateFrom;
private DateField dateTo; private DateField dateTo;
private Model<Date> dateFromModel;
private Model<Date> dateToModel;
public FilterForm(String id) { public FilterForm(String id) {
super(id); super(id);
Calendar cal = Calendar.getInstance(); Calendar cal = Calendar.getInstance();
toDate = cal.getTime(); Date toDate = cal.getTime();
cal.add(Calendar.MONTH, -6); cal.add(Calendar.MONTH, -6);
fromDate = cal.getTime(); Date fromDate = cal.getTime();
dateFrom = new DateField("dateFrom", dateFromModel = new Model<Date>(fromDate)){ dateFrom = new DateField("dateFrom", new Model<Date>(fromDate)){
@Override @Override
protected DateTextField newDateTextField(String id, PropertyModel dateFieldModel) { protected DateTextField newDateTextField(String id, PropertyModel dateFieldModel) {
return DateTextField.forDatePattern(id, dateFieldModel, "yyyy-MM-dd"); return DateTextField.forDatePattern(id, dateFieldModel, "yyyy-MM-dd");
} }
}; };
dateTo = new DateField("dateTo", dateToModel = new Model<Date>(toDate)){ dateTo = new DateField("dateTo", new Model<Date>(toDate)){
@Override @Override
protected DateTextField newDateTextField(String id, PropertyModel dateFieldModel) { protected DateTextField newDateTextField(String id, PropertyModel dateFieldModel) {
return DateTextField.forDatePattern(id, dateFieldModel, "yyyy-MM-dd"); return DateTextField.forDatePattern(id, dateFieldModel, "yyyy-MM-dd");
@ -77,17 +71,10 @@ public abstract class DatesPanel extends Panel {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Override @Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) { protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
onUpdateFilter(target, dateFromModel.getObject(), dateToModel.getObject()); onUpdateFilter(target, dateFrom.getModelObject(), dateTo.getModelObject());
} }
}); });
} }
public Date getFromDate(){
return dateFromModel.getObject();
}
public Date getToDate(){
return dateToModel.getObject();
}
} }
} }

@ -60,21 +60,16 @@ public class ProjectServiceImpl extends AbstractQueryService<Project, Long> impl
@Override @Override
public Page<Project> find(Date fromDate, Date toDate, Pageable pageable) { public Page<Project> find(Date fromDate, Date toDate, Pageable pageable) {
System.out.println("FIND");
System.out.println(fromDate);
return projectRepo.findAll(projectCreatedAfter(fromDate).and(projectCreatedBefore(toDate)), pageable); return projectRepo.findAll(projectCreatedAfter(fromDate).and(projectCreatedBefore(toDate)), pageable);
} }
@Override @Override
public Long count(String filterString) { public Long count(String filterString) {
return projectRepo.count(titleContains(filterString)); return projectRepo.count(titleContains(filterString));
} }
@Override @Override
public Long count(Date fromDate, Date toDate) { public Long count(Date fromDate, Date toDate) {
System.out.println("COUNT");
System.out.println(fromDate);
return projectRepo.count(projectCreatedAfter(fromDate).and(projectCreatedBefore(toDate))); return projectRepo.count(projectCreatedAfter(fromDate).and(projectCreatedBefore(toDate)));
} }