From 4863763f04daf8a8ae79544e1563b68958ac3c69 Mon Sep 17 00:00:00 2001 From: Andreas Svanberg Date: Thu, 19 Dec 2024 16:18:00 +0100 Subject: [PATCH 1/2] Allow a single author to write a thesis on both one-year master and master at the same time. --- core/src/main/xsd/daisy_api.xsd | 4 ++++ .../io/impl/ExternalExporterDaisyImpl.java | 18 +++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/core/src/main/xsd/daisy_api.xsd b/core/src/main/xsd/daisy_api.xsd index 806769ad48..a01921eadd 100755 --- a/core/src/main/xsd/daisy_api.xsd +++ b/core/src/main/xsd/daisy_api.xsd @@ -75,6 +75,8 @@ + + @@ -615,6 +617,8 @@ + + diff --git a/daisy-integration/src/main/java/se/su/dsv/scipro/io/impl/ExternalExporterDaisyImpl.java b/daisy-integration/src/main/java/se/su/dsv/scipro/io/impl/ExternalExporterDaisyImpl.java index 90aaca25c2..3e5b75c99a 100755 --- a/daisy-integration/src/main/java/se/su/dsv/scipro/io/impl/ExternalExporterDaisyImpl.java +++ b/daisy-integration/src/main/java/se/su/dsv/scipro/io/impl/ExternalExporterDaisyImpl.java @@ -2,6 +2,7 @@ package se.su.dsv.scipro.io.impl; import jakarta.inject.Inject; import jakarta.ws.rs.core.Response; +import java.math.BigDecimal; import java.util.Calendar; import java.util.HashMap; import java.util.Map; @@ -82,7 +83,21 @@ public class ExternalExporterDaisyImpl implements ExternalExporter { } private EducationalLevel toDaisyLevel(Project project) { - return classMap.get(project.getProjectTypeDegreeType()); + return switch (project.getProjectTypeDegreeType()) { + case NONE -> EducationalLevel.UNKNOWN; + case BACHELOR -> EducationalLevel.FIRST_CYCLE; + case MAGISTER -> EducationalLevel.SECOND_CYCLE; + case MASTER -> EducationalLevel.SECOND_CYCLE; + }; + } + + private static BigDecimal toDaisyCredits(Project project) { + return switch (project.getProjectTypeDegreeType()) { + case BACHELOR -> BigDecimal.valueOf(15); + case MAGISTER -> BigDecimal.valueOf(15); + case MASTER -> BigDecimal.valueOf(30); + case NONE -> null; + }; } @Override @@ -95,6 +110,7 @@ public class ExternalExporterDaisyImpl implements ExternalExporter { AddThesisAuthorCourse authorCourse = new AddThesisAuthorCourse(); authorCourse.setLevel(toDaisyLevel(project)); authorCourse.setDepartment(department); + authorCourse.setCourseCredits(toDaisyCredits(project)); AddThesisAuthor addThesisAuthor = new AddThesisAuthor(); addThesisAuthor.setCourse(authorCourse); -- 2.39.5 From ec85999a5e717fe5392d55be0e634f3559cf3547 Mon Sep 17 00:00:00 2001 From: Andreas Svanberg Date: Fri, 20 Dec 2024 11:29:33 +0100 Subject: [PATCH 2/2] Clean up old code --- .../dsv/scipro/io/impl/ExternalExporterDaisyImpl.java | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/daisy-integration/src/main/java/se/su/dsv/scipro/io/impl/ExternalExporterDaisyImpl.java b/daisy-integration/src/main/java/se/su/dsv/scipro/io/impl/ExternalExporterDaisyImpl.java index 3e5b75c99a..d9362a5d74 100755 --- a/daisy-integration/src/main/java/se/su/dsv/scipro/io/impl/ExternalExporterDaisyImpl.java +++ b/daisy-integration/src/main/java/se/su/dsv/scipro/io/impl/ExternalExporterDaisyImpl.java @@ -4,8 +4,6 @@ import jakarta.inject.Inject; import jakarta.ws.rs.core.Response; import java.math.BigDecimal; import java.util.Calendar; -import java.util.HashMap; -import java.util.Map; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import se.su.dsv.scipro.daisyExternal.http.DaisyAPI; @@ -14,7 +12,6 @@ import se.su.dsv.scipro.io.dto.*; import se.su.dsv.scipro.io.exceptions.ExternalExportException; import se.su.dsv.scipro.project.Project; import se.su.dsv.scipro.reusable.SciProUtilities; -import se.su.dsv.scipro.system.DegreeType; import se.su.dsv.scipro.system.Unit; import se.su.dsv.scipro.system.User; @@ -24,14 +21,6 @@ public class ExternalExporterDaisyImpl implements ExternalExporter { static final int MAX_TITLE_LENGTH = 255; private static final int DSV = 4; - private static Map classMap = new HashMap<>() { - { - put(DegreeType.NONE, EducationalLevel.UNKNOWN); - put(DegreeType.BACHELOR, EducationalLevel.FIRST_CYCLE); - put(DegreeType.MAGISTER, EducationalLevel.SECOND_CYCLE); - put(DegreeType.MASTER, EducationalLevel.SECOND_CYCLE); - } - }; private final DaisyAPI api; -- 2.39.5