2082: TR Bättre namn på klasser, enums, variabler, kolumnnamn, etc. Uppgraderade xsd:n för API:et.

This commit is contained in:
Wayne Westmoreland 2021-09-15 16:34:56 +02:00
parent af1e99d8a4
commit 879d9b4159
202 changed files with 1156 additions and 865 deletions
core/src
main
test
java/se/su/dsv/scipro
activityplan
checklist
crosscutting
finalseminar
finalthesis
forum
forummail
group
match
milestones/service/impl
notifications
peer
project
projectpartner
report
reviewing
system
test
scala/se/su/dsv/scipro/notifications
daisy-integration/src
main/java/se/su/dsv/scipro
test/java/se/su/dsv/scipro
view/src

@ -520,7 +520,7 @@ public class DataInitializer implements Lifecycle {
masterClass = new ProjectType(ProjectType.MASTER, "Master", "Master degree thesis project");
save(masterClass);
final ProjectType phdClass = new ProjectType(DegreeLevel.NONE, "PhD", "PhD project");
final ProjectType phdClass = new ProjectType(DegreeType.NONE, "PhD", "PhD project");
save(phdClass);
}

@ -72,20 +72,20 @@ public class ImporterTransactionsImpl implements ImporterTransactions {
.stream()
.filter(cr -> cr.getProgramId() != null)
.map(cr -> new Pair<>(cr.getSemester(), cr.getProgramId()));
final DegreeLevel latestLevel = Stream
final DegreeType latestLevel = Stream
.concat(semesterPrograms, registrationSemesters)
.map(pair -> new Pair<>(pair.getHead(), getProgram(pair.getTail(), programCache)))
.filter(pair -> pair.getTail().getType() != null)
.max(Comparator.comparing(Pair::getHead))
.map(Pair::getTail)
.map(se.su.dsv.scipro.io.dto.Program::getType)
.map(this::toDegreeLevel)
.map(this::toDegreeType)
.or(() -> getOverrideBasedOnCourse(courseRegistrations))
.orElse(DegreeLevel.BACHELOR);
.orElse(DegreeType.BACHELOR);
final var oldLevel = user.getThesisLevel();
user.setThesisLevel(latestLevel);
if (oldLevel != user.getThesisLevel()) {
final var oldLevel = user.getDegreeType();
user.setDegreeType(latestLevel);
if (oldLevel != user.getDegreeType()) {
userService.save(user);
}
}
@ -94,23 +94,23 @@ public class ImporterTransactionsImpl implements ImporterTransactions {
return programCache.computeIfAbsent(programId, client::getProgram);
}
private DegreeLevel toDegreeLevel(ProgramType programType) {
private DegreeType toDegreeType(ProgramType programType) {
switch (programType) {
case BACHELOR:
return DegreeLevel.BACHELOR;
return DegreeType.BACHELOR;
case MAGISTER:
return DegreeLevel.MAGISTER;
return DegreeType.MAGISTER;
case MASTER:
return DegreeLevel.MASTER;
return DegreeType.MASTER;
default:
throw new IllegalArgumentException("Unknown program type from Daisy: " + programType);
}
}
private Optional<DegreeLevel> getOverrideBasedOnCourse(List<CourseRegistration> courseRegistrations) {
private Optional<DegreeType> getOverrideBasedOnCourse(List<CourseRegistration> courseRegistrations) {
for (CourseRegistration courseRegistration : courseRegistrations) {
if (courseRegistration.getCourseId() == ML304C_ID && courseRegistration.getProgramId() == null) {
return Optional.of(DegreeLevel.MASTER);
return Optional.of(DegreeType.MASTER);
}
}
return Optional.empty();

@ -58,7 +58,7 @@ public interface FinalSeminarService extends GenericService<FinalSeminar, Long>,
private Boolean onlyActiveProjects;
private Boolean onlyActiveOrCompletedProjects;
private User headSupervisor;
private DegreeLevel degreeLevel;
private DegreeType degreeType;
public Date getFromDate() {
return this.fromDate;
@ -88,8 +88,8 @@ public interface FinalSeminarService extends GenericService<FinalSeminar, Long>,
return this.headSupervisor;
}
public DegreeLevel getDegreeLevel() {
return this.degreeLevel;
public DegreeType getDegreeType() {
return this.degreeType;
}
public void setFromDate(Date fromDate) {
@ -120,8 +120,8 @@ public interface FinalSeminarService extends GenericService<FinalSeminar, Long>,
this.headSupervisor = headSupervisor;
}
public void setDegreeLevel(DegreeLevel degreeLevel) {
this.degreeLevel = degreeLevel;
public void setDegreeType(DegreeType degreeType) {
this.degreeType = degreeType;
}
@Override
@ -137,7 +137,7 @@ public interface FinalSeminarService extends GenericService<FinalSeminar, Long>,
&& Objects.equals(this.getOnlyActiveProjects(), other.getOnlyActiveProjects())
&& Objects.equals(this.getOnlyActiveOrCompletedProjects(), other.getOnlyActiveOrCompletedProjects())
&& Objects.equals(this.getHeadSupervisor(), other.getHeadSupervisor())
&& Objects.equals(this.getDegreeLevel(), other.getDegreeLevel());
&& Objects.equals(this.getDegreeType(), other.getDegreeType());
}
protected boolean canEqual(final Object other) {
@ -154,12 +154,12 @@ public interface FinalSeminarService extends GenericService<FinalSeminar, Long>,
this.getOnlyActiveProjects(),
this.getOnlyActiveOrCompletedProjects(),
this.getHeadSupervisor(),
this.getDegreeLevel());
this.getDegreeType());
}
@Override
public String toString() {
return "FinalSeminarService.Filter(fromDate=" + this.getFromDate() + ", toDate=" + this.getToDate() + ", lazyDeleted=" + this.getLazyDeleted() + ", exempted=" + this.getExempted() + ", onlyActiveProjects=" + this.getOnlyActiveProjects() + ", onlyActiveOrCompletedProjects=" + this.getOnlyActiveOrCompletedProjects() + ", headSupervisor=" + this.getHeadSupervisor() + ", degreeLevel=" + this.getDegreeLevel() + ")";
return "FinalSeminarService.Filter(fromDate=" + this.getFromDate() + ", toDate=" + this.getToDate() + ", lazyDeleted=" + this.getLazyDeleted() + ", exempted=" + this.getExempted() + ", onlyActiveProjects=" + this.getOnlyActiveProjects() + ", onlyActiveOrCompletedProjects=" + this.getOnlyActiveOrCompletedProjects() + ", headSupervisor=" + this.getHeadSupervisor() + ", degreeType=" + this.getDegreeType() + ")";
}
}
}

@ -283,8 +283,8 @@ public class FinalSeminarServiceImpl extends AbstractServiceImpl<FinalSeminar, L
if (params.getOnlyActiveOrCompletedProjects() != null) {
bb.and(onlyActiveOrCompletedProjectsFilter());
}
if (params.getDegreeLevel() != null) {
bb.and(QFinalSeminar.finalSeminar.project.projectType.degreeLevel.eq(params.getDegreeLevel()));
if (params.getDegreeType() != null) {
bb.and(QFinalSeminar.finalSeminar.project.projectType.degreeType.eq(params.getDegreeType()));
}
if (params.getHeadSupervisor() != null) {
bb.and(hasHeadSupervisor(params.getHeadSupervisor()));

@ -56,15 +56,15 @@ class ApplicationPeriodServiceImpl extends AbstractServiceImpl<ApplicationPeriod
.filter(period -> !phs.contains(period))
.map(ExemptedPeriod::new);
return Stream.concat(phs.stream().map(OpenPeriod::new), periodsWithExemption)
.filter(sp -> student.getThesisLevel() == ProjectType.UNKNOWN || isPeriodForStudentThesisLevel(student, sp))
.filter(sp -> student.getDegreeType() == ProjectType.UNKNOWN || isPeriodForStudentDegreeType(student, sp))
.collect(Collectors.toList());
}
private boolean isPeriodForStudentThesisLevel(final User student, final StudentPeriod sp) {
private boolean isPeriodForStudentDegreeType(final User student, final StudentPeriod sp) {
return sp.getApplicationPeriod()
.getProjectTypes()
.stream()
.anyMatch(pt -> pt.getDegreeLevel() == student.getThesisLevel());
.anyMatch(pt -> pt.getDegreeType() == student.getDegreeType());
}
@Override

@ -23,7 +23,7 @@ public class IdeaFacade implements Serializable {
List<Idea> ideasWithinLimits = new ArrayList<>();
for (Idea idea : ideas) {
if (targetService.hasTargetsLeft(applicationPeriod, idea.getMatch().getSupervisor(), idea.getProjectType())) {
if (student.getThesisLevel() == ProjectType.UNKNOWN || student.getThesisLevel() == idea.getProjectType().getDegreeLevel()) {
if (student.getDegreeType() == ProjectType.UNKNOWN || student.getDegreeType() == idea.getProjectType().getDegreeType()) {
ideasWithinLimits.add(idea);
}
}
@ -37,7 +37,7 @@ public class IdeaFacade implements Serializable {
List<Idea> ideasWithinLimits = new ArrayList<>();
for (Idea idea : ideas) {
if (targetService.hasTargetsLeft(applicationPeriod, idea.getMatch().getSupervisor(), idea.getProjectType())) {
if (student.getThesisLevel() == ProjectType.UNKNOWN || student.getThesisLevel() == idea.getProjectType().getDegreeLevel()) {
if (student.getDegreeType() == ProjectType.UNKNOWN || student.getDegreeType() == idea.getProjectType().getDegreeType()) {
ideasWithinLimits.add(idea);
}
}

@ -188,7 +188,7 @@ class IdeaServiceImpl extends AbstractServiceImpl<Idea, Long> implements IdeaSer
if (authorParticipatingOnActiveIdea(coAuthor, ap)) {
return new Pair<>(Boolean.FALSE, PARTNER_ALREADY_PARTICIPATING_ERROR);
}
if (coAuthor.getThesisLevel() != ProjectType.UNKNOWN && coAuthor.getThesisLevel() != idea.getProjectType().getDegreeLevel()) {
if (coAuthor.getDegreeType() != ProjectType.UNKNOWN && coAuthor.getDegreeType() != idea.getProjectType().getDegreeType()) {
return new Pair<>(Boolean.FALSE, WRONG_LEVEL_FOR_YOUR_PARTNER);
}
if (!projectService.getActiveProjects(coAuthor, idea.getProjectType()).isEmpty()) {
@ -198,7 +198,7 @@ class IdeaServiceImpl extends AbstractServiceImpl<Idea, Long> implements IdeaSer
if (authorParticipatingOnActiveIdea(creator, ap)) {
return new Pair<>(Boolean.FALSE, ALREADY_PARTICIPATING_ERROR);
}
if (creator.getThesisLevel() != ProjectType.UNKNOWN && creator.getThesisLevel() != idea.getProjectType().getDegreeLevel()) {
if (creator.getDegreeType() != ProjectType.UNKNOWN && creator.getDegreeType() != idea.getProjectType().getDegreeType()) {
return new Pair<>(Boolean.FALSE, WRONG_LEVEL_FOR_YOU);
}

@ -248,8 +248,8 @@ public class Project extends DomainObject {
return NO_CO_SUPERVISOR;
}
public DegreeLevel getProjectTypeDegreeLevel() {
return getProjectType().getDegreeLevel();
public DegreeType getProjectTypeDegreeType() {
return getProjectType().getDegreeType();
}
public String getProjectTypeName() {

@ -3,7 +3,7 @@ package se.su.dsv.scipro.report;
import org.jetbrains.annotations.NotNull;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.report.calculators.original.*;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import java.util.Calendar;
@ -11,15 +11,15 @@ import java.util.Calendar;
public class GradeCalculatorServiceImpl implements GradeCalculatorService {
@Override
public GradeCalculator getSupervisorCalculator(final Project project) {
DegreeLevel degreeLevel = project.getProjectType().getDegreeLevel();
if (degreeLevel == DegreeLevel.BACHELOR) {
DegreeType degreeType = project.getProjectType().getDegreeType();
if (degreeType == DegreeType.BACHELOR) {
if (getYear(project) >= 2017) {
return new se.su.dsv.scipro.report.calculators.vt17.SupervisorBachelorGradeCalculator();
}
else {
return new SupervisorBachelorGradeCalculator();
}
} else if (degreeLevel == DegreeLevel.MASTER || degreeLevel == DegreeLevel.MAGISTER) {
} else if (degreeType == DegreeType.MASTER || degreeType == DegreeType.MAGISTER) {
return getMasterGradeCalculator(project);
}
throw new IllegalStateException("No grade calculation implemented for project type");
@ -53,15 +53,15 @@ public class GradeCalculatorServiceImpl implements GradeCalculatorService {
@Override
public GradeCalculator getReviewerCalculator(final SupervisorGradingReport supervisorGradingReport) {
final Project project = supervisorGradingReport.getProject();
DegreeLevel degreeLevel = project.getProjectType().getDegreeLevel();
if (degreeLevel == DegreeLevel.BACHELOR) {
DegreeType degreeType = project.getProjectType().getDegreeType();
if (degreeType == DegreeType.BACHELOR) {
if (getYear(project) >= 2017) {
return new se.su.dsv.scipro.report.calculators.vt17.ReviewerBachelorGradeCalculator(supervisorGradingReport);
}
else {
return new ReviewerBachelorGradeCalculator(supervisorGradingReport);
}
} else if (degreeLevel == DegreeLevel.MASTER || degreeLevel == DegreeLevel.MAGISTER) {
} else if (degreeType == DegreeType.MASTER || degreeType == DegreeType.MAGISTER) {
return getMasterGradeCalculator(supervisorGradingReport);
}
throw new IllegalStateException("No grade calculation implemented for project type");

@ -64,7 +64,7 @@ public class UserProfileServiceImpl extends AbstractServiceImpl<UserProfile, Lon
private List<ProjectType> getDefaultProjectTypes() {
QProjectType projectType = QProjectType.projectType;
return from(projectType)
.where(projectType.degreeLevel.in(List.of(DegreeLevel.BACHELOR, DegreeLevel.MASTER, DegreeLevel.MAGISTER)))
.where(projectType.degreeType.in(List.of(DegreeType.BACHELOR, DegreeType.MASTER, DegreeType.MAGISTER)))
.fetch();
}
}

@ -1,6 +1,6 @@
package se.su.dsv.scipro.system;
public enum DegreeLevel {
public enum DegreeType {
NONE,
BACHELOR,
MAGISTER,

@ -8,9 +8,9 @@ import java.util.Set;
@Entity
@Cacheable(true)
public class ProjectType extends LazyDeletableDomainObject {
public static final DegreeLevel MASTER = DegreeLevel.MASTER;
public static final DegreeLevel BACHELOR = DegreeLevel.BACHELOR;
public static final DegreeLevel UNKNOWN = DegreeLevel.NONE;
public static final DegreeType MASTER = DegreeType.MASTER;
public static final DegreeType BACHELOR = DegreeType.BACHELOR;
public static final DegreeType UNKNOWN = DegreeType.NONE;
public static final int HP_30 = 30;
public static final int HP_15 = 15;
@ -26,7 +26,7 @@ public class ProjectType extends LazyDeletableDomainObject {
@Enumerated(EnumType.STRING)
@Column(nullable = false)
private DegreeLevel degreeLevel = DegreeLevel.NONE;
private DegreeType degreeType = DegreeType.NONE;
@Lob
private String description;
@ -43,8 +43,8 @@ public class ProjectType extends LazyDeletableDomainObject {
}
public ProjectType(DegreeLevel degreeLevel, String name, String description) {
this.degreeLevel = degreeLevel;
public ProjectType(DegreeType degreeType, String name, String description) {
this.degreeType = degreeType;
this.name = name;
this.description = description;
}
@ -90,8 +90,8 @@ public class ProjectType extends LazyDeletableDomainObject {
return this.projectTypeSettings;
}
public DegreeLevel getDegreeLevel() {
return this.degreeLevel;
public DegreeType getDegreeType() {
return this.degreeType;
}
public String getDescription() {
@ -118,8 +118,8 @@ public class ProjectType extends LazyDeletableDomainObject {
this.projectTypeSettings = projectTypeSettings;
}
public void setDegreeLevel(DegreeLevel degreeLevel) {
this.degreeLevel = degreeLevel;
public void setDegreeType(DegreeType degreeType) {
this.degreeType = degreeType;
}
public void setDescription(String description) {
@ -152,6 +152,6 @@ public class ProjectType extends LazyDeletableDomainObject {
@Override
public String toString() {
return "ProjectType(id=" + this.getId() + ", name=" + this.getName() + ", degreeLevel=" + this.getDegreeLevel() + ", description=" + this.getDescription() + ", reviewed=" + this.isReviewed() + ")";
return "ProjectType(id=" + this.getId() + ", name=" + this.getName() + ", degreeType=" + this.getDegreeType() + ", description=" + this.getDescription() + ", reviewed=" + this.isReviewed() + ")";
}
}

@ -6,7 +6,7 @@ import java.util.List;
public interface ProjectTypeService extends GenericService<ProjectType, Long> {
List<ProjectType> findAllActive();
List<ProjectType> findAllDeleted();
List<ProjectType> findByDegreeLevels(Collection<DegreeLevel> degreeLevels);
List<ProjectType> findByDegreeTypes(Collection<DegreeType> degreeTypes);
List<ProjectType> findWithModule(ProjectModule projectModule);
List<ProjectType> findBySupervisorProjects(User supervisor);
boolean projectTypeWithModuleExists(ProjectModule module);

@ -30,8 +30,8 @@ public class ProjectTypeServiceImpl extends AbstractServiceImpl<ProjectType,Long
}
@Override
public List<ProjectType> findByDegreeLevels(Collection<DegreeLevel> degreeLevels) {
return findAll(allOf(QProjectType.projectType.degreeLevel.in(degreeLevels), notDeleted()));
public List<ProjectType> findByDegreeTypes(Collection<DegreeType> degreeTypes) {
return findAll(allOf(QProjectType.projectType.degreeType.in(degreeTypes), notDeleted()));
}
@Override

@ -61,7 +61,7 @@ public class User extends LazyDeletableDomainObject {
@Basic
@Enumerated(EnumType.STRING)
private DegreeLevel thesisLevel = ProjectType.UNKNOWN;
private DegreeType degreeType = ProjectType.UNKNOWN;
public Unit getUnit() {
return unit;
@ -162,8 +162,8 @@ public class User extends LazyDeletableDomainObject {
return this.researchAreas;
}
public DegreeLevel getThesisLevel() {
return this.thesisLevel;
public DegreeType getDegreeType() {
return this.degreeType;
}
public void setId(Long id) {
@ -218,8 +218,8 @@ public class User extends LazyDeletableDomainObject {
this.unit = unit;
}
public void setThesisLevel(DegreeLevel thesisLevel) {
this.thesisLevel = thesisLevel;
public void setDegreeType(DegreeType degreeType) {
this.degreeType = degreeType;
}
public void setActiveAsSupervisor(boolean activeAsSupervisor) {
@ -246,7 +246,7 @@ public class User extends LazyDeletableDomainObject {
@Override
public String toString() {
return "User(id=" + this.getId() + ", identifier=" + this.getIdentifier() + ", firstName=" + this.getFirstName() + ", lastName=" + this.getLastName() + ", emailAddress=" + this.getEmailAddress() + ", deceased=" + this.isDeceased() + ", thesisLevel=" + this.getThesisLevel() + ")";
return "User(id=" + this.getId() + ", identifier=" + this.getIdentifier() + ", firstName=" + this.getFirstName() + ", lastName=" + this.getLastName() + ", emailAddress=" + this.getEmailAddress() + ", deceased=" + this.isDeceased() + ", degreeType=" + this.getDegreeType() + ")";
}
public interface IFirstName {

@ -0,0 +1,2 @@
ALTER TABLE user CHANGE COLUMN thesisLevel degreeType VARCHAR(32) NOT NULL DEFAULT 'NONE';
ALTER TABLE ProjectType CHANGE COLUMN degreeLevel degreeType VARCHAR(32) NOT NULL DEFAULT 'NONE';

File diff suppressed because it is too large Load Diff

@ -12,7 +12,7 @@ import se.su.dsv.scipro.file.FileDescription;
import se.su.dsv.scipro.file.ProjectFileService;
import se.su.dsv.scipro.misc.DaysService;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.IntegrationTest;
@ -151,7 +151,7 @@ public class ActivityPlanFacadeImplIntegrationTest extends IntegrationTest {
}
private ProjectType createProjectType() {
ProjectType projectType = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
ProjectType projectType = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
return save(projectType);
}

@ -17,7 +17,7 @@ import se.su.dsv.scipro.file.ProjectFileUpload;
import se.su.dsv.scipro.misc.DaysService;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.project.ProjectService;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.UserBuilder;
@ -31,7 +31,7 @@ import static org.mockito.Mockito.*;
@RunWith(MockitoJUnitRunner.class)
public class ActivityPlanFacadeImplTest {
static final ProjectType PROJECT_TYPE = new ProjectType(DegreeLevel.BACHELOR, "bach", "bach");
static final ProjectType PROJECT_TYPE = new ProjectType(DegreeType.BACHELOR, "bach", "bach");
static final Project SOME_PROJECT = Project.builder().title("title").projectType(PROJECT_TYPE).build();
static final ChecklistTemplate SOME_TEMPLATE = new ChecklistTemplate("name", new UserBuilder().create());
static final String SOME_NAME = "someName";

@ -5,7 +5,7 @@ import org.junit.Test;
import org.springframework.data.domain.PageRequest;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.reusable.SciProUtilities;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.IntegrationTest;
@ -89,7 +89,7 @@ public class ChecklistTemplateServiceImplTest extends IntegrationTest {
@Test
public void find_peer_request_checklists() {
ProjectType master = save(new ProjectType(DegreeLevel.MASTER, "Master", "Master"));
ProjectType master = save(new ProjectType(DegreeType.MASTER, "Master", "Master"));
Project project = save(Project.builder().title("Title").projectType(master).headSupervisor(user).build());
template.getCategories().add(save(new ChecklistCategory(ChecklistTemplateServiceImpl.PEER)));
template.getProjectTypes().add(master);

@ -15,7 +15,7 @@ import se.su.dsv.scipro.reviewing.FinalSeminarApproval;
import se.su.dsv.scipro.reviewing.FinalSeminarApprovalService;
import se.su.dsv.scipro.reviewing.RoughDraftApproval;
import se.su.dsv.scipro.reviewing.RoughDraftApprovalService;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -46,7 +46,7 @@ public class ReviewerAssignedNotificationsTest {
public void setUp() throws Exception {
reviewerAssignedNotifications = new ReviewerAssignedNotifications(roughDraftApprovalService, finalSeminarApprovalService, notificationController);
final ProjectType master = new ProjectType(DegreeLevel.MASTER, "Master", "Master");
final ProjectType master = new ProjectType(DegreeType.MASTER, "Master", "Master");
reviewer = User.builder().firstName("John").lastName("Doe").emailAddress("john@example.com").build();
reviewer.setId(1L);
TreeSet<User> reviewers = new TreeSet<>(new User.ByNameComparator());

@ -18,7 +18,7 @@ import se.su.dsv.scipro.reviewing.FinalSeminarApproval;
import se.su.dsv.scipro.reviewing.FinalSeminarApprovalRequestEvent;
import se.su.dsv.scipro.reviewing.RoughDraftApproval;
import se.su.dsv.scipro.reviewing.RoughDraftApprovalRequestedEvent;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.ResearchArea;
import se.su.dsv.scipro.system.User;
@ -46,7 +46,7 @@ public class ReviewerSupportMailerTest extends TestCase {
@Before
public void setUp() throws Exception {
ProjectType bachelor = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
ProjectType bachelor = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
User supervisor = ObjectMother.SOME_USER;
Set<ResearchArea> researchAreas = new HashSet<>();
ResearchArea researchArea = new ResearchArea();

@ -16,7 +16,7 @@ import se.su.dsv.scipro.reviewing.FinalSeminarApproval;
import se.su.dsv.scipro.reviewing.FinalSeminarApprovalRequestEvent;
import se.su.dsv.scipro.reviewing.RoughDraftApproval;
import se.su.dsv.scipro.reviewing.RoughDraftApprovalRequestedEvent;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import java.util.Date;
@ -39,7 +39,7 @@ public class ReviewingNotificationsTest {
@Before
public void setUp() throws Exception {
ProjectType bachelor = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
ProjectType bachelor = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
project = Project.builder().title("Title").projectType(bachelor).build();
finalSeminarApproval = new FinalSeminarApproval(project, new FileDescription(), "hello", new Date());
roughDraftApproval = new RoughDraftApproval(project, new FileDescription(), "hello", new Date());

@ -7,7 +7,7 @@ import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.Test;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.util.Either;
@ -20,7 +20,7 @@ public class ExtendedFinalSeminarServiceImplTest {
@Before
public void setUp() {
var master = new ProjectType(DegreeLevel.MASTER, "Master", "Master");
var master = new ProjectType(DegreeType.MASTER, "Master", "Master");
var exemptedProject = Project.builder().title("Title").projectType(master).build();
exemptedProject.setFinalSeminarRuleExempted(true);
var notExemptedProject = Project.builder().title("Title").projectType(master).build();

@ -5,7 +5,7 @@ import org.junit.Test;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.report.GradingReportTemplate;
import se.su.dsv.scipro.report.OppositionReport;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.Language;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -61,7 +61,7 @@ public class FinalSeminarOppositionServiceImplIntegrationTest extends Integratio
}
private ProjectType createProjectType() {
return save(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
return save(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
}
private Project createProject(ProjectType projectType) {

@ -3,7 +3,7 @@ package se.su.dsv.scipro.finalseminar;
import org.junit.Before;
import org.junit.Test;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.Language;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -48,7 +48,7 @@ public class FinalSeminarRespondentServiceImplIntegrationTest extends Integratio
}
private ProjectType createProjectType() {
ProjectType projectType = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
ProjectType projectType = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
return save(projectType);
}

@ -350,7 +350,7 @@ public class FinalSeminarServiceImplIntegrationTest extends IntegrationTest {
}
private ProjectType createProjectType() {
ProjectType projectType = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
ProjectType projectType = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
return save(projectType);
}

@ -18,7 +18,7 @@ import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.report.GradingReportTemplate;
import se.su.dsv.scipro.report.OppositionReport;
import se.su.dsv.scipro.report.OppositionReportService;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.DomainObject;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -130,7 +130,7 @@ public class FinalSeminarServiceImplTest {
FinalSeminarOpposition finalSeminarOpposition = new FinalSeminarOpposition();
DomainObjects.injectId(finalSeminarOpposition, 1L);
finalSeminarOpposition.setOppositionReport(new OppositionReport(new GradingReportTemplate(new ProjectType(DegreeLevel.BACHELOR, "bachelor", "bachelor"), 1), finalSeminarOpposition));
finalSeminarOpposition.setOppositionReport(new OppositionReport(new GradingReportTemplate(new ProjectType(DegreeType.BACHELOR, "bachelor", "bachelor"), 1), finalSeminarOpposition));
finalSeminar.setOppositions(Collections.singletonList(finalSeminarOpposition));
FileDescription document = new FileDescription();

@ -15,7 +15,7 @@ import se.su.dsv.scipro.notifications.NotificationController;
import se.su.dsv.scipro.plagiarism.PlagiarismControl;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.project.ProjectService;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.UserBuilder;
@ -54,7 +54,7 @@ public class FinalSeminarUploadControllerImplTest {
@Before
public void setUp() throws Exception {
project = Project.builder().title("title").projectType(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor")).build();
project = Project.builder().title("title").projectType(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor")).build();
seminar = new FinalSeminar();
seminar.setProject(project);
uploader = new UserBuilder().create();

@ -9,7 +9,7 @@ import org.springframework.data.domain.PageRequest;
import se.su.dsv.scipro.file.ProjectFileUpload;
import se.su.dsv.scipro.notifications.dataobject.NotificationSource;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.IntegrationTest;
@ -36,7 +36,7 @@ public class FinalThesisServiceImplTest extends IntegrationTest {
@Before
public void setUp() throws Exception {
ProjectType bachelor = save(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
ProjectType bachelor = save(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
User headSupervisor = save(User.builder().firstName("John").lastName("Doe").emailAddress("john@example.com").build());
uploader = save(User.builder().firstName("Bob").lastName("Sponge").emailAddress("bob@example.com").build());
project = save(Project.builder().title("Some title").projectType(bachelor).headSupervisor(headSupervisor).build());

@ -16,7 +16,7 @@ import se.su.dsv.scipro.forum.dataobjects.ForumPostReadState;
import se.su.dsv.scipro.forum.dataobjects.ForumThread;
import se.su.dsv.scipro.forum.dataobjects.ProjectThread;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectModule;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -54,7 +54,7 @@ public class ProjectForumServiceImplTest {
@Before
@SuppressWarnings("unchecked")
public void setUp() throws Exception {
ProjectType projectType = new ProjectType(DegreeLevel.BACHELOR, "Some project type", "Some description");
ProjectType projectType = new ProjectType(DegreeType.BACHELOR, "Some project type", "Some description");
projectType.addModule(ProjectModule.FORUM);
project = Project.builder().title("Some title").projectType(projectType).build();
ForumPost post = new ForumPost();

@ -5,7 +5,7 @@ import se.su.dsv.scipro.forum.dataobjects.ForumThread;
import se.su.dsv.scipro.forum.dataobjects.ProjectThread;
import se.su.dsv.scipro.mail.MailEvent;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -42,7 +42,7 @@ public class ForumMailServiceImplTest extends ForumMailModuleTest {
ForumThread forumThread = new ForumThread();
forumThread.setSubject("thread subject");
save(forumThread);
ProjectType bachelor = save(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
ProjectType bachelor = save(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
User user = save(User.builder().firstName("Bob").lastName("Example").emailAddress("bob@example.com").build());
Project project = save(Project.builder().title("Project").projectType(bachelor).headSupervisor(user).build());
ProjectThread projectThread = new ProjectThread();

@ -11,7 +11,7 @@ import se.su.dsv.scipro.forum.dataobjects.ProjectThread;
import se.su.dsv.scipro.group.Group;
import se.su.dsv.scipro.mail.MailEvent;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.ObjectMother;
@ -99,7 +99,7 @@ public class ReadForumMailTest extends ForumMailModuleTest {
}
private ProjectThread createProjectThread() {
ProjectType bachelor = save(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
ProjectType bachelor = save(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
User supervisor = createUser();
Project project = save(Project.builder().title("Project").projectType(bachelor).headSupervisor(supervisor).build());
ProjectThread projectThread = new ProjectThread();

@ -17,7 +17,7 @@ import se.su.dsv.scipro.mail.MailEvent;
import se.su.dsv.scipro.mail.MailEventService;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.springdata.services.UserProfileService;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.DomainObjects;
@ -61,7 +61,7 @@ public class SendForumMailTest {
User poster = newUser(1L);
final User threadMember = newUser(2L);
coSupervisor = newUser(3L);
ProjectType bachelor = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
ProjectType bachelor = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
Project project = Project.builder().title("Project").projectType(bachelor).headSupervisor(poster).build();
project.addProjectParticipant(threadMember);
project.addCoSupervisor(coSupervisor);

@ -3,7 +3,7 @@ package se.su.dsv.scipro.group;
import org.junit.Before;
import org.junit.Test;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.IntegrationTest;
@ -35,7 +35,7 @@ public class GroupServiceImplTest extends IntegrationTest {
creator = saveUser("supervisor", "sup", "supervisor@example.com");
reviewer = saveUser("reviewer", "test", "reviewer@example.com");
cosupervisor = saveUser("cosupervisor", "test", "reviewer@example.com");
projectType = save(new ProjectType(DegreeLevel.BACHELOR, "b", "b"));
projectType = save(new ProjectType(DegreeType.BACHELOR, "b", "b"));
User headSupervisor = save(User.builder().firstName("John").lastName("Doe").emailAddress("john@example.com").build());
Project project = save(Project.builder().title("title").projectType(projectType).headSupervisor(headSupervisor).build());
project.addProjectParticipant(author);

@ -9,7 +9,7 @@ import scala.Tuple2;
import se.su.dsv.scipro.activityplan.ActivityPlanFacade;
import se.su.dsv.scipro.activityplan.ActivityPlanTemplate;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectModule;
import se.su.dsv.scipro.system.ProjectType;
@ -35,9 +35,9 @@ public class AddActivityPlanOnProjectStartTest {
public void setUp() {
template = new ActivityPlanTemplate();
template.setId(2309482L);
withActivityPlan = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
withActivityPlan = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
withActivityPlan.addModule(ProjectModule.ACTIVITY_PLAN);
withoutActivityPlan = new ProjectType(DegreeLevel.MASTER, "Master", "Master");
withoutActivityPlan = new ProjectType(DegreeType.MASTER, "Master", "Master");
withoutActivityPlan.removeModule(ProjectModule.ACTIVITY_PLAN);
handler = new AddActivityPlanOnProjectStart(activityPlanFacade);

@ -3,7 +3,7 @@ package se.su.dsv.scipro.match;
import org.joda.time.DateTime;
import org.junit.Before;
import org.junit.Test;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.IntegrationTest;
@ -26,7 +26,7 @@ public class ApplicationPeriodServiceImplTest extends IntegrationTest {
@Before
public void setUp() throws Exception {
projectType = save(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
projectType = save(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
student = save(User.builder().firstName("Bob").lastName("Sponge").emailAddress("bob@example.com").build());
}
@ -218,7 +218,7 @@ public class ApplicationPeriodServiceImplTest extends IntegrationTest {
@Test
public void does_not_overlap_different_project_types() {
createPeriod(0, 3, projectType);
ApplicationPeriod newPeriod = createPeriod(0, 3, save(new ProjectType(DegreeLevel.MASTER, "master", "master")));
ApplicationPeriod newPeriod = createPeriod(0, 3, save(new ProjectType(DegreeType.MASTER, "master", "master")));
assertFalse(applicationPeriodService.doesPeriodOverlap(newPeriod));
}

@ -8,7 +8,7 @@ import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.UserBuilder;
@ -42,7 +42,7 @@ public class IdeaFacadeTest {
applicationPeriod = new ApplicationPeriod();
params = new IdeaService.Filter();
idea = new Idea();
idea.setProjectType(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
idea.setProjectType(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
Match match = new Match();
match.setSupervisor(new UserBuilder().create());
idea.setMatch(match);

@ -33,7 +33,7 @@ public class IdeaServiceImplIntegrationTest extends IntegrationTest {
@Before
public void setUp() throws Exception {
projectType = createProjectType(DegreeLevel.BACHELOR);
projectType = createProjectType(DegreeType.BACHELOR);
randomUser = createUser();
user = createUser();
english = Sets.newHashSet(createLanguage());
@ -82,7 +82,7 @@ public class IdeaServiceImplIntegrationTest extends IntegrationTest {
@Test
public void find_all_by_project_type() {
Idea expected = createSupervisorIdea();
createSupervisorIdea(createProjectType(DegreeLevel.BACHELOR));
createSupervisorIdea(createProjectType(DegreeType.BACHELOR));
IdeaService.Filter filter = new IdeaService.Filter();
filter.setLevels(Collections.singletonList(expected.getProjectType()));
@ -127,8 +127,8 @@ public class IdeaServiceImplIntegrationTest extends IntegrationTest {
return idea;
}
private ProjectType createProjectType(DegreeLevel degreeLevel) {
ProjectType projectType = new ProjectType(degreeLevel, "Bachelor", "Bachelor");
private ProjectType createProjectType(DegreeType degreeType) {
ProjectType projectType = new ProjectType(degreeType, "Bachelor", "Bachelor");
return save(projectType);
}

@ -3,7 +3,7 @@ package se.su.dsv.scipro.match;
import org.junit.Before;
import org.junit.Test;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -18,7 +18,7 @@ public class IdeaTest {
@Before
public void setUp() {
idea = new Idea();
idea.setProjectType(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
idea.setProjectType(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
supervisor = new Match();
supervisor.setSupervisor(new User());
noSupervisor = new Match();

@ -9,7 +9,7 @@ import org.junit.Test;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import se.su.dsv.scipro.security.auth.roles.Roles;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -32,8 +32,8 @@ public class MatchFollowUpServiceTest extends MatchModuleTest {
@Before
public void setUp() throws Exception {
bachelor = save(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
master = save(new ProjectType(DegreeLevel.MASTER, "Master", "Master"));
bachelor = save(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
master = save(new ProjectType(DegreeType.MASTER, "Master", "Master"));
ApplicationPeriod applicationPeriod = new ApplicationPeriod("Test period");
applicationPeriod.setProjectTypes(ImmutableSet.of(bachelor, master));
this.applicationPeriod = save(applicationPeriod);

@ -2,7 +2,7 @@ package se.su.dsv.scipro.match;
import org.junit.Before;
import org.junit.Test;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -23,7 +23,7 @@ public class TargetServiceImplTest extends MatchModuleTest {
public void setUp() throws Exception {
applicationPeriod = newApplicationPeriod();
supervisor = save(User.builder().firstName("Bob").lastName("Sponge").emailAddress("bob@example.com").build());
projectType = save(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
projectType = save(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
}
@Test

@ -15,7 +15,7 @@ import se.su.dsv.scipro.milestones.MilestoneActivityTemplateRepository;
import se.su.dsv.scipro.milestones.dataobjects.MilestoneActivityTemplate;
import se.su.dsv.scipro.milestones.dataobjects.MilestonePhaseTemplate;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.test.DomainObjects;
@ -43,7 +43,7 @@ public class MilestoneActivityTemplateServiceImplTest {
}
});
date = new DateTime().minusDays(1).toDate();
projectType = new ProjectType(DegreeLevel.BACHELOR, "any", "any");
projectType = new ProjectType(DegreeType.BACHELOR, "any", "any");
}
@Test
@ -169,7 +169,7 @@ public class MilestoneActivityTemplateServiceImplTest {
public void testFindActiveActivitiesByPhase() {
List<MilestoneActivityTemplate> list = Collections.singletonList(createActivity(MilestoneActivityTemplate.Type.PROJECT, "Create seminar", "description", 0));
Date date = new DateTime().minusDays(1).toDate();
ProjectType bachelor = new ProjectType(DegreeLevel.BACHELOR, "bachelor", "bachelor");
ProjectType bachelor = new ProjectType(DegreeType.BACHELOR, "bachelor", "bachelor");
Project project = Project.builder().title("title").projectType(bachelor).build();
project.setDateCreated(date);
when(milestoneActivityTemplateRepository.findActiveByPhase(isA(MilestonePhaseTemplate.class), eq(bachelor), eq(date))).thenReturn(list);
@ -191,7 +191,7 @@ public class MilestoneActivityTemplateServiceImplTest {
@Test
public void countActivitiesByProjectTypeAndDate() {
ProjectType projectType = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
ProjectType projectType = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
Date projectStartDate = new DateTime().minusDays(1).toDate();
long expected = 3L;
@ -262,7 +262,7 @@ public class MilestoneActivityTemplateServiceImplTest {
public void testGetActivitiesInOrder() {
List<MilestoneActivityTemplate> list = Collections.singletonList(new MilestoneActivityTemplate());
Date dateCreated = new DateTime().minusDays(1).toDate();
ProjectType projectType = new ProjectType(DegreeLevel.BACHELOR, "bachelor", "bachelor");
ProjectType projectType = new ProjectType(DegreeType.BACHELOR, "bachelor", "bachelor");
Project project = Project.builder().title("title").projectType(projectType).build();
project.setDateCreated(dateCreated);

@ -8,7 +8,7 @@ import se.su.dsv.scipro.milestones.dataobjects.MilestoneActivityTemplate;
import se.su.dsv.scipro.milestones.dataobjects.MilestonePhaseTemplate;
import se.su.dsv.scipro.milestones.service.MileStoneService;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectModule;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -33,7 +33,7 @@ public class MilestoneServiceImplIntegrationTest extends IntegrationTest {
@Before
public void setUp() throws Exception {
bachelor = save(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
bachelor = save(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
project = createProject();
user = save(User.builder().firstName("Bob").lastName("Sponge").emailAddress("bob@example.com").build());
MilestonePhaseTemplate phase = save(new MilestonePhaseTemplate("Phase 1", "Description"));

@ -7,7 +7,7 @@ import se.su.dsv.scipro.milestones.dataobjects.Milestone;
import se.su.dsv.scipro.milestones.dataobjects.MilestoneActivityTemplate;
import se.su.dsv.scipro.milestones.dataobjects.MilestonePhaseTemplate;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.IntegrationTest;
@ -30,7 +30,7 @@ public class MilestoneStatisticsServiceImplTest extends IntegrationTest {
@Before
public void setUp() throws Exception {
bachelor = save(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
bachelor = save(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
project = createProject();
MilestonePhaseTemplate phase = save(new MilestonePhaseTemplate("Phase 1", "Description"));
this.firstMilestone = createMilestone(phase);

@ -13,7 +13,7 @@ import se.su.dsv.scipro.report.GradingReport;
import se.su.dsv.scipro.report.GradingReportTemplate;
import se.su.dsv.scipro.report.ReviewerGradingReport;
import se.su.dsv.scipro.report.ReviewerGradingReportSubmittedEvent;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import static org.mockito.Matchers.any;
@ -43,7 +43,7 @@ public class GradingNotificationsTest {
}
private Project newProject() {
return Project.builder().title("Some project").projectType(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor")).build();
return Project.builder().title("Some project").projectType(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor")).build();
}
private ReviewerGradingReport newReviewerReport(final Project project) {

@ -8,7 +8,7 @@ import org.springframework.data.domain.PageRequest;
import se.su.dsv.scipro.notifications.dataobject.Notification;
import se.su.dsv.scipro.notifications.dataobject.ProjectEvent;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.IntegrationTest;
@ -89,7 +89,7 @@ public class NotificationServiceImplIntegrationTest extends IntegrationTest {
@Test
public void mark_read_for_project() {
final User user = save(User.builder().firstName("Bob").lastName("Sponge").emailAddress("bob@example.com").build());
final ProjectType bachelor = save(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
final ProjectType bachelor = save(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
final Project project = save(Project.builder().title("Project").projectType(bachelor).headSupervisor(user).build());
final ProjectEvent projectEvent = new ProjectEvent();
projectEvent.setProject(project);

@ -4,7 +4,7 @@ import org.junit.Before;
import org.junit.Test;
import se.su.dsv.scipro.file.FileDescription;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.Dates;
@ -80,7 +80,7 @@ public class CommentThreadServiceImplTest extends IntegrationTest {
}
private void createDefaultProjectType() {
ProjectType projectType = save(new ProjectType(DegreeLevel.NONE, "name", "description"));
ProjectType projectType = save(new ProjectType(DegreeType.NONE, "name", "description"));
this.projectType = save(projectType);
}

@ -17,7 +17,7 @@ import se.su.dsv.scipro.file.ProjectFileService;
import se.su.dsv.scipro.misc.DaysService;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.project.ProjectService;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.ProjectTypeSettings;
import se.su.dsv.scipro.system.User;
@ -215,7 +215,7 @@ public class PeerPortalImplTest {
private Project projectWithSettings() {
ProjectType projectType = new ProjectType(DegreeLevel.BACHELOR, "b", "b");
ProjectType projectType = new ProjectType(DegreeType.BACHELOR, "b", "b");
projectType.setProjectTypeSettings(new ProjectTypeSettings());
return Project.builder().title("title").projectType(projectType).build();
}
@ -250,7 +250,7 @@ public class PeerPortalImplTest {
private Project newProject() {
ProjectTypeSettings projectTypeSettings = new ProjectTypeSettings();
ProjectType projectType = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
ProjectType projectType = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
projectType.setProjectTypeSettings(projectTypeSettings);
return Project.builder().title("Peer project").projectType(projectType).build();
}

@ -5,7 +5,7 @@ import org.junit.Test;
import org.springframework.data.domain.PageRequest;
import se.su.dsv.scipro.file.FileDescription;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.Dates;
@ -35,7 +35,7 @@ public class PeerRequestServiceImplTest extends IntegrationTest {
public void setUp() throws Exception {
requester = save(User.builder().firstName("Bob").lastName("Sponge").emailAddress("bob@example.com").build());
User headSupervisor = save(User.builder().firstName("John").lastName("Doe").emailAddress("john@example.com").build());
projectType = save(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
projectType = save(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
project = Project.builder().title("title").projectType(projectType).headSupervisor(headSupervisor).build();
project.addProjectParticipant(requester);
save(project);

@ -5,7 +5,7 @@ import org.junit.Test;
import org.springframework.data.domain.PageRequest;
import se.su.dsv.scipro.file.FileDescription;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.Dates;
@ -109,7 +109,7 @@ public class PeerReviewServiceImplIntegrationTest extends IntegrationTest {
}
private void createDefaultProjectType() {
ProjectType projectType = save(new ProjectType(DegreeLevel.NONE, "name", "description"));
ProjectType projectType = save(new ProjectType(DegreeType.NONE, "name", "description"));
projectType.getProjectTypeSettings().setNumDaysToSubmitPeerReview(DAYS_TO_SUBMIT_PEER_REVIEW);
this.projectType = save(projectType);
}

@ -5,7 +5,7 @@ import org.junit.Test;
import org.springframework.data.domain.PageRequest;
import se.su.dsv.scipro.file.FileDescription;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.Dates;
@ -26,7 +26,7 @@ public class PeerReviewServiceImplTest extends IntegrationTest {
@Inject
private PeerReviewServiceImpl peerReviewService;
public static final ProjectType SOME_PROJECT_TYPE = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
public static final ProjectType SOME_PROJECT_TYPE = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
public static final Project SOME_PROJECT = Project.builder().title("Some title").projectType(SOME_PROJECT_TYPE).build();
private PeerRequest peerRequest;
private User reviewer;
@ -91,7 +91,7 @@ public class PeerReviewServiceImplTest extends IntegrationTest {
private Project newProject() {
User headSupervisor = save(User.builder().firstName("John").lastName("Doe").emailAddress("john@example.com").build());
ProjectType projectType = save(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
ProjectType projectType = save(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
return save(Project.builder().title("Title").projectType(projectType).headSupervisor(headSupervisor).build());
}

@ -2,7 +2,7 @@ package se.su.dsv.scipro.peer;
import org.junit.Test;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.ProjectTypeSettings;
import se.su.dsv.scipro.test.Dates;
@ -59,7 +59,7 @@ public class PeerReviewTest {
private Project defaultProject() {
ProjectTypeSettings projectTypeSettings = new ProjectTypeSettings();
ProjectType projectType = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
ProjectType projectType = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
projectType.setProjectTypeSettings(projectTypeSettings);
return Project.builder().title("Peer project").projectType(projectType).build();
}

@ -4,7 +4,7 @@ import org.joda.time.DateTime;
import org.junit.Before;
import org.junit.Test;
import org.springframework.data.domain.PageRequest;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.Unit;
import se.su.dsv.scipro.system.User;
@ -60,7 +60,7 @@ public class ProjectServiceImplIntegrationTest extends IntegrationTest {
User user2 = createUser();
ProjectType projectType = new ProjectType(DegreeLevel.MASTER, "Master", "Master");
ProjectType projectType = new ProjectType(DegreeType.MASTER, "Master", "Master");
save(projectType);
Project project = createProject(projectType, ProjectStatus.ACTIVE);
@ -278,7 +278,7 @@ public class ProjectServiceImplIntegrationTest extends IntegrationTest {
}
private ProjectType createProjectType() {
ProjectType projectType = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
ProjectType projectType = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
save(projectType);
return projectType;
}

@ -9,7 +9,7 @@ import org.mockito.Mock;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.runners.MockitoJUnitRunner;
import org.mockito.stubbing.Answer;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.UserBuilder;
@ -25,7 +25,7 @@ import static org.mockito.Mockito.*;
public class ProjectServiceImplTest {
public static final ProjectType SOME_PROJECT_TYPE = new ProjectType(DegreeLevel.BACHELOR, "Some project type", "Some description");
public static final ProjectType SOME_PROJECT_TYPE = new ProjectType(DegreeType.BACHELOR, "Some project type", "Some description");
@Mock
private ProjectRepo projectRepo;
@Mock

@ -2,7 +2,7 @@ package se.su.dsv.scipro.project;
import org.junit.Before;
import org.junit.Test;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import static org.hamcrest.core.IsEqual.equalTo;
@ -15,7 +15,7 @@ public class ProjectTest {
@Before
public void setUp() throws Exception {
ProjectType bachelor = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
ProjectType bachelor = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
project = Project.builder().title("Foo").projectType(bachelor).build();
}

@ -5,7 +5,7 @@ import org.junit.Before;
import org.junit.Test;
import org.springframework.data.domain.PageRequest;
import se.su.dsv.scipro.match.ApplicationPeriod;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.IntegrationTest;
@ -29,7 +29,7 @@ public class ProjectPartnerServiceImplTest extends IntegrationTest {
@Before
public void setUp() throws Exception {
user = save(User.builder().firstName("Bob").lastName("Sponge").emailAddress("bob@example.com").build());
projectType = save(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
projectType = save(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
final ApplicationPeriod applicationPeriod = new ApplicationPeriod("My period");
applicationPeriod.addProjectType(projectType);
this.applicationPeriod = save(applicationPeriod);

@ -8,7 +8,7 @@ import se.su.dsv.scipro.finalseminar.FinalSeminar;
import se.su.dsv.scipro.finalseminar.FinalSeminarOpposition;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.security.auth.roles.Roles;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.Language;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -38,7 +38,7 @@ public class GradingReportServiceImplIntegrationTest extends IntegrationTest {
@Before
public void setUp() throws Exception {
projectType = createProjectType(DegreeLevel.BACHELOR);
projectType = createProjectType(DegreeType.BACHELOR);
gradingReportTemplate = createGradingReportTemplate(projectType);
student = createStudent();
project = createProject(projectType, 30);
@ -304,8 +304,8 @@ public class GradingReportServiceImplIntegrationTest extends IntegrationTest {
return save(project);
}
private ProjectType createProjectType(DegreeLevel degreeLevel) {
ProjectType projectType = new ProjectType(degreeLevel, "Some name", "Some description");
private ProjectType createProjectType(DegreeType degreeType) {
ProjectType projectType = new ProjectType(degreeType, "Some name", "Some description");
return save(projectType);
}

@ -8,7 +8,7 @@ import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -30,7 +30,7 @@ public class GradingReportServiceImplTest {
@Before
public void setUp() throws Exception {
final ProjectType bachelor = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
final ProjectType bachelor = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
final GradingReportTemplate gradingReportTemplate = new GradingReportTemplate(bachelor, 15);
final Project project = Project.builder().title("My project").projectType(bachelor).build();
final User user = User.builder().firstName("John").lastName("Doe").emailAddress("john@example.com").build();

@ -6,7 +6,7 @@ import org.hamcrest.TypeSafeMatcher;
import org.junit.Before;
import org.junit.Test;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -25,8 +25,8 @@ public class GradingReportTemplateTest {
@Before
public void setUp() throws Exception {
bachelor = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
master = new ProjectType(DegreeLevel.MASTER, "master", "master");
bachelor = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
master = new ProjectType(DegreeType.MASTER, "master", "master");
}
@Test(expected = IllegalArgumentException.class)

@ -13,7 +13,7 @@ import se.su.dsv.scipro.file.FileDescriptionRepo;
import se.su.dsv.scipro.finalseminar.FinalSeminar;
import se.su.dsv.scipro.finalseminar.FinalSeminarOpposition;
import se.su.dsv.scipro.finalseminar.FinalSeminarOppositionRepo;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.system.UserRepo;
@ -31,7 +31,7 @@ import static org.mockito.Matchers.anyInt;
@RunWith(MockitoJUnitRunner.class)
public class OppositionReportServiceImplTest {
public static final ProjectType BACHELOR = new ProjectType(DegreeLevel.BACHELOR, "bachelor", "bachelor");
public static final ProjectType BACHELOR = new ProjectType(DegreeType.BACHELOR, "bachelor", "bachelor");
@Mock
OppositionReportRepo oppositionReportRepo;

@ -3,7 +3,7 @@ package se.su.dsv.scipro.report;
import org.junit.Before;
import org.junit.Test;
import se.su.dsv.scipro.finalseminar.FinalSeminarOpposition;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import java.util.ArrayList;
@ -18,7 +18,7 @@ public class OppositionReportTest {
@Before
public void prepareTemplate() {
ProjectType bachelor = new ProjectType(DegreeLevel.BACHELOR, "bachelor", "bachelor");
ProjectType bachelor = new ProjectType(DegreeType.BACHELOR, "bachelor", "bachelor");
GradingReportTemplate gradingReportTemplate = new GradingReportTemplate(bachelor, 30);
addCriteria(gradingReportTemplate);

@ -3,7 +3,7 @@ package se.su.dsv.scipro.report;
import org.junit.Before;
import org.junit.Test;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -21,7 +21,7 @@ public class SupervisorGradingReportTest {
@Before
public void prepareTemplate() {
ProjectType bachelor = new ProjectType(DegreeLevel.BACHELOR, "bachelor", "bachelor");
ProjectType bachelor = new ProjectType(DegreeType.BACHELOR, "bachelor", "bachelor");
project = Project.builder().title("Foo").projectType(bachelor).build();
gradingReportTemplate = new GradingReportTemplate(bachelor, 30);

@ -4,7 +4,7 @@ import org.junit.Before;
import org.junit.Test;
import se.su.dsv.scipro.file.FileUpload;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -27,7 +27,7 @@ public class FinalSeminarApprovalServiceImplTest extends ReviewingModuleTest {
public void setUp() throws Exception {
User reviewer = save(User.builder().firstName("Ronny").lastName("Reviewer").emailAddress("reviewer@dsv.su.se").build());
User headSupervisor = save(User.builder().firstName("John").lastName("Doe").emailAddress("john@example.com").build());
ProjectType bachelor = save(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
ProjectType bachelor = save(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
project = save(Project.builder().title("My project").projectType(bachelor).headSupervisor(headSupervisor).build());
project.addReviewer(reviewer);
}

@ -67,7 +67,7 @@ public class ReviewerDecisionReminderWorkerTest {
}
private Project newProject() {
var projectType = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
var projectType = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
var project = Project.builder().title("This is a title").projectType(projectType).build();
project.addReviewer(newUser());
project.setHeadSupervisor(newUser());

@ -17,7 +17,7 @@ import se.su.dsv.scipro.forum.dataobjects.ForumPost;
import se.su.dsv.scipro.forum.dataobjects.ForumThread;
import se.su.dsv.scipro.forum.dataobjects.ReviewerThread;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -79,7 +79,7 @@ public class ReviewerInteractionServiceImplTest {
}
private Project createProject() {
final ProjectType bachelor = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
final ProjectType bachelor = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
return Project.builder().title("Project").projectType(bachelor).build();
}
}

@ -6,7 +6,7 @@ import org.mockito.Matchers;
import org.springframework.data.domain.PageRequest;
import se.su.dsv.scipro.file.FileUpload;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.util.Either;
@ -36,7 +36,7 @@ public class ReviewingServiceImplTest extends ReviewingModuleTest {
public void setUp() throws Exception {
reviewer = save(User.builder().firstName("Ronny").lastName("Reviewer").emailAddress("reviewer@dsv.su.se").build());
User headSupervisor = save(User.builder().firstName("John").lastName("Doe").emailAddress("john@example.com").build());
ProjectType bachelor = save(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
ProjectType bachelor = save(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
project = save(Project.builder().title("My project").projectType(bachelor).headSupervisor(headSupervisor).build());
project.addReviewer(reviewer);
}

@ -18,19 +18,19 @@ public class ProjectTypeServiceImplIntegrationTest extends IntegrationTest {
private ProjectTypeService projectTypeService;
@Test
public void find_by_specific_degree_levels() {
ProjectType bachelor = createProjectType(DegreeLevel.BACHELOR, "bachelor");
createProjectType(DegreeLevel.MASTER, "master");
createProjectType(DegreeLevel.NONE, "ICT4D");
public void find_by_specific_degree_types() {
ProjectType bachelor = createProjectType(DegreeType.BACHELOR, "bachelor");
createProjectType(DegreeType.MASTER, "master");
createProjectType(DegreeType.NONE, "ICT4D");
List<ProjectType> projectTypes = asList(bachelor);
assertEquals(projectTypes, projectTypeService.findByDegreeLevels(asList(DegreeLevel.BACHELOR)));
assertEquals(projectTypes, projectTypeService.findByDegreeTypes(asList(DegreeType.BACHELOR)));
}
@Test
public void find_with_module_activated() {
ProjectType withModule = createProjectType(DegreeLevel.NONE, "bar");
ProjectType withoutModule = createProjectType(DegreeLevel.MASTER, "foo");
ProjectType withModule = createProjectType(DegreeType.NONE, "bar");
ProjectType withoutModule = createProjectType(DegreeType.MASTER, "foo");
withoutModule.removeModule(ProjectModule.MATCH);
save(withoutModule);
@ -43,8 +43,8 @@ public class ProjectTypeServiceImplIntegrationTest extends IntegrationTest {
@Test
public void find_projects_types_from_supervisors_active_projects() {
User supervisor = save(User.builder().firstName("Bob").lastName("Sponge").emailAddress("bob@example.com").build());
ProjectType bachelor = createProjectType(DegreeLevel.BACHELOR, "bachelor");
createProjectType(DegreeLevel.MASTER, "master");
ProjectType bachelor = createProjectType(DegreeType.BACHELOR, "bachelor");
createProjectType(DegreeType.MASTER, "master");
save(Project.builder().title("bachelor").projectType(bachelor).headSupervisor(supervisor).build());
save(Project.builder().title("another bachelor").projectType(bachelor).headSupervisor(supervisor).build());
@ -58,8 +58,8 @@ public class ProjectTypeServiceImplIntegrationTest extends IntegrationTest {
@Test
public void find_projects_types_from_supervisors_active_projects_count_following_projects_as_well() {
User supervisor = save(User.builder().firstName("Bob").lastName("Sponge").emailAddress("bob@example.com").build());
ProjectType bachelor = createProjectType(DegreeLevel.BACHELOR, "bachelor");
ProjectType master = createProjectType(DegreeLevel.MASTER, "master");
ProjectType bachelor = createProjectType(DegreeType.BACHELOR, "bachelor");
ProjectType master = createProjectType(DegreeType.MASTER, "master");
save(Project.builder().title("bachelor").projectType(bachelor).headSupervisor(supervisor).build());
Project reviewingProject = Project.builder().title("another bachelor").projectType(master).headSupervisor(save(User.builder().firstName("Bob").lastName("Sponge").emailAddress("bob@example.com").build())).build();
@ -74,19 +74,19 @@ public class ProjectTypeServiceImplIntegrationTest extends IntegrationTest {
@Test
public void specified_module_exists_on_at_least_one_project_type() {
createProjectType(DegreeLevel.BACHELOR, "bachelor");
createProjectType(DegreeType.BACHELOR, "bachelor");
assertTrue(projectTypeService.projectTypeWithModuleExists(ProjectModule.MATCH));
}
@Test
public void specified_module_does_not_exist() {
ProjectType bachelor = createProjectType(DegreeLevel.BACHELOR, "bachelor");
ProjectType bachelor = createProjectType(DegreeType.BACHELOR, "bachelor");
bachelor.removeModule(ProjectModule.MATCH);
assertFalse(projectTypeService.projectTypeWithModuleExists(ProjectModule.MATCH));
}
private ProjectType createProjectType(DegreeLevel degreeLevel, String name) {
ProjectType projectType = new ProjectType(degreeLevel, name, "description");
private ProjectType createProjectType(DegreeType degreeType, String name) {
ProjectType projectType = new ProjectType(degreeType, name, "description");
return save(projectType);
}
}

@ -15,8 +15,8 @@ public class ProjectTypeServiceImplTest extends IntegrationTest {
@Test
public void findAllDeleted() {
ProjectType bachelor = save(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"));
ProjectType master = new ProjectType(DegreeLevel.MASTER, "Master", "Master");
ProjectType bachelor = save(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"));
ProjectType master = new ProjectType(DegreeType.MASTER, "Master", "Master");
master.setDeleted(true);
save(master);

@ -4,7 +4,7 @@ import se.su.dsv.scipro.forum.dataobjects.ForumPost;
import se.su.dsv.scipro.forum.dataobjects.ForumThread;
import se.su.dsv.scipro.forum.dataobjects.ProjectThread;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
public class ForumBuilder {
@ -25,7 +25,7 @@ public class ForumBuilder {
}
public ProjectThread createThread() {
ProjectType projectType = new ProjectType(DegreeLevel.BACHELOR, "Some project type", "Some description");
ProjectType projectType = new ProjectType(DegreeType.BACHELOR, "Some project type", "Some description");
Project project = Project.builder().title("Some title").projectType(projectType).build();
project.setId(1L);
ForumThread forumThread = new ForumThread();

@ -5,7 +5,7 @@ import se.su.dsv.scipro.match.Idea;
import se.su.dsv.scipro.match.IdeaParticipation;
import se.su.dsv.scipro.match.Match;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -14,8 +14,8 @@ import java.util.*;
public class ObjectMother {
public static final ProjectType BACHELOR = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
public static final ProjectType MASTER = new ProjectType(DegreeLevel.MASTER, "Master", "Master");
public static final ProjectType BACHELOR = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
public static final ProjectType MASTER = new ProjectType(DegreeType.MASTER, "Master", "Master");
public static final User SOME_USER = User.builder().firstName("Kalle").lastName("Testare").emailAddress("kalle@dsv.su.se").build();
public static final Project SOME_PROJECT = Project.builder()

@ -3,7 +3,7 @@ package se.su.dsv.scipro.test;
import se.su.dsv.scipro.file.FileDescription;
import se.su.dsv.scipro.finalseminar.FinalSeminar;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
public class SeminarBuilder {
@ -13,7 +13,7 @@ public class SeminarBuilder {
DomainObjects.injectId(seminar, 1L);
seminar.setDocument(new FileDescription());
if (seminar.getProject() == null) {
ProjectType projectType = new ProjectType(DegreeLevel.BACHELOR, "Some project type", "Some description");
ProjectType projectType = new ProjectType(DegreeType.BACHELOR, "Some project type", "Some description");
Project project = Project.builder()
.title("Some title")
.projectType(projectType)

@ -8,7 +8,7 @@ import org.mockito.{Matchers, Mock}
import se.su.dsv.scipro.notifications.dataobject.{NotificationSource, ProjectEvent}
import se.su.dsv.scipro.project.Project
import se.su.dsv.scipro.report.{ReviewerGradingReportInitialAssessmentDoneEvent, GradingReportTemplate, SupervisorGradingReportInitialAssessmentDoneEvent}
import se.su.dsv.scipro.system.{DegreeLevel, ProjectType, User}
import se.su.dsv.scipro.system.{DegreeType, ProjectType, User}
@RunWith(classOf[MockitoJUnitRunner])
class GradingReportNotificationsTest {
@ -17,7 +17,7 @@ class GradingReportNotificationsTest {
private var gradingNotifications: GradingReportNotifications = _
val bachelor = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor")
val bachelor = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor")
val project = Project.builder().title("My project").projectType(bachelor).build()
val author = User.builder().firstName("First").lastName("Author").emailAddress("first@example.com").build()
val gradingReportTemplate = new GradingReportTemplate(bachelor, 15)

@ -18,7 +18,7 @@ import se.su.dsv.scipro.project.ProjectRepo;
import se.su.dsv.scipro.project.ProjectStatus;
import se.su.dsv.scipro.project.QProject;
import se.su.dsv.scipro.reusable.SciProUtilities;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.workerthreads.AbstractWorker;
@ -67,7 +67,7 @@ public class ProjectExporter extends AbstractWorker {
protected void doWork() {
beginTransaction();
Iterable<Project> projects = projectRepo.findAll(
QProject.project.projectType.degreeLevel.in(DegreeLevel.BACHELOR, DegreeLevel.MASTER, DegreeLevel.MAGISTER)
QProject.project.projectType.degreeType.in(DegreeType.BACHELOR, DegreeType.MASTER, DegreeType.MAGISTER)
.and(QProject.project.headSupervisor.unit.isNotNull())
.and(anyOf(
QProject.project.lastModified.after(oneWeekAgo()),
@ -204,7 +204,7 @@ public class ProjectExporter extends AbstractWorker {
}
private static EducationalLevel mapLevel(Project project) {
switch (project.getProjectType().getDegreeLevel()) {
switch (project.getProjectType().getDegreeType()) {
case BACHELOR:
return EducationalLevel.FIRST_CYCLE;
case MAGISTER: // fall-through

@ -8,7 +8,7 @@ import se.su.dsv.scipro.io.exceptions.ExternalExportException;
import se.su.dsv.scipro.daisyExternal.http.DaisyAPI;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.reusable.SciProUtilities;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.Unit;
import se.su.dsv.scipro.system.User;
@ -23,12 +23,12 @@ public class ExternalExporterDaisyImpl implements ExternalExporter {
private static final Logger LOGGER = LoggerFactory.getLogger(ExternalExporterDaisyImpl.class);
static final int MAX_TITLE_LENGTH = 255;
private static Map<DegreeLevel, EducationalLevel> classMap = new HashMap<>() {
private static Map<DegreeType, EducationalLevel> classMap = new HashMap<>() {
{
put(DegreeLevel.NONE, EducationalLevel.UNKNOWN);
put(DegreeLevel.BACHELOR, EducationalLevel.FIRST_CYCLE);
put(DegreeLevel.MAGISTER, EducationalLevel.SECOND_CYCLE);
put(DegreeLevel.MASTER, EducationalLevel.SECOND_CYCLE);
put(DegreeType.NONE, EducationalLevel.UNKNOWN);
put(DegreeType.BACHELOR, EducationalLevel.FIRST_CYCLE);
put(DegreeType.MAGISTER, EducationalLevel.SECOND_CYCLE);
put(DegreeType.MASTER, EducationalLevel.SECOND_CYCLE);
}
};
@ -76,7 +76,7 @@ public class ExternalExporterDaisyImpl implements ExternalExporter {
}
private EducationalLevel toDaisyLevel(Project project) {
return classMap.get(project.getProjectTypeDegreeLevel());
return classMap.get(project.getProjectTypeDegreeType());
}
@Override

@ -18,7 +18,7 @@ import se.su.dsv.scipro.io.facade.ExporterFacade;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.project.ProjectRepo;
import se.su.dsv.scipro.project.ProjectStatus;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.Unit;
import se.su.dsv.scipro.system.User;
@ -78,14 +78,14 @@ public class ProjectExporterTest {
author.setIdentifier(AUTHOR_IDENTIFIER);
author.setId(234L);
ProjectType bachelor = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
ProjectType bachelor = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
newProject = Project.builder()
.title("New project")
.projectType(bachelor)
.headSupervisor(supervisor)
.build();
ProjectType master = new ProjectType(DegreeLevel.MASTER, "Master", "Master");
ProjectType master = new ProjectType(DegreeType.MASTER, "Master", "Master");
exportedProject = Project.builder()
.title("Exported project")
.projectType(master)

@ -9,7 +9,7 @@ import org.mockito.runners.MockitoJUnitRunner;
import se.su.dsv.scipro.daisyExternal.http.DaisyAPI;
import se.su.dsv.scipro.io.dto.Thesis;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.Unit;
@ -26,7 +26,7 @@ import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public class ExternalExporterDaisyImplTest {
private static final ProjectType BACHELOR = new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor");
private static final ProjectType BACHELOR = new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor");
@Mock
private DaisyAPI daisyAPI;

@ -31,7 +31,7 @@ import se.su.dsv.scipro.generalsystemsettings.GeneralSystemSettings;
import se.su.dsv.scipro.generalsystemsettings.GeneralSystemSettingsService;
import se.su.dsv.scipro.mail.*;
import se.su.dsv.scipro.reusable.SciProUtilities;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.ProjectTypeService;
import se.su.dsv.scipro.system.User;
@ -110,7 +110,7 @@ public class AdminMailPanel extends Panel {
private void setUpProjectTypeSelection() {
AjaxCheckBoxMultipleChoice<ProjectType> projectType = new AjaxCheckBoxMultipleChoice<>("projectType",
projectTypeService.findByDegreeLevels(Arrays.asList(DegreeLevel.BACHELOR, DegreeLevel.MASTER, DegreeLevel.MAGISTER)),
projectTypeService.findByDegreeTypes(Arrays.asList(DegreeType.BACHELOR, DegreeType.MASTER, DegreeType.MAGISTER)),
projectTypeService.findAllActive(),
new LambdaRenderer<>(ProjectType::getName, ProjectType::getId)) {
@Override

@ -6,8 +6,8 @@
<form wicket:id="projectTypeForm" role="form">
<div wicket:id="feedback"></div>
<div class="form-group">
<label wicket:for="degreeLevel">Degree level</label>
<select class="form-control" wicket:id="degreeLevel"></select>
<label wicket:for="degreeType">Degree level</label>
<select class="form-control" wicket:id="degreeType"></select>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" wicket:id="reviewed">

@ -6,7 +6,7 @@ import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.LambdaModel;
import org.apache.wicket.model.Model;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.ProjectTypeService;
@ -44,9 +44,9 @@ public class AdminProjectTypePanel extends Panel {
TextField<String> name = new TextField<>("name", LambdaModel.of(model, ProjectType::getName, ProjectType::setName));
add(name.setRequired(true));
add(new TextArea<>("description", LambdaModel.of(model, ProjectType::getDescription, ProjectType::setDescription)));
DropDownChoice<DegreeLevel> degreeLevel = new DropDownChoice<>("degreeLevel", LambdaModel.of(model, ProjectType::getDegreeLevel, ProjectType::setDegreeLevel), Arrays.asList(DegreeLevel.values()));
degreeLevel.setRequired(true);
add(degreeLevel);
DropDownChoice<DegreeType> degreeType = new DropDownChoice<>("degreeType", LambdaModel.of(model, ProjectType::getDegreeType, ProjectType::setDegreeType), Arrays.asList(DegreeType.values()));
degreeType.setRequired(true);
add(degreeType);
add(new CheckBox("reviewed", LambdaModel.of(model, ProjectType::isReviewed, ProjectType::setReviewed)).setOutputMarkupId(true));
Button createButton = new Button("createButton") {

@ -99,12 +99,12 @@ public class ChecklistTemplateDataPanel extends Panel {
columns.add(new AbstractExportableColumn<>(Model.of("Types")) {
@Override
public void populateItem(Item<ICellPopulator<ChecklistTemplate>> item, String id, IModel<ChecklistTemplate> checklistTemplateIModel) {
item.add(new Label(id, formatDegreeLevels(checklistTemplateIModel.getObject())));
item.add(new Label(id, formatDegreeTypes(checklistTemplateIModel.getObject())));
}
@Override
public IModel<String> getDataModel(IModel<ChecklistTemplate> rowModel) {
return Model.of(formatDegreeLevels(rowModel.getObject()).toString());
return Model.of(formatDegreeTypes(rowModel.getObject()).toString());
}
});
columns.add(new LambdaColumn<>(Model.of("Categories"), this::getCategoryNames));
@ -137,7 +137,8 @@ public class ChecklistTemplateDataPanel extends Panel {
add(titleField);
}
private StringBuilder formatDegreeLevels(ChecklistTemplate checklistTemplate) {
//TODO Is this really formatting a degree type?
private StringBuilder formatDegreeTypes(ChecklistTemplate checklistTemplate) {
StringBuilder stringBuilder = new StringBuilder();
for (Iterator<ProjectType> iterator = checklistTemplate.getProjectTypes().iterator(); iterator.hasNext(); ) {
ProjectType next = iterator.next();

@ -63,7 +63,7 @@ public class ProjectDataPanel extends Panel {
filter = new ProjectService.Filter();
filter.setFilterExternal(false);
final List<ProjectType> defaultProjectTypes
= projectTypeService.findByDegreeLevels(Arrays.asList(DegreeLevel.BACHELOR, DegreeLevel.MASTER, DegreeLevel.MAGISTER));
= projectTypeService.findByDegreeTypes(Arrays.asList(DegreeType.BACHELOR, DegreeType.MASTER, DegreeType.MAGISTER));
filter.setProjectTypes(defaultProjectTypes);
filter.setStatuses(new ArrayList<>(Collections.singletonList(ProjectStatus.ACTIVE)));
add(new ProjectFilterPanel("filterForm", Model.of(filter)) {

@ -28,7 +28,7 @@ import se.su.dsv.scipro.project.ProjectService;
import se.su.dsv.scipro.project.ProjectStatus;
import se.su.dsv.scipro.security.auth.Authorization;
import se.su.dsv.scipro.security.auth.roles.Roles;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.ProjectTypeService;
import se.su.dsv.scipro.system.User;
@ -182,7 +182,7 @@ public class ProjectExternalOrganisationPanel extends Panel {
private void addProjectTypeFilter() {
AjaxCheckBoxMultipleChoice<ProjectType> projectType = new AjaxCheckBoxMultipleChoice<>("projectTypeFilter",
projectTypeService.findByDegreeLevels(Arrays.asList(DegreeLevel.BACHELOR, DegreeLevel.MASTER, DegreeLevel.MAGISTER)),
projectTypeService.findByDegreeTypes(Arrays.asList(DegreeType.BACHELOR, DegreeType.MASTER, DegreeType.MAGISTER)),
projectTypeService.findAllActive(),
new LambdaRenderer<>(ProjectType::getName, ProjectType::getId)) {
@Override

@ -53,7 +53,7 @@ public class ProjectOppositionPage extends AbstractProjectDetailsPage implements
filter = new FinalSeminarService.Filter();
filter.setFromDate(new Date());
filter.setLazyDeleted(Boolean.FALSE);
filter.setDegreeLevel(getActiveProject().getProjectType().getDegreeLevel());
filter.setDegreeType(getActiveProject().getProjectType().getDegreeType());
filter.setOnlyActiveProjects(Boolean.TRUE);
add(new FeedbackPanel("feedback"));

@ -4,7 +4,7 @@ import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import java.util.Calendar;
@ -16,7 +16,7 @@ public class TemplatePanel extends Panel {
public TemplatePanel(String id, final IModel<Project> projectIModel) {
super(id, projectIModel);
final DegreeLevel degreeLevel = projectIModel.getObject().getProjectType().getDegreeLevel();
final DegreeType degreeType = projectIModel.getObject().getProjectType().getDegreeType();
final WebMarkupContainer upto16 = new WebMarkupContainer("upto2016") {
@Override
@ -25,7 +25,7 @@ public class TemplatePanel extends Panel {
setVisibilityAllowed(getYear(projectIModel.getObject()) < 2017);
}
};
addTemplates(degreeLevel, upto16);
addTemplates(degreeType, upto16);
add(upto16);
final WebMarkupContainer from2017 = new WebMarkupContainer("from2017") {
@Override
@ -34,30 +34,30 @@ public class TemplatePanel extends Panel {
setVisibilityAllowed(getYear(projectIModel.getObject()) >= 2017);
}
};
addTemplates(degreeLevel, from2017);
addTemplates(degreeType, from2017);
add(from2017);
}
private void addTemplates(final DegreeLevel degreeLevel, final WebMarkupContainer container) {
private void addTemplates(final DegreeType degreeType, final WebMarkupContainer container) {
container.add(new WebMarkupContainer(BACHELOR_CONTAINER) {
@Override
protected void onConfigure() {
super.onConfigure();
setVisibilityAllowed(degreeLevel == DegreeLevel.BACHELOR);
setVisibilityAllowed(degreeType == DegreeType.BACHELOR);
}
});
container.add(new WebMarkupContainer(MASTER_15_CONTAINER) {
@Override
protected void onConfigure() {
super.onConfigure();
setVisibilityAllowed(degreeLevel == DegreeLevel.MAGISTER);
setVisibilityAllowed(degreeType == DegreeType.MAGISTER);
}
});
container.add(new WebMarkupContainer(MASTER_30_CONTAINER) {
@Override
protected void onConfigure() {
super.onConfigure();
setVisibilityAllowed(degreeLevel == DegreeLevel.MASTER);
setVisibilityAllowed(degreeType == DegreeType.MASTER);
}
});
}

@ -126,7 +126,7 @@ public class ProjectAllSupervisorIdeasPanel extends GenericPanel<ApplicationPeri
var projectTypes = getModel()
.map(ApplicationPeriod::getProjectTypes)
.map(projectTypes1 -> projectTypes1.stream()
.filter(this::isCorrectDegreeLevel)
.filter(this::isCorrectDegreeType)
.collect(Collectors.toList())
);
@ -159,10 +159,10 @@ public class ProjectAllSupervisorIdeasPanel extends GenericPanel<ApplicationPeri
researchAreaFilter(keywordFilter);
}
private boolean isCorrectDegreeLevel(final ProjectType projectType) {
private boolean isCorrectDegreeType(final ProjectType projectType) {
final User user = SciProSession.get().getUser();
return user.getThesisLevel() == ProjectType.UNKNOWN
|| user.getThesisLevel() == projectType.getDegreeLevel();
return user.getDegreeType() == ProjectType.UNKNOWN
|| user.getDegreeType() == projectType.getDegreeType();
}
private void researchAreaFilter(final KeywordFilterPanel keywordFilter) {

@ -148,8 +148,8 @@ public class ProjectIdeaSubmissionPanel extends GenericPanel<Idea> {
.map(projectTypes1 -> projectTypes1.stream()
.filter(projectType -> {
final User user = SciProSession.get().getUser();
return user.getThesisLevel() == ProjectType.UNKNOWN
|| user.getThesisLevel() == projectType.getDegreeLevel();
return user.getDegreeType() == ProjectType.UNKNOWN
|| user.getDegreeType() == projectType.getDegreeType();
})
.collect(Collectors.toList())
);

@ -59,7 +59,7 @@ public class PeerReviewStatisticsPanel extends Panel {
}
private void prepareDefaultFilter() {
filter.setProjectTypes(projectTypeService.findByDegreeLevels(EnumSet.of(DegreeLevel.BACHELOR, DegreeLevel.MASTER, DegreeLevel.MAGISTER)));
filter.setProjectTypes(projectTypeService.findByDegreeTypes(EnumSet.of(DegreeType.BACHELOR, DegreeType.MASTER, DegreeType.MAGISTER)));
filter.setCreatedBefore(new Date());
filter.setCreatedAfter(DateTime.now().minusMonths(6).toDate());
}

@ -14,7 +14,7 @@ import se.su.dsv.scipro.project.ProjectService;
import se.su.dsv.scipro.project.pages.ProjectPage;
import se.su.dsv.scipro.project.pages.ProjectStartPage;
import se.su.dsv.scipro.session.SciProSession;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectModule;
import se.su.dsv.scipro.system.ProjectTypeService;
@ -45,7 +45,7 @@ public class ProjectTabMenuPanel extends AbstractMenuPanel {
if (matchIsEnabled()) {
itemList.add(new MenuItem(IDEAS, ProjectIdeaStartPage.class, MenuHighlightProjectIdeas.class));
}
if (studentHasProjectWithDegreeLevel()) {
if (studentHasProjectWithDegreeType()) {
itemList.add(new MenuItem(ALL_FINAL_SEMINARS, FinalSeminarProjectListPage.class, MenuHighlightAuthorFinalSeminars.class));
}
return itemList;
@ -55,10 +55,10 @@ public class ProjectTabMenuPanel extends AbstractMenuPanel {
return projectTypeService.projectTypeWithModuleExists(ProjectModule.MATCH);
}
private boolean studentHasProjectWithDegreeLevel() {
List<DegreeLevel> degreeLevels = Arrays.asList(DegreeLevel.BACHELOR, DegreeLevel.MASTER, DegreeLevel.MAGISTER);
private boolean studentHasProjectWithDegreeType() {
List<DegreeType> degreeTypes = Arrays.asList(DegreeType.BACHELOR, DegreeType.MASTER, DegreeType.MAGISTER);
for (Project project : projectService.getProjectsByUser(SciProSession.get().getUser())) {
if (degreeLevels.contains(project.getProjectTypeDegreeLevel())) {
if (degreeTypes.contains(project.getProjectTypeDegreeType())) {
return true;
}
}

@ -13,7 +13,7 @@ import se.su.dsv.scipro.components.menuhighlighting.MenuHighlightAdminAuthorStat
import se.su.dsv.scipro.date.DeactivatableDatePickerPanel;
import se.su.dsv.scipro.project.ProjectService;
import se.su.dsv.scipro.project.ProjectStatus;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.ProjectTypeService;
@ -94,7 +94,7 @@ public class AdminAuthorsStatisticsPage extends AbstractAdminStatisticsPage impl
private void addProjectTypeFilter() {
AjaxCheckBoxMultipleChoice<ProjectType> projectType = new AjaxCheckBoxMultipleChoice<>(PROJECT_TYPE_FILTER,
projectTypeService.findByDegreeLevels(Arrays.asList(DegreeLevel.BACHELOR, DegreeLevel.MASTER, DegreeLevel.MAGISTER)),
projectTypeService.findByDegreeTypes(Arrays.asList(DegreeType.BACHELOR, DegreeType.MASTER, DegreeType.MAGISTER)),
projectTypeService.findAllActive(),
new LambdaRenderer<>(ProjectType::getName, ProjectType::getId)) {
@Override

@ -27,7 +27,7 @@ import se.su.dsv.scipro.project.ProjectStatus;
import se.su.dsv.scipro.reviewing.FinalSeminarApproval;
import se.su.dsv.scipro.reviewing.FinalSeminarApprovalService;
import se.su.dsv.scipro.reviewing.ProjectFinalSeminarStatisticsService;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.ProjectTypeService;
@ -142,7 +142,7 @@ public class AdminFinalSeminarStatisticsPage extends AbstractAdminStatisticsPage
filter.setFinalSeminarCreatedAfter(new LocalDate().minusMonths(6).toDate());
AjaxCheckBoxMultipleChoice<ProjectType> projectType = new AjaxCheckBoxMultipleChoice<>("projectTypeFilter",
projectTypeService.findByDegreeLevels(Arrays.asList(DegreeLevel.BACHELOR, DegreeLevel.MASTER, DegreeLevel.MAGISTER)),
projectTypeService.findByDegreeTypes(Arrays.asList(DegreeType.BACHELOR, DegreeType.MASTER, DegreeType.MAGISTER)),
projectTypeService.findAllActive(),
new LambdaRenderer<>(ProjectType::getName, ProjectType::getId)) {
@Override

@ -14,7 +14,7 @@ import se.su.dsv.scipro.milestones.dataobjects.MilestoneActivityTemplate;
import se.su.dsv.scipro.milestones.service.MilestoneActivityTemplateService;
import se.su.dsv.scipro.milestones.service.MilestoneStatisticsService;
import se.su.dsv.scipro.project.ProjectStatus;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.ProjectTypeService;
@ -106,7 +106,7 @@ public class AdminMedianMilestonePage extends AbstractAdminStatisticsPage {
projectStatus.setRequired(true);
add(projectStatus);
params.setProjectTypes(projectTypeService.findByDegreeLevels(Arrays.asList(DegreeLevel.BACHELOR, DegreeLevel.MASTER, DegreeLevel.MAGISTER)));
params.setProjectTypes(projectTypeService.findByDegreeTypes(Arrays.asList(DegreeType.BACHELOR, DegreeType.MASTER, DegreeType.MAGISTER)));
CheckBoxMultipleChoice<ProjectType> projectType = new BootstrapCheckBoxMultipleChoice<>("projectTypeFilter",
LambdaModel.of(params::getProjectTypes, params::setProjectTypes),
projectTypeService.findAllActive(),

@ -11,7 +11,7 @@ import se.su.dsv.scipro.components.InfoPanel;
import se.su.dsv.scipro.components.LambdaRenderer;
import se.su.dsv.scipro.project.ProjectPeopleStatisticsService;
import se.su.dsv.scipro.project.ProjectService;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.ProjectTypeService;
@ -40,7 +40,7 @@ public class AdminPeopleStatisticsPage extends AbstractAdminStatisticsPage {
add(container);
params = new ProjectService.Filter();
params.setProjectTypes(projectTypeService.findByDegreeLevels(Arrays.asList(DegreeLevel.BACHELOR, DegreeLevel.MASTER, DegreeLevel.MAGISTER)));
params.setProjectTypes(projectTypeService.findByDegreeTypes(Arrays.asList(DegreeType.BACHELOR, DegreeType.MASTER, DegreeType.MAGISTER)));
AjaxCheckBoxMultipleChoice<ProjectType> projectType = new AjaxCheckBoxMultipleChoice<>("projectTypeFilter",
LambdaModel.of(params::getProjectTypes, params::setProjectTypes),

@ -25,7 +25,7 @@ import se.su.dsv.scipro.project.ProjectService;
import se.su.dsv.scipro.project.ProjectStatus;
import se.su.dsv.scipro.springdata.services.SupervisorService;
import se.su.dsv.scipro.springdata.services.UnitService;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.ProjectTypeService;
import se.su.dsv.scipro.system.Unit;
@ -127,7 +127,7 @@ public class AdminUnitStatisticsPanel extends Panel {
private void addProjectTypesFilter() {
AjaxCheckBoxMultipleChoice<ProjectType> projectTypeFilter = new AjaxCheckBoxMultipleChoice<>("projectTypeFilter",
projectTypeService.findByDegreeLevels(Arrays.asList(DegreeLevel.BACHELOR, DegreeLevel.MASTER, DegreeLevel.MAGISTER)),
projectTypeService.findByDegreeTypes(Arrays.asList(DegreeType.BACHELOR, DegreeType.MASTER, DegreeType.MAGISTER)),
projectTypeService.findAllActive(),
new LambdaRenderer<>(ProjectType::getName, ProjectType::getId)) {
@Override

@ -21,7 +21,7 @@ import se.su.dsv.scipro.milestones.service.MileStoneService;
import se.su.dsv.scipro.milestones.service.MilestoneActivityTemplateService;
import se.su.dsv.scipro.project.ProjectService;
import se.su.dsv.scipro.project.ProjectStatus;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectModule;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.ProjectTypeService;
@ -84,7 +84,7 @@ public class MilestoneStatisticsPanel extends Panel {
}
private void prepareDefaultFilter() {
filter.setProjectTypes(projectTypeService.findByDegreeLevels(EnumSet.of(DegreeLevel.BACHELOR, DegreeLevel.MASTER, DegreeLevel.MAGISTER)));
filter.setProjectTypes(projectTypeService.findByDegreeTypes(EnumSet.of(DegreeType.BACHELOR, DegreeType.MASTER, DegreeType.MAGISTER)));
filter.setProjectStatuses(EnumSet.of(ProjectStatus.ACTIVE));
filter.setMileStoneCompletedBefore(new Date());
filter.setProjectStartedBefore(new Date());

@ -11,7 +11,7 @@ import se.su.dsv.scipro.SciProTest;
import se.su.dsv.scipro.checklist.Checklist;
import se.su.dsv.scipro.checklists.ProjectViewChecklistPage;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.util.PageParameterKeys;
@ -26,7 +26,7 @@ public class ActivityPlanPanelTest extends SciProTest {
@Before
public void setUp() throws Exception {
project = Project.builder().title("My project").projectType(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor")).headSupervisor(new User()).build();
project = Project.builder().title("My project").projectType(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor")).headSupervisor(new User()).build();
project.setId(20934L);
}

@ -14,7 +14,7 @@ import se.su.dsv.scipro.notifications.dataobject.NotificationSource;
import se.su.dsv.scipro.notifications.dataobject.ProjectEvent;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.security.auth.roles.Roles;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectModule;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -44,7 +44,7 @@ public class EditActivityPanelTest extends SciProTest {
project = Project.builder()
.title("some title")
.projectType(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"))
.projectType(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"))
.headSupervisor(supervisor)
.build();
DomainObjects.injectId(project, 1L);

@ -7,7 +7,7 @@ import org.mockito.Matchers;
import org.mockito.Mockito;
import se.su.dsv.scipro.PageTest;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
import se.su.dsv.scipro.test.DomainObjects;
@ -23,7 +23,7 @@ public class ProjectActivityPlanPageTest extends PageTest {
User supervisor = new UserBuilder().setFirstName("Super").setLastName("Supersson").create();
Project project = Project.builder()
.title("some title")
.projectType(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"))
.projectType(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"))
.headSupervisor(supervisor)
.build();
DomainObjects.injectId(project, 1L);

@ -8,7 +8,7 @@ import se.su.dsv.scipro.SciProTest;
import se.su.dsv.scipro.basepages.errorpages.AccessDeniedPage;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.security.auth.roles.Roles;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectModule;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -41,7 +41,7 @@ public class ProjectEditActivityPageTest extends SciProTest {
Project project = Project.builder()
.title("some title")
.projectType(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"))
.projectType(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"))
.headSupervisor(supervisor)
.build();
DomainObjects.injectId(project, 1L);
@ -72,7 +72,7 @@ public class ProjectEditActivityPageTest extends SciProTest {
projectParticipants.addAll(Collections.singletonList(user));
Project project = Project.builder()
.title("some title")
.projectType(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"))
.projectType(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"))
.projectParticipants(projectParticipants)
.headSupervisor(supervisor)
.build();

@ -8,7 +8,7 @@ import se.su.dsv.scipro.SciProTest;
import se.su.dsv.scipro.basepages.errorpages.AccessDeniedPage;
import se.su.dsv.scipro.project.Project;
import se.su.dsv.scipro.security.auth.roles.Roles;
import se.su.dsv.scipro.system.DegreeLevel;
import se.su.dsv.scipro.system.DegreeType;
import se.su.dsv.scipro.system.ProjectModule;
import se.su.dsv.scipro.system.ProjectType;
import se.su.dsv.scipro.system.User;
@ -37,7 +37,7 @@ public class SupervisorEditActivityPageTest extends SciProTest {
Project project = Project.builder()
.title("some title")
.projectType(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"))
.projectType(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"))
.build();
DomainObjects.injectId(project, 1L);
when(projectService.findOne(Matchers.anyLong())).thenReturn(project);
@ -64,7 +64,7 @@ public class SupervisorEditActivityPageTest extends SciProTest {
Project project = Project.builder()
.title("some title")
.projectType(new ProjectType(DegreeLevel.BACHELOR, "Bachelor", "Bachelor"))
.projectType(new ProjectType(DegreeType.BACHELOR, "Bachelor", "Bachelor"))
.headSupervisor(user)
.build();
DomainObjects.injectId(project, 1L);

Some files were not shown because too many files have changed in this diff Show More