Adding NotNull annotations for ApplicationPeriods.
This commit is contained in:
parent
b5c106f5a1
commit
d16cea6ab9
pom.xml
resources/db_update_scripts
src
main/java/se/su/dsv/scipro/match
test/java/se/su/dsv/scipro/match
14
pom.xml
14
pom.xml
@ -234,6 +234,18 @@
|
||||
<version>1.4.1</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.hibernate</groupId>
|
||||
<artifactId>hibernate-validator</artifactId>
|
||||
<version>4.1.0.Final</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.validation</groupId>
|
||||
<artifactId>validation-api</artifactId>
|
||||
<version>1.0.0.GA</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>biz.source_code</groupId>
|
||||
<artifactId>base64coder</artifactId>
|
||||
@ -257,7 +269,7 @@
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
|
||||
<!--<dependency>
|
||||
<!-- <dependency>
|
||||
<groupId>javax.validation</groupId>
|
||||
<artifactId>validation-api</artifactId>
|
||||
<version>1.0.0.GA</version>
|
||||
|
@ -1,7 +1,7 @@
|
||||
-- it is not possible to set a proper default DATETIME in mysql so we settle for "0", the sql works irrespective if the table are empty or not
|
||||
/*ALTER TABLE `ApplicationPeriod` CHANGE `startDate` `startDate` DATETIME NOT NULL DEFAULT 0,
|
||||
CHANGE `endDate` `endDate` DATETIME NOT NULL DEFAULT 0,
|
||||
CHANGE `name` `name` varchar(255) NOT NULL*/
|
||||
-- we choose not to have any default DATETIME values
|
||||
ALTER TABLE `ApplicationPeriod` CHANGE `startDate` `startDate` DATETIME NOT NULL,
|
||||
CHANGE `endDate` `endDate` DATETIME NOT NULL,
|
||||
CHANGE `name` `name` varchar(255) NOT NULL
|
||||
|
||||
|
||||
-- => the new SQL should be tested, ie "run all tests", before delivering
|
||||
|
||||
|
@ -5,7 +5,7 @@ import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.persistence.*;
|
||||
//import javax.validation.constraints.NotNull;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
import org.hibernate.annotations.Cache;
|
||||
import org.hibernate.annotations.CacheConcurrencyStrategy;
|
||||
@ -29,16 +29,16 @@ public class ApplicationPeriod extends DomainObject {
|
||||
@ManyToMany
|
||||
private Set<ProjectClass> projectClass = new HashSet<ProjectClass>();
|
||||
|
||||
//@NotNull
|
||||
@NotNull
|
||||
//@Basic (optional = false)
|
||||
private String name;
|
||||
|
||||
//@NotNull
|
||||
@NotNull
|
||||
//@Basic (optional = false)
|
||||
@Temporal(TemporalType.DATE)
|
||||
private Date startDate;
|
||||
|
||||
//@NotNull
|
||||
@NotNull
|
||||
//@Basic (optional = false)
|
||||
@Temporal(TemporalType.DATE)
|
||||
private Date endDate;
|
||||
|
@ -114,24 +114,37 @@ public class ApplicationPeriodFacade {
|
||||
* Helper that is used to initialize constructors
|
||||
* @return ApplicationPeriod the object that is returned
|
||||
*/
|
||||
public static ApplicationPeriod createDummyApplicationPeriod(){
|
||||
public static ApplicationPeriod createDummyApplicationPeriod(final String name){
|
||||
ApplicationPeriod appPeriod = new ApplicationPeriod();
|
||||
Calendar cal = Calendar.getInstance();
|
||||
appPeriod.setStartDate(cal.getTime());
|
||||
cal.add(Calendar.MONTH, 1);
|
||||
appPeriod.setEndDate(cal.getTime());
|
||||
appPeriod.setName("...");
|
||||
appPeriod.setName(name);
|
||||
return appPeriod;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public ApplicationPeriod createApplicationPeriod(final Set<ProjectClass> projectClassSet, final Date startDate, final Date endDate) {
|
||||
// @Transactional
|
||||
public ApplicationPeriod createApplicationPeriod(final Set<ProjectClass> projectClassSet, final String name) {
|
||||
Calendar cal = Calendar.getInstance();
|
||||
ApplicationPeriod appPeriod = new ApplicationPeriod();
|
||||
appPeriod.setStartDate(startDate != null ? startDate : cal.getTime());
|
||||
appPeriod.setStartDate(cal.getTime());
|
||||
cal.add(Calendar.MONTH, 1);
|
||||
appPeriod.setEndDate(endDate != null ? endDate : cal.getTime());
|
||||
appPeriod.setEndDate(cal.getTime());
|
||||
appPeriod.setProjectClass(projectClassSet);
|
||||
appPeriod.setName(name);
|
||||
return applicationPeriodDao.save(appPeriod);
|
||||
}
|
||||
|
||||
// @Transactional
|
||||
public ApplicationPeriod createApplicationPeriodDates(final Set<ProjectClass> projectClassSet, final Date startDate, final Date endDate, final String name) {
|
||||
Calendar cal = Calendar.getInstance();
|
||||
ApplicationPeriod appPeriod = new ApplicationPeriod();
|
||||
appPeriod.setStartDate(startDate);
|
||||
cal.add(Calendar.MONTH, 1);
|
||||
appPeriod.setEndDate(endDate);
|
||||
appPeriod.setProjectClass(projectClassSet);
|
||||
appPeriod.setName(name);
|
||||
return applicationPeriodDao.save(appPeriod);
|
||||
}
|
||||
|
||||
|
@ -43,7 +43,7 @@ public class MatchPeriodEditPanel extends Panel {
|
||||
private Component feedbackPanel;
|
||||
|
||||
public MatchPeriodEditPanel(final String id, final WebMarkupContainer container) {
|
||||
this(id, new Model<ApplicationPeriod>(ApplicationPeriodFacade.createDummyApplicationPeriod()), container);
|
||||
this(id, new Model<ApplicationPeriod>(ApplicationPeriodFacade.createDummyApplicationPeriod("...")), container);
|
||||
}
|
||||
public MatchPeriodEditPanel(String id, IModel<ApplicationPeriod> model, final WebMarkupContainer container) {
|
||||
super(id);
|
||||
|
@ -55,7 +55,9 @@ public class TestGreedyMatchingAlgorithm {
|
||||
@Autowired
|
||||
private MatchDao matchDao;
|
||||
|
||||
|
||||
@Autowired
|
||||
private ApplicationPeriodDao applicationPeriodDao;
|
||||
|
||||
@Autowired
|
||||
private ApplicationPeriodFacade applicationPeriodFacade;
|
||||
|
||||
@ -123,7 +125,10 @@ public class TestGreedyMatchingAlgorithm {
|
||||
Set<ProjectClass> projectClassSet = new HashSet<ProjectClass>();
|
||||
projectClassSet.add(bachelorProjectClass);
|
||||
projectClassSet.add(masterProjectClass);
|
||||
ApplicationPeriod applicationPeriod = applicationPeriodFacade.createApplicationPeriod(projectClassSet, null, null);
|
||||
List<ApplicationPeriod> myList = new ArrayList<ApplicationPeriod>();
|
||||
myList.addAll(applicationPeriodDao.findAll());
|
||||
ApplicationPeriod applicationPeriod = applicationPeriodFacade.createApplicationPeriod(projectClassSet, "name1");
|
||||
|
||||
bachelorProjectIdea = createProjectIdea(bachelorProjectClass, applicationPeriod);
|
||||
masterSupervisor = createSupervisor("Birger", "Andersson", languages);
|
||||
masterProjectClass = createProjectClass(ProjectClass.MASTER, "Master", "Master project class");
|
||||
|
@ -133,7 +133,7 @@ public class TestMatcher {
|
||||
projectClassSet.add(bachelor);
|
||||
projectClassSet.add(master);
|
||||
|
||||
ApplicationPeriod applicationPeriod = applicationPeriodFacade.createApplicationPeriod(projectClassSet, null, null);
|
||||
ApplicationPeriod applicationPeriod = applicationPeriodFacade.createApplicationPeriod(projectClassSet, "name1");
|
||||
ProjectIdea projectIdea1 = new ProjectIdea();
|
||||
projectIdea1.setTitle("Project idea 1");
|
||||
projectIdea1.setApplicationPeriod(applicationPeriod);
|
||||
|
@ -113,8 +113,8 @@ public class TestApplicationPeriodDao {
|
||||
|
||||
Set<ProjectClass> projectClassSet = new HashSet<ProjectClass>();
|
||||
projectClassSet.add(bachelor);
|
||||
applicationPeriod = applicationPeriodFacade.createApplicationPeriod(projectClassSet, date("2011-06-14"), date("2011-07-01"));
|
||||
applicationPeriod2 =applicationPeriodFacade.createApplicationPeriod(projectClassSet, date("2011-07-15"), date("2011-08-01"));
|
||||
applicationPeriod = applicationPeriodFacade.createApplicationPeriodDates(projectClassSet, date("2011-06-14"), date("2011-07-01"), "name1");
|
||||
applicationPeriod2 =applicationPeriodFacade.createApplicationPeriodDates(projectClassSet, date("2011-07-15"), date("2011-08-01"), "name2");
|
||||
projectIdea1 = createProjectIdea(applicationPeriod, bachelor);
|
||||
projectIdea2 = createProjectIdea(applicationPeriod, bachelor);
|
||||
projectIdea3 = createProjectIdea(applicationPeriod, bachelor);
|
||||
@ -203,7 +203,7 @@ public class TestApplicationPeriodDao {
|
||||
final Date startDate1 = cal.getTime();
|
||||
cal.add(Calendar.MONDAY, 3);
|
||||
final Date endDate1 = cal.getTime();
|
||||
ApplicationPeriod applicationPeriod = applicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate1, endDate1);
|
||||
ApplicationPeriod applicationPeriod = applicationPeriodFacade.createApplicationPeriodDates(myBachelorSet, startDate1, endDate1, "name1");
|
||||
boolean periodRemoved = applicationPeriodFacade.removeApplicationPeriod(applicationPeriod);
|
||||
Assert.assertFalse(periodRemoved); // should be false
|
||||
}
|
||||
@ -223,7 +223,7 @@ public class TestApplicationPeriodDao {
|
||||
final Date startDate1 = cal.getTime();
|
||||
cal.add(Calendar.MONTH, 1);
|
||||
final Date endDate1 = cal.getTime();
|
||||
ApplicationPeriod applicationPeriod = applicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate1, endDate1);
|
||||
ApplicationPeriod applicationPeriod = applicationPeriodFacade.createApplicationPeriodDates(myBachelorSet, startDate1, endDate1, "name1");
|
||||
boolean periodRemoved = applicationPeriodFacade.removeApplicationPeriod(applicationPeriod);
|
||||
Assert.assertTrue(periodRemoved); // should be true
|
||||
}
|
||||
@ -242,7 +242,7 @@ there should exist an OPEN "bachelor"application period */
|
||||
final Date startDate1 = cal.getTime();
|
||||
cal.add(Calendar.MONTH, 1);
|
||||
final Date endDate1 = cal.getTime();
|
||||
applicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate1, endDate1);
|
||||
applicationPeriodFacade.createApplicationPeriodDates(myBachelorSet, startDate1, endDate1, "name1");
|
||||
boolean exists = applicationPeriodFacade.openApplicationPeriodsExists(bachelor);
|
||||
Assert.assertTrue(exists); // should exist
|
||||
}
|
||||
@ -260,7 +260,7 @@ there should exist an OPEN "bachelor"application period */
|
||||
final Date startDate1 = cal.getTime();
|
||||
cal.add(Calendar.MONTH, 2);
|
||||
final Date endDate1 = cal.getTime();
|
||||
applicationPeriodFacade.createApplicationPeriod(myMasterSet, startDate1, endDate1);
|
||||
applicationPeriodFacade.createApplicationPeriodDates(myMasterSet, startDate1, endDate1, "name1");
|
||||
boolean exists = applicationPeriodFacade.openApplicationPeriodsExists(bachelor);
|
||||
Assert.assertFalse(exists); // should NOT exist
|
||||
}
|
||||
@ -293,12 +293,12 @@ should NOT overlap. */
|
||||
cal.set(2012, Calendar.APRIL, 2);
|
||||
cal.set(Calendar.HOUR_OF_DAY, 13); // HOUR_OF_DAY is used for the 24 hour clock
|
||||
final Date endDate1 = cal.getTime();
|
||||
applicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate1, endDate1);
|
||||
applicationPeriodFacade.createApplicationPeriodDates(myBachelorSet, startDate1, endDate1, "name1");
|
||||
cal.set(Calendar.HOUR_OF_DAY, 14);
|
||||
final Date startDate2 = cal.getTime();
|
||||
cal.set(2012, Calendar.MAY, 2);
|
||||
final Date endDate2 = cal.getTime();
|
||||
boolean periodOverlap = applicationPeriodFacade.doesPeriodOverlap(applicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate2, endDate2));
|
||||
boolean periodOverlap = applicationPeriodFacade.doesPeriodOverlap(applicationPeriodFacade.createApplicationPeriodDates(myBachelorSet, startDate2, endDate2, "name1"));
|
||||
Assert.assertFalse(periodOverlap); // should NOT overlap
|
||||
}
|
||||
|
||||
@ -317,7 +317,7 @@ should NOT overlap. */
|
||||
final Date startDate1 = cal.getTime();
|
||||
cal.set(2012, Calendar.APRIL, 2);
|
||||
final Date endDate1 = cal.getTime();
|
||||
ApplicationPeriod applicationPeriod1 = applicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate1, endDate1);
|
||||
ApplicationPeriod applicationPeriod1 = applicationPeriodFacade.createApplicationPeriodDates(myBachelorSet, startDate1, endDate1, "name1");
|
||||
// edit the period
|
||||
applicationPeriod1.getProjectClass().add(master);
|
||||
cal.set(2012, Calendar.MAY, 2);
|
||||
@ -345,10 +345,10 @@ should NOT overlap. */
|
||||
final Date endDate = cal.getTime();
|
||||
cal.set(Calendar.HOUR_OF_DAY, 14);
|
||||
final Date endDate2 = cal.getTime();
|
||||
applicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate, endDate);
|
||||
applicationPeriodFacade.createApplicationPeriodDates(myBachelorSet, startDate, endDate, "name1");
|
||||
Set<ProjectClass> myMasterSet = new HashSet<ProjectClass>();
|
||||
myMasterSet.add(master);
|
||||
boolean periodOverlap = applicationPeriodFacade.doesPeriodOverlap(applicationPeriodFacade.createApplicationPeriod(myMasterSet, startDate, endDate2));
|
||||
boolean periodOverlap = applicationPeriodFacade.doesPeriodOverlap(applicationPeriodFacade.createApplicationPeriodDates(myMasterSet, startDate, endDate2, "name1"));
|
||||
Assert.assertFalse(periodOverlap); // should NOT overlap
|
||||
}
|
||||
|
||||
@ -366,12 +366,12 @@ should NOT overlap. */
|
||||
final Date startDate1 = cal.getTime();
|
||||
cal.set(2012, Calendar.DECEMBER, 2);
|
||||
final Date endDate1 = cal.getTime();
|
||||
applicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate1, endDate1);
|
||||
applicationPeriodFacade.createApplicationPeriodDates(myBachelorSet, startDate1, endDate1, "name1");
|
||||
cal.set(2012, Calendar.MAY, 2);
|
||||
final Date startDate2 = cal.getTime();
|
||||
cal.set(2012, Calendar.JUNE, 2);
|
||||
final Date endDate2 = cal.getTime();
|
||||
boolean periodOverlap = applicationPeriodFacade.doesPeriodOverlap(applicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate2, endDate2));
|
||||
boolean periodOverlap = applicationPeriodFacade.doesPeriodOverlap(applicationPeriodFacade.createApplicationPeriodDates(myBachelorSet, startDate2, endDate2, "name1"));
|
||||
Assert.assertTrue(periodOverlap); // should overlap
|
||||
}
|
||||
|
||||
@ -389,13 +389,13 @@ should NOT overlap. */
|
||||
final Date startDate = cal.getTime();
|
||||
cal.set(2012, Calendar.APRIL, 2);
|
||||
final Date endDate = cal.getTime();
|
||||
applicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate, endDate);
|
||||
applicationPeriodFacade.createApplicationPeriodDates(myBachelorSet, startDate, endDate, "name1");
|
||||
cal.set(Calendar.HOUR_OF_DAY, 13);
|
||||
final Date endDate2 = cal.getTime();
|
||||
Set<ProjectClass> multipleProjectClasses = new HashSet<ProjectClass>();
|
||||
multipleProjectClasses.add(bachelor);
|
||||
multipleProjectClasses.add(master);
|
||||
boolean periodOverlap = applicationPeriodFacade.doesPeriodOverlap(applicationPeriodFacade.createApplicationPeriod(myBachelorSet, startDate, endDate2));
|
||||
boolean periodOverlap = applicationPeriodFacade.doesPeriodOverlap(applicationPeriodFacade.createApplicationPeriodDates(myBachelorSet, startDate, endDate2, "name1"));
|
||||
Assert.assertTrue(periodOverlap); // should overlap
|
||||
}
|
||||
|
||||
|
@ -115,7 +115,7 @@ public class TestMatchDao {
|
||||
projectIdea1.setProjectClass(projectClass);
|
||||
Set<ProjectClass> projectClassSet = new HashSet<ProjectClass>();
|
||||
projectClassSet.add(projectClass);
|
||||
final ApplicationPeriod applicationPeriod = applicationPeriodFacade.createApplicationPeriod(projectClassSet, null, null);
|
||||
final ApplicationPeriod applicationPeriod = applicationPeriodFacade.createApplicationPeriod(projectClassSet, "name1");
|
||||
projectIdea1.setApplicationPeriod(applicationPeriod);
|
||||
projectIdea1 = projectIdeaDao.save(projectIdea1);
|
||||
|
||||
|
@ -166,7 +166,7 @@ public class TestProjectIdeaDao {
|
||||
Set<ProjectClass> projectClassSet = new HashSet<ProjectClass>();
|
||||
projectClassSet.add(bachelor);
|
||||
projectClassSet.add(master);
|
||||
ApplicationPeriod applicationPeriod = applicationPeriodFacade.createApplicationPeriod(projectClassSet, null, null);
|
||||
ApplicationPeriod applicationPeriod = applicationPeriodFacade.createApplicationPeriod(projectClassSet, "name1");
|
||||
|
||||
projectIdea1 = new ProjectIdea();
|
||||
projectIdea1.setTitle("Project idea 1");
|
||||
|
@ -214,7 +214,7 @@ public class TestSupervisorDao {
|
||||
projectClassSet.add(bachelor);
|
||||
projectClassSet.add(master);
|
||||
|
||||
final ApplicationPeriod applicationPeriod = applicationPeriodFacade.createApplicationPeriod(projectClassSet, null, null);
|
||||
final ApplicationPeriod applicationPeriod = applicationPeriodFacade.createApplicationPeriod(projectClassSet, "name1");
|
||||
|
||||
projectIdea1 = new ProjectIdea();
|
||||
projectIdea1.setTitle("Project idea 1");
|
||||
|
@ -101,7 +101,7 @@ public class TestProjectIdea {
|
||||
Set<ProjectClass> projectClassSet = new HashSet<ProjectClass>();
|
||||
projectClassSet.add(projectClass);
|
||||
|
||||
final ApplicationPeriod applicationPeriod = applicationPeriodFacade.createApplicationPeriod(projectClassSet, null, null);
|
||||
final ApplicationPeriod applicationPeriod = applicationPeriodFacade.createApplicationPeriod(projectClassSet, "name1");
|
||||
target.setProjectClass(projectClass);
|
||||
target.setApplicationPeriod(applicationPeriod);
|
||||
key1 = new Keyword("key 1", standard);
|
||||
|
Loading…
x
Reference in New Issue
Block a user