2528 Exkluderade avslutade och avbrutna projekt från synkningen som görs inom varje handledare. Verkar onödigt och tog tid. Refaktoriseringar enligt intellij. Harmoniserade @Transactional på de publika metoderna och tog bort en från en privat metod. Självaste problemet med att jobbets workerdata inte sparas kvarstår och beror på något med transaktionshanteringen i metoden UserImportWorker.importPotentialNewStudentsAndUpdatePrograms. Det är em.refresh(wd) på rad 88 i AbstractWorker som kastar en Exception.
This commit is contained in:
parent
1ad4325530
commit
0972c592ce
core/src/main/java/se/su/dsv/scipro/daisyExternal/impl
daisy-integration/src/main/java/se/su/dsv/scipro/integration/daisy/workers
@ -113,11 +113,8 @@ public class ExternalImporterDaisyImpl implements ExternalImporter {
|
||||
|
||||
private void removeUnitFromSupervisorsNotInSet(Set<Person> supervisorSet) {
|
||||
final Set<User> supervisorsWithRemoteUnit = new HashSet<>();
|
||||
final Set<User> currentSupervisors = new HashSet<>();
|
||||
|
||||
for (User supervisor : userService.findAll()) {
|
||||
currentSupervisors.add(supervisor);
|
||||
}
|
||||
final Set<User> currentSupervisors = new HashSet<>(userService.findAll());
|
||||
|
||||
//Create SciPro Employees from DTOs.
|
||||
for (Person supervisorDTO : supervisorSet) {
|
||||
|
@ -5,14 +5,14 @@ import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import se.su.dsv.scipro.daisyExternal.ImporterTransactions;
|
||||
import se.su.dsv.scipro.daisyExternal.http.DaisyAPI;
|
||||
import se.su.dsv.scipro.io.dto.*;
|
||||
import se.su.dsv.scipro.io.dto.ResearchArea;
|
||||
import se.su.dsv.scipro.io.dto.*;
|
||||
import se.su.dsv.scipro.match.ProgramService;
|
||||
import se.su.dsv.scipro.project.Project;
|
||||
import se.su.dsv.scipro.project.ProjectService;
|
||||
import se.su.dsv.scipro.security.auth.roles.Roles;
|
||||
import se.su.dsv.scipro.system.*;
|
||||
import se.su.dsv.scipro.system.Program;
|
||||
import se.su.dsv.scipro.system.*;
|
||||
import se.su.dsv.scipro.util.Pair;
|
||||
|
||||
import javax.inject.Inject;
|
||||
@ -22,7 +22,6 @@ import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
|
||||
@Named
|
||||
public class ImporterTransactionsImpl implements ImporterTransactions {
|
||||
|
||||
@ -53,6 +52,7 @@ public class ImporterTransactionsImpl implements ImporterTransactions {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public User importPerson(Person person, final Map<Integer, se.su.dsv.scipro.io.dto.Program> programCache) {
|
||||
LOGGER.info("Importing person: {} {} ({})", person.getFirstName(), person.getLastName(), person.getId());
|
||||
User user = updatePersonData(person.getId(), person);
|
||||
@ -124,8 +124,8 @@ public class ImporterTransactionsImpl implements ImporterTransactions {
|
||||
return user;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
@Override
|
||||
@Transactional
|
||||
public User importSupervisor(Person person, final Map<Integer, se.su.dsv.scipro.io.dto.Program> programCache) {
|
||||
User user = importPerson(person, programCache);
|
||||
importResearchAreasAndMakeSupervisor(person, user);
|
||||
@ -163,7 +163,6 @@ public class ImporterTransactionsImpl implements ImporterTransactions {
|
||||
}
|
||||
}
|
||||
|
||||
@Transactional
|
||||
private void importResearchAreasAndMakeSupervisor(Person person, User employee) {
|
||||
List<ResearchArea> researchAreas = client.getResearchAreas(person.getId())
|
||||
.stream()
|
||||
@ -214,6 +213,7 @@ public class ImporterTransactionsImpl implements ImporterTransactions {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public void importProject(Thesis thesis) {
|
||||
if (thesis.getLevel() == EducationalLevel.FIRST_CYCLE || thesis.getLevel() == EducationalLevel.SECOND_CYCLE){
|
||||
LOGGER.info("Importing project: {} ({})", thesis.getTitle(), thesis.getId());
|
||||
|
@ -159,13 +159,15 @@ public class UserImportWorker extends AbstractWorker {
|
||||
private void importAllProjectsForSupervisor(Person supervisor) {
|
||||
Set<Thesis> projects = daisyAPI.getProjects(supervisor.getId());
|
||||
for (Thesis project : projects) {
|
||||
try {
|
||||
importProject(project);
|
||||
} catch (RuntimeException e) {
|
||||
LOGGER.error("Failed to import project: {} ({})",
|
||||
project.getTitle(),
|
||||
project.getId(),
|
||||
e);
|
||||
if (!project.isFinished() && !project.isAborted()) {
|
||||
try {
|
||||
importProject(project);
|
||||
} catch (RuntimeException e) {
|
||||
LOGGER.error("Failed to import project: {} ({})",
|
||||
project.getTitle(),
|
||||
project.getId(),
|
||||
e);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user