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..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
@@ -2,9 +2,8 @@ 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;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import se.su.dsv.scipro.daisyExternal.http.DaisyAPI;
@@ -13,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;
@@ -23,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;
@@ -82,7 +72,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 +99,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);