Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • muni-kypo-crp/backend-java/kypo-adaptive-training
1 result
Show changes
Commits on Source (2)
Showing
with 30 additions and 4 deletions
...@@ -3,6 +3,8 @@ package cz.muni.ics.kypo.training.adaptive.domain.phase; ...@@ -3,6 +3,8 @@ package cz.muni.ics.kypo.training.adaptive.domain.phase;
import cz.muni.ics.kypo.training.adaptive.domain.phase.questions.QuestionPhaseRelation; import cz.muni.ics.kypo.training.adaptive.domain.phase.questions.QuestionPhaseRelation;
import javax.persistence.*; import javax.persistence.*;
import java.time.Clock;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
......
...@@ -19,6 +19,9 @@ import org.springframework.security.access.prepost.PreAuthorize; ...@@ -19,6 +19,9 @@ import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.time.Clock;
import java.time.LocalDateTime;
@Service @Service
@Transactional @Transactional
......
...@@ -309,6 +309,7 @@ public class TrainingDefinitionFacade { ...@@ -309,6 +309,7 @@ public class TrainingDefinitionFacade {
if (authorsAddition != null && !authorsAddition.isEmpty()) { if (authorsAddition != null && !authorsAddition.isEmpty()) {
addAuthorsToTrainingDefinition(trainingDefinition, authorsAddition); addAuthorsToTrainingDefinition(trainingDefinition, authorsAddition);
} }
trainingDefinition.setLastEdited(getCurrentTimeInUTC());
} }
private void addAuthorsToTrainingDefinition(TrainingDefinition trainingDefinition, Set<Long> userRefIds) { private void addAuthorsToTrainingDefinition(TrainingDefinition trainingDefinition, Set<Long> userRefIds) {
...@@ -331,6 +332,9 @@ public class TrainingDefinitionFacade { ...@@ -331,6 +332,9 @@ public class TrainingDefinitionFacade {
} }
} }
} while (authors.getPagination().getTotalPages() != page); } while (authors.getPagination().getTotalPages() != page);
}
private LocalDateTime getCurrentTimeInUTC() {
return LocalDateTime.now(Clock.systemUTC());
} }
} }
...@@ -46,6 +46,7 @@ public class InfoPhaseService { ...@@ -46,6 +46,7 @@ public class InfoPhaseService {
public InfoPhase createDefaultInfoPhase(Long trainingDefinitionId) { public InfoPhase createDefaultInfoPhase(Long trainingDefinitionId) {
TrainingDefinition trainingDefinition = findDefinitionById(trainingDefinitionId); TrainingDefinition trainingDefinition = findDefinitionById(trainingDefinitionId);
checkIfCanBeUpdated(trainingDefinition); checkIfCanBeUpdated(trainingDefinition);
trainingDefinition.setLastEdited(getCurrentTimeInUTC());
InfoPhase infoPhase = new InfoPhase(); InfoPhase infoPhase = new InfoPhase();
infoPhase.setContent("Content of info phase"); infoPhase.setContent("Content of info phase");
...@@ -53,15 +54,14 @@ public class InfoPhaseService { ...@@ -53,15 +54,14 @@ public class InfoPhaseService {
infoPhase.setTrainingDefinition(trainingDefinition); infoPhase.setTrainingDefinition(trainingDefinition);
infoPhase.setOrder(abstractPhaseRepository.getCurrentMaxOrder(trainingDefinitionId) + 1); infoPhase.setOrder(abstractPhaseRepository.getCurrentMaxOrder(trainingDefinitionId) + 1);
InfoPhase persistedEntity = infoPhaseRepository.save(infoPhase); return infoPhaseRepository.save(infoPhase);
trainingDefinition.setLastEdited(getCurrentTimeInUTC());
return persistedEntity;
} }
public InfoPhase updateInfoPhase(Long phaseId, InfoPhase infoPhaseToUpdate) { public InfoPhase updateInfoPhase(Long phaseId, InfoPhase infoPhaseToUpdate) {
InfoPhase persistedInfoPhase = findInfoPhaseById(phaseId); InfoPhase persistedInfoPhase = findInfoPhaseById(phaseId);
TrainingDefinition trainingDefinition = persistedInfoPhase.getTrainingDefinition(); TrainingDefinition trainingDefinition = persistedInfoPhase.getTrainingDefinition();
checkIfCanBeUpdated(trainingDefinition); checkIfCanBeUpdated(trainingDefinition);
trainingDefinition.setLastEdited(getCurrentTimeInUTC());
infoPhaseToUpdate.setId(phaseId); infoPhaseToUpdate.setId(phaseId);
infoPhaseToUpdate.setTrainingDefinition(trainingDefinition); infoPhaseToUpdate.setTrainingDefinition(trainingDefinition);
infoPhaseToUpdate.setOrder(persistedInfoPhase.getOrder()); infoPhaseToUpdate.setOrder(persistedInfoPhase.getOrder());
......
...@@ -103,6 +103,7 @@ public class PhaseService { ...@@ -103,6 +103,7 @@ public class PhaseService {
} }
phaseFrom.setOrder(toOrder); phaseFrom.setOrder(toOrder);
trainingPhaseService.alignDecisionMatrixOfTrainingPhasesAfterMove(phaseFrom.getTrainingDefinition().getId(), trainingPhaseFromOrder, trainingPhaseToOrder); trainingPhaseService.alignDecisionMatrixOfTrainingPhasesAfterMove(phaseFrom.getTrainingDefinition().getId(), trainingPhaseFromOrder, trainingPhaseToOrder);
phaseFrom.getTrainingDefinition().setLastEdited(getCurrentTimeInUTC());
abstractPhaseRepository.save(phaseFrom); abstractPhaseRepository.save(phaseFrom);
} }
......
...@@ -76,6 +76,7 @@ public class QuestionnairePhaseService { ...@@ -76,6 +76,7 @@ public class QuestionnairePhaseService {
public QuestionnairePhase updateQuestionnairePhase(Long phaseId, QuestionnairePhase questionnairePhaseToUpdate) { public QuestionnairePhase updateQuestionnairePhase(Long phaseId, QuestionnairePhase questionnairePhaseToUpdate) {
QuestionnairePhase persistedQuestionnairePhase = findQuestionnairePhaseById(phaseId); QuestionnairePhase persistedQuestionnairePhase = findQuestionnairePhaseById(phaseId);
checkIfCanBeUpdated(persistedQuestionnairePhase.getTrainingDefinition()); checkIfCanBeUpdated(persistedQuestionnairePhase.getTrainingDefinition());
persistedQuestionnairePhase.getTrainingDefinition().setLastEdited(getCurrentTimeInUTC());
questionnairePhaseToUpdate.setId(phaseId); questionnairePhaseToUpdate.setId(phaseId);
questionnairePhaseToUpdate.setTrainingDefinition(persistedQuestionnairePhase.getTrainingDefinition()); questionnairePhaseToUpdate.setTrainingDefinition(persistedQuestionnairePhase.getTrainingDefinition());
......
...@@ -11,6 +11,9 @@ import org.slf4j.LoggerFactory; ...@@ -11,6 +11,9 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.time.Clock;
import java.time.LocalDateTime;
@Service @Service
public class TaskService { public class TaskService {
...@@ -32,11 +35,13 @@ public class TaskService { ...@@ -32,11 +35,13 @@ public class TaskService {
task.setContent("Task content ..."); task.setContent("Task content ...");
task.setSolution("Task solution ..."); task.setSolution("Task solution ...");
task.setIncorrectAnswerLimit(1); task.setIncorrectAnswerLimit(1);
task.getTrainingPhase().getTrainingDefinition().setLastEdited(getCurrentTimeInUTC());
return taskRepository.save(task); return taskRepository.save(task);
} }
public Task createTask(Task task) { public Task createTask(Task task) {
task.setOrder(taskRepository.getCurrentMaxOrder(task.getTrainingPhase().getId()) + 1); task.setOrder(taskRepository.getCurrentMaxOrder(task.getTrainingPhase().getId()) + 1);
task.getTrainingPhase().getTrainingDefinition().setLastEdited(getCurrentTimeInUTC());
return taskRepository.save(task); return taskRepository.save(task);
} }
...@@ -50,10 +55,12 @@ public class TaskService { ...@@ -50,10 +55,12 @@ public class TaskService {
updatedTask.setId(taskId); updatedTask.setId(taskId);
updatedTask.setTrainingPhase(persistedTask.getTrainingPhase()); updatedTask.setTrainingPhase(persistedTask.getTrainingPhase());
updatedTask.setOrder(persistedTask.getOrder()); updatedTask.setOrder(persistedTask.getOrder());
updatedTask.getTrainingPhase().getTrainingDefinition().setLastEdited(getCurrentTimeInUTC());
return taskRepository.save(updatedTask); return taskRepository.save(updatedTask);
} }
public void removeTask(Task task) { public void removeTask(Task task) {
task.getTrainingPhase().getTrainingDefinition().setLastEdited(getCurrentTimeInUTC());
taskRepository.decreaseOrderAfterTaskWasDeleted(task.getTrainingPhase().getId(), task.getOrder()); taskRepository.decreaseOrderAfterTaskWasDeleted(task.getTrainingPhase().getId(), task.getOrder());
taskRepository.delete(task); taskRepository.delete(task);
} }
...@@ -71,7 +78,12 @@ public class TaskService { ...@@ -71,7 +78,12 @@ public class TaskService {
return; return;
} }
task.getTrainingPhase().getTrainingDefinition().setLastEdited(getCurrentTimeInUTC());
task.setOrder(newPosition); task.setOrder(newPosition);
taskRepository.save(task); taskRepository.save(task);
} }
private LocalDateTime getCurrentTimeInUTC() {
return LocalDateTime.now(Clock.systemUTC());
}
} }
...@@ -76,6 +76,7 @@ public class TrainingPhaseService { ...@@ -76,6 +76,7 @@ public class TrainingPhaseService {
TrainingPhase persistedTrainingPhase = findPhaseById(phaseId); TrainingPhase persistedTrainingPhase = findPhaseById(phaseId);
TrainingDefinition trainingDefinition = persistedTrainingPhase.getTrainingDefinition(); TrainingDefinition trainingDefinition = persistedTrainingPhase.getTrainingDefinition();
checkIfCanBeUpdated(trainingDefinition); checkIfCanBeUpdated(trainingDefinition);
trainingDefinition.setLastEdited(getCurrentTimeInUTC());
trainingPhaseToUpdate.setId(phaseId); trainingPhaseToUpdate.setId(phaseId);
trainingPhaseToUpdate.setTrainingDefinition(persistedTrainingPhase.getTrainingDefinition()); trainingPhaseToUpdate.setTrainingDefinition(persistedTrainingPhase.getTrainingDefinition());
trainingPhaseToUpdate.setOrder(persistedTrainingPhase.getOrder()); trainingPhaseToUpdate.setOrder(persistedTrainingPhase.getOrder());
......
...@@ -147,6 +147,7 @@ public class TrainingDefinitionService { ...@@ -147,6 +147,7 @@ public class TrainingDefinitionService {
*/ */
public TrainingDefinition create(TrainingDefinition trainingDefinition) { public TrainingDefinition create(TrainingDefinition trainingDefinition) {
addLoggedInUserToTrainingDefinitionAsAuthor(trainingDefinition); addLoggedInUserToTrainingDefinitionAsAuthor(trainingDefinition);
trainingDefinition.setLastEdited(getCurrentTimeInUTC());
LOG.info("Training definition with id: {} created.", trainingDefinition.getId()); LOG.info("Training definition with id: {} created.", trainingDefinition.getId());
return trainingDefinitionRepository.save(trainingDefinition); return trainingDefinitionRepository.save(trainingDefinition);
} }
...@@ -163,6 +164,7 @@ public class TrainingDefinitionService { ...@@ -163,6 +164,7 @@ public class TrainingDefinitionService {
checkIfCanBeUpdated(trainingDefinition); checkIfCanBeUpdated(trainingDefinition);
addLoggedInUserToTrainingDefinitionAsAuthor(trainingDefinitionToUpdate); addLoggedInUserToTrainingDefinitionAsAuthor(trainingDefinitionToUpdate);
trainingDefinitionToUpdate.setEstimatedDuration(trainingDefinition.getEstimatedDuration()); trainingDefinitionToUpdate.setEstimatedDuration(trainingDefinition.getEstimatedDuration());
trainingDefinitionToUpdate.setLastEdited(getCurrentTimeInUTC());
trainingDefinitionRepository.save(trainingDefinitionToUpdate); trainingDefinitionRepository.save(trainingDefinitionToUpdate);
LOG.info("Training definition with id: {} updated.", trainingDefinitionToUpdate.getId()); LOG.info("Training definition with id: {} updated.", trainingDefinitionToUpdate.getId());
} }
...@@ -181,6 +183,7 @@ public class TrainingDefinitionService { ...@@ -181,6 +183,7 @@ public class TrainingDefinitionService {
TrainingDefinition clonedTrainingDefinition = cloneMapper.clone(trainingDefinition); TrainingDefinition clonedTrainingDefinition = cloneMapper.clone(trainingDefinition);
clonedTrainingDefinition.setTitle(title); clonedTrainingDefinition.setTitle(title);
addLoggedInUserToTrainingDefinitionAsAuthor(clonedTrainingDefinition); addLoggedInUserToTrainingDefinitionAsAuthor(clonedTrainingDefinition);
clonedTrainingDefinition.setLastEdited(getCurrentTimeInUTC());
clonedTrainingDefinition = trainingDefinitionRepository.save(clonedTrainingDefinition); clonedTrainingDefinition = trainingDefinitionRepository.save(clonedTrainingDefinition);
clonePhasesFromTrainingDefinition(trainingDefinition.getId(), clonedTrainingDefinition); clonePhasesFromTrainingDefinition(trainingDefinition.getId(), clonedTrainingDefinition);
...@@ -428,6 +431,5 @@ public class TrainingDefinitionService { ...@@ -428,6 +431,5 @@ public class TrainingDefinitionService {
User newUser = new User(userManagementServiceApi.getLoggedInUserRefId()); User newUser = new User(userManagementServiceApi.getLoggedInUserRefId());
trainingDefinition.addAuthor(newUser); trainingDefinition.addAuthor(newUser);
} }
trainingDefinition.setLastEdited(getCurrentTimeInUTC());
} }
} }