hooked up new dates method to iterator and count, not working. the fromdate never changes. models problem?

This commit is contained in:
fred-fri 2012-05-30 16:22:46 +09:00
parent 4a432a7d36
commit 9c40337e93
3 changed files with 25 additions and 15 deletions
src/main/java/se/su/dsv/scipro

@ -175,20 +175,22 @@ public class ProjectManagementPage extends AbstractAdminPage {
@Override
public Iterator<Project> getIterator() {
if (filterStringPanel.getFilterString() == null || filterStringPanel.getFilterString().isEmpty()) {
return projectService.findAll(new PageRequest(getTable().getCurrentPage(), getTable().getRowsPerPage(), getSort())).iterator();
} else {
return projectService.find(filterStringPanel.getFilterString(), new PageRequest(getTable().getCurrentPage(), getTable().getRowsPerPage(), getSort())).iterator();
}
return projectService.find(datesPanel.getFromDate(), datesPanel.getToDate(), new PageRequest(getTable().getCurrentPage(), getTable().getRowsPerPage(), getSort())).iterator();
// if (filterStringPanel.getFilterString() == null || filterStringPanel.getFilterString().isEmpty()) {
// return projectService.findAll(new PageRequest(getTable().getCurrentPage(), getTable().getRowsPerPage(), getSort())).iterator();
// } else {
// return projectService.find(filterStringPanel.getFilterString(), new PageRequest(getTable().getCurrentPage(), getTable().getRowsPerPage(), getSort())).iterator();
// }
}
@Override
public int getSize() {
if (filterStringPanel.getFilterString() == null || filterStringPanel.getFilterString().isEmpty()) {
return safeLongToInt(projectService.count());
} else {
return safeLongToInt(projectService.count(filterStringPanel.getFilterString()));
}
return safeLongToInt(projectService.count(datesPanel.getFromDate(), datesPanel.getToDate()));
// if (filterStringPanel.getFilterString() == null || filterStringPanel.getFilterString().isEmpty()) {
// return safeLongToInt(projectService.count());
// } else {
// return safeLongToInt(projectService.count(filterStringPanel.getFilterString()));
// }
}
});
}

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

@ -60,16 +60,21 @@ public class ProjectServiceImpl extends AbstractQueryService<Project, Long> impl
@Override
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);
}
@Override
public Long count(String filterString) {
return projectRepo.count(titleContains(filterString));
}
@Override
public Long count(Date fromDate, Date toDate) {
System.out.println("COUNT");
System.out.println(fromDate);
return projectRepo.count(projectCreatedAfter(fromDate).and(projectCreatedBefore(toDate)));
}