diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/QuestionAnswerRepository.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/QuestionAnswerRepository.java index 8fc46323af5d8daa8f9adc1ab6a3908cae6b8229..620e628e9b6b1d8e8eadc3309fa74c526c37c212 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/QuestionAnswerRepository.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/QuestionAnswerRepository.java @@ -2,9 +2,11 @@ package cz.muni.ics.kypo.training.adaptive.repository; import cz.muni.ics.kypo.training.adaptive.domain.phase.questions.QuestionAnswer; import cz.muni.ics.kypo.training.adaptive.domain.phase.questions.QuestionAnswerId; +import cz.muni.ics.kypo.training.adaptive.domain.phase.questions.QuestionPhaseResult; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.stereotype.Repository; @Repository -public interface QuestionAnswerRepository extends JpaRepository<QuestionAnswer, QuestionAnswerId> { +public interface QuestionAnswerRepository extends JpaRepository<QuestionAnswer, QuestionAnswerId>, QuerydslPredicateExecutor<QuestionAnswer> { } diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/QuestionPhaseResultRepository.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/QuestionPhaseResultRepository.java index 6c417b061364af17e29da234883b711c6793cd6b..d8d5851e77c37a363ca2903c5ed43fc6fae8f35e 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/QuestionPhaseResultRepository.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/QuestionPhaseResultRepository.java @@ -2,8 +2,9 @@ package cz.muni.ics.kypo.training.adaptive.repository; import cz.muni.ics.kypo.training.adaptive.domain.phase.questions.QuestionPhaseResult; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.stereotype.Repository; @Repository -public interface QuestionPhaseResultRepository extends JpaRepository<QuestionPhaseResult, Long> { +public interface QuestionPhaseResultRepository extends JpaRepository<QuestionPhaseResult, Long>, QuerydslPredicateExecutor<QuestionPhaseResult> { } diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/AbstractPhaseRepository.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/AbstractPhaseRepository.java index 9aca65256ac30fc93ee7460dfc6308cf25432c04..6572df3dc44d03b91f9fedff7301b74c10179a19 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/AbstractPhaseRepository.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/AbstractPhaseRepository.java @@ -1,9 +1,11 @@ package cz.muni.ics.kypo.training.adaptive.repository.phases; import cz.muni.ics.kypo.training.adaptive.domain.phase.AbstractPhase; +import cz.muni.ics.kypo.training.adaptive.domain.phase.QuestionnairePhase; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; +import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; @@ -11,7 +13,7 @@ import java.util.List; import java.util.Optional; @Repository -public interface AbstractPhaseRepository extends JpaRepository<AbstractPhase, Long> { +public interface AbstractPhaseRepository extends JpaRepository<AbstractPhase, Long>, QuerydslPredicateExecutor<AbstractPhase> { List<AbstractPhase> findAllByTrainingDefinitionIdOrderByOrder(long trainingDefinitionId); diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/InfoPhaseRepository.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/InfoPhaseRepository.java index fa0b5264c439e852f1e03525b33b693eb1d2b38d..5d01f067c71a866cb1025afcea689ec01687f323 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/InfoPhaseRepository.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/InfoPhaseRepository.java @@ -2,8 +2,9 @@ package cz.muni.ics.kypo.training.adaptive.repository.phases; import cz.muni.ics.kypo.training.adaptive.domain.phase.InfoPhase; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.stereotype.Repository; @Repository -public interface InfoPhaseRepository extends JpaRepository<InfoPhase, Long> { +public interface InfoPhaseRepository extends JpaRepository<InfoPhase, Long>, QuerydslPredicateExecutor<InfoPhase> { } diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/QuestionPhaseRelationRepository.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/QuestionPhaseRelationRepository.java index 25dd89460bfb525790974d306b6e32ecae5c7970..3c45fa429cf702c48744b5757721862934e4d97e 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/QuestionPhaseRelationRepository.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/QuestionPhaseRelationRepository.java @@ -1,8 +1,10 @@ package cz.muni.ics.kypo.training.adaptive.repository.phases; +import cz.muni.ics.kypo.training.adaptive.domain.phase.Task; import cz.muni.ics.kypo.training.adaptive.domain.phase.questions.QuestionPhaseRelation; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; +import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; @@ -10,7 +12,7 @@ import java.util.List; import java.util.Set; @Repository -public interface QuestionPhaseRelationRepository extends JpaRepository<QuestionPhaseRelation, Long> { +public interface QuestionPhaseRelationRepository extends JpaRepository<QuestionPhaseRelation, Long>, QuerydslPredicateExecutor<QuestionPhaseRelation> { @Query("SELECT r FROM QuestionPhaseRelation r INNER JOIN r.questions q WHERE q.id IN :questionIdList") List<QuestionPhaseRelation> findAllByQuestionIdList(@Param("questionIdList") Set<Long> questionIdList); diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/QuestionRepository.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/QuestionRepository.java index c6aad8d64a6f52db57497b526016879f8aac1deb..fee95ace0b49d09dfee3df7a0421b9bb19bf2b0b 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/QuestionRepository.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/QuestionRepository.java @@ -2,12 +2,13 @@ package cz.muni.ics.kypo.training.adaptive.repository.phases; import cz.muni.ics.kypo.training.adaptive.domain.phase.questions.Question; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.stereotype.Repository; import java.util.Optional; @Repository -public interface QuestionRepository extends JpaRepository<Question, Long> { +public interface QuestionRepository extends JpaRepository<Question, Long>, QuerydslPredicateExecutor<Question> { Optional<Question> findByIdAndQuestionnairePhaseId(Long questionId, Long questionnaireId); } diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/QuestionnairePhaseRepository.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/QuestionnairePhaseRepository.java index df0d6d902ef732a948392f902510a55388bd6126..53c9c0bc5aaa74e64c2b93a080c98116e5975008 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/QuestionnairePhaseRepository.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/QuestionnairePhaseRepository.java @@ -1,9 +1,11 @@ package cz.muni.ics.kypo.training.adaptive.repository.phases; import cz.muni.ics.kypo.training.adaptive.domain.phase.QuestionnairePhase; +import cz.muni.ics.kypo.training.adaptive.domain.phase.questions.QuestionPhaseRelation; import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.stereotype.Repository; @Repository -public interface QuestionnairePhaseRepository extends JpaRepository<QuestionnairePhase, Long> { +public interface QuestionnairePhaseRepository extends JpaRepository<QuestionnairePhase, Long>, QuerydslPredicateExecutor<QuestionnairePhase> { } diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/TaskRepository.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/TaskRepository.java index 426f0fa15cb4eed73facb13ba41b1f70b3d07205..5356d736d3bf1f6f4b0317e581433d4afcbaf908 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/TaskRepository.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/TaskRepository.java @@ -1,14 +1,16 @@ package cz.muni.ics.kypo.training.adaptive.repository.phases; import cz.muni.ics.kypo.training.adaptive.domain.phase.Task; +import cz.muni.ics.kypo.training.adaptive.domain.phase.TrainingPhase; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.data.jpa.repository.Query; +import org.springframework.data.querydsl.QuerydslPredicateExecutor; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; @Repository -public interface TaskRepository extends JpaRepository<Task, Long> { +public interface TaskRepository extends JpaRepository<Task, Long>, QuerydslPredicateExecutor<Task> { @Query("SELECT COALESCE(MAX(g.order), -1) FROM Task g WHERE g.trainingPhase.id = :phaseId") Integer getCurrentMaxOrder(@Param("phaseId") Long phaseId); diff --git a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/TrainingPhaseRepository.java b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/TrainingPhaseRepository.java index e0b2515508a3d00c673ef6b6efc30798424239a9..a9b794b5bbc83da8eb0b86d9d0f70586360e2616 100644 --- a/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/TrainingPhaseRepository.java +++ b/src/main/java/cz/muni/ics/kypo/training/adaptive/repository/phases/TrainingPhaseRepository.java @@ -1,15 +1,19 @@ package cz.muni.ics.kypo.training.adaptive.repository.phases; import cz.muni.ics.kypo.training.adaptive.domain.phase.TrainingPhase; +import cz.muni.ics.kypo.training.adaptive.domain.training.QTrainingDefinition; +import cz.muni.ics.kypo.training.adaptive.domain.training.TrainingDefinition; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; +import org.springframework.data.querydsl.QuerydslPredicateExecutor; +import org.springframework.data.querydsl.binding.QuerydslBinderCustomizer; import org.springframework.data.repository.query.Param; import org.springframework.stereotype.Repository; import java.util.List; @Repository -public interface TrainingPhaseRepository extends JpaRepository<TrainingPhase, Long> { +public interface TrainingPhaseRepository extends JpaRepository<TrainingPhase, Long> , QuerydslPredicateExecutor<TrainingPhase> { @Query("SELECT COUNT(p.id) FROM TrainingPhase p WHERE p.trainingDefinition.id = :trainingDefinitionId") int getNumberOfExistingPhases(@Param("trainingDefinitionId") Long trainingDefinitionId);