good separation of code now

This commit is contained in:
Fredrik Friis 2012-03-27 11:38:37 +09:00
parent 7914adc5a7
commit 1e48a6de1d
6 changed files with 13 additions and 12 deletions

@ -7,6 +7,8 @@ import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.spring.injection.annot.SpringBean;
import se.su.dsv.scipro.data.dataobjects.ProjectClass;
import se.su.dsv.scipro.match.dataobject.Match;
import se.su.dsv.scipro.springdata.repos.ProjectClassRepo;
import se.su.dsv.scipro.springdata.repos.ProjectIdeaRepo;
import se.su.dsv.scipro.springdata.services.ProjectClassService;
import se.su.dsv.scipro.springdata.services.ProjectIdeaService;
@ -29,6 +31,10 @@ public class ProjectIdeaStatisticsPanel extends Panel {
private ProjectIdeaService projectIdeaService;
@SpringBean
private ProjectClassService projectClassService;
@SpringBean
private ProjectClassRepo projectClassRepo;
@SpringBean
private ProjectIdeaRepo projectIdeaRepo;
public ProjectIdeaStatisticsPanel(String id) {
super(id);
@ -39,8 +45,8 @@ public class ProjectIdeaStatisticsPanel extends Panel {
valueArray.add(s);
}
final ProjectClass bachelor = projectClassService.findByName(ProjectClass.BACHELOR);
final ProjectClass master = projectClassService.findByName(ProjectClass.MASTER);
final ProjectClass bachelor = projectClassRepo.findByName(ProjectClass.BACHELOR);
final ProjectClass master = projectClassRepo.findByName(ProjectClass.MASTER);
ListView listview = new ListView("listview", valueArray) {
protected void populateItem(ListItem item) {
@ -67,7 +73,6 @@ public class ProjectIdeaStatisticsPanel extends Panel {
else if (s.equals(Match.Status.PENDING)){
item.add(new Label("statusNameLabel", item.getModelObject() + " (this status is almost never used)"));
}
item.add(new Label("statusCountLabel", String.valueOf(projectIdeaService.countProjectIdeaByMatchStatus(s))));
item.add(new Label("bachelorCountLabel", String.valueOf(projectIdeaService.countProjectIdeaByMatchStatusAndProjectClass(s, bachelor))));
item.add(new Label("masterCountLabel", String.valueOf(projectIdeaService.countProjectIdeaByMatchStatusAndProjectClass(s, master))));

@ -12,4 +12,6 @@ import se.su.dsv.scipro.data.dataobjects.ProjectClass;
@Transactional(readOnly = true)
public interface ProjectClassRepo extends JpaRepository<ProjectClass, Long>, QueryDslPredicateExecutor<ProjectClass> {
ProjectClass findByName(String name);
}

@ -9,7 +9,6 @@ import se.su.dsv.scipro.match.dataobject.ProjectIdea;
* @author: fred-fri
* date: 2012 03 23
*/
@Transactional(readOnly = true)
public interface ProjectIdeaRepo extends JpaRepository<ProjectIdea, Long>, QueryDslPredicateExecutor<ProjectIdea> {

@ -1,12 +1,10 @@
package se.su.dsv.scipro.springdata.serviceimpls;
import com.mysema.query.types.expr.BooleanExpression;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import se.su.dsv.scipro.data.dataobjects.ProjectClass;
import se.su.dsv.scipro.data.dataobjects.QProjectClass;
import se.su.dsv.scipro.springdata.repos.ProjectClassRepo;
import se.su.dsv.scipro.springdata.services.ProjectClassService;
@ -28,8 +26,6 @@ public class ProjectClassServiceImpl implements ProjectClassService {
@Override
public ProjectClass findByName(String name) {
QProjectClass qProjectClass = QProjectClass.projectClass;
BooleanExpression hasName = qProjectClass.name.eq(name);
return projectClassRepo.findOne(hasName);
return projectClassRepo.findByName(name);
}
}
}

@ -65,7 +65,6 @@ public class ProjectIdeaServiceImpl implements ProjectIdeaService {
QProjectIdea qProjectIdea = QProjectIdea.projectIdea;
BooleanExpression isMatchStatus = qProjectIdea.match.status.eq(status);
BooleanExpression isProjectClass = qProjectIdea.projectClass.eq(projectClass);
return projectIdeaRepo.count(isMatchStatus.and(isProjectClass));
}

@ -7,7 +7,7 @@ import se.su.dsv.scipro.data.dataobjects.ProjectClass;
* date: 2012 03 26
*/
public interface ProjectClassService {
public ProjectClass findByName(String name);
}