Dirty solution for test increase slot. _All_ supervisor Availability objects are put under the Bachelor key in the sorted availability map. And some under Master _as_well_.
This commit is contained in:
parent
3643f94dd3
commit
4fd328845c
@ -1,9 +1,6 @@
|
||||
package se.su.dsv.scipro.match;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
import org.apache.log4j.Logger;
|
||||
import org.springframework.stereotype.Component;
|
||||
@ -33,7 +30,7 @@ public class GreedyMatchingAlgorithm implements MatchingAlgorithm {
|
||||
|
||||
List<String> availableProjectClasses = getAvailableProjectClass(unmatchedProjectIdeas, supervisorAvailability);
|
||||
|
||||
HashMap<String, List<ProjectIdea>> sortedProjectIdeas = getSortedProjectIdeas(availableProjectClasses, unmatchedProjectIdeas);
|
||||
HashMap<String, List<ProjectIdea>> sortedProjectIdeas = getSortedProjectIdeas(availableProjectClasses, unmatchedProjectIdeas);
|
||||
HashMap<String, List<Availability>> sortedAvailability = getSortedAvailability(availableProjectClasses, supervisorAvailability);
|
||||
logger.info("SortedAvail.size: " + sortedAvailability.size());
|
||||
logger.info("sortedProjIdeas.size: " + sortedProjectIdeas.size());
|
||||
@ -42,7 +39,7 @@ public class GreedyMatchingAlgorithm implements MatchingAlgorithm {
|
||||
matchList.addAll(matchProjectIdeas(sortedProjectIdeas.get(projectClassCode), sortedAvailability.get(projectClassCode)));
|
||||
}
|
||||
logger.info("Matchlist.size: " + matchList.size());
|
||||
|
||||
|
||||
// If there are unmatched bachelor theses and unmatched master supervisors match them
|
||||
List<ProjectIdea> projectIdeaList = sortedProjectIdeas.get(ProjectClass.BACHELOR);
|
||||
List<Availability> availabilityList = sortedAvailability.get(ProjectClass.MASTER);
|
||||
@ -120,7 +117,7 @@ public class GreedyMatchingAlgorithm implements MatchingAlgorithm {
|
||||
if (matchPair != null && matchPair.getMatch().getPoints() != -1) {
|
||||
matchList.add(matchPair.getMatch());
|
||||
projectIdeaIterator.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return matchList;
|
||||
@ -274,6 +271,18 @@ public class GreedyMatchingAlgorithm implements MatchingAlgorithm {
|
||||
for (Availability availability : supervisorAvailability) {
|
||||
sortedAvailability.get(availability.getProjectClass().getCode()).add(availability);
|
||||
}
|
||||
|
||||
//start Tom+Anton test
|
||||
//List<Availability> bachelorAvailabilities = sortedAvailability.get(ProjectClass.BACHELOR) != null ?
|
||||
// sortedAvailability.get(ProjectClass.BACHELOR) : new ArrayList<Availability>();
|
||||
List<Availability> bachelorAvailabilities = sortedAvailability.get(ProjectClass.BACHELOR);
|
||||
if (bachelorAvailabilities != null)
|
||||
for (Availability av : supervisorAvailability) {
|
||||
if(!bachelorAvailabilities.contains(av))
|
||||
bachelorAvailabilities.add(av);
|
||||
}
|
||||
//sortedAvailability.put(ProjectClass.BACHELOR, bachelorAvailabilities);
|
||||
//end T+A
|
||||
|
||||
return sortedAvailability;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user