Updated daisy api xsd
Since daisy api has changed we have to update our xsd. One of the changes wade is that the api has changed from dateTime -> date Corrected affected code so it uses LocalDate.
This commit is contained in:
parent
9b26843570
commit
130ab46284
core/src/main
daisy-integration/src
main/java/se/su/dsv/scipro
test/java/se/su/dsv/scipro/io/impl
@ -1,7 +1,10 @@
|
||||
package se.su.dsv.scipro.reusable;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
public final class SciProUtilities {
|
||||
|
||||
@ -75,15 +78,4 @@ public final class SciProUtilities {
|
||||
}
|
||||
return copy;
|
||||
}
|
||||
|
||||
public static Calendar toCalendar(final LocalDate localDate) {
|
||||
if (localDate == null) {
|
||||
return null;
|
||||
} else {
|
||||
final Calendar calendar = Calendar.getInstance();
|
||||
calendar.clear();
|
||||
calendar.set(localDate.getYear(), localDate.getMonthValue() - 1, localDate.getDayOfMonth());
|
||||
return calendar;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9,6 +9,10 @@
|
||||
parseMethod="jakarta.xml.bind.DatatypeConverter.parseDateTime"
|
||||
printMethod="jakarta.xml.bind.DatatypeConverter.printDateTime" />
|
||||
|
||||
<jaxb:javaType name="java.time.LocalDate" xmlType="xs:date"
|
||||
parseMethod="java.time.LocalDate.parse"
|
||||
printMethod="java.time.format.DateTimeFormatter.ISO_LOCAL_DATE.format" />
|
||||
|
||||
<!-- Force all classes implements Serializable -->
|
||||
<xjc:simple />
|
||||
<xjc:serializable uid="1" />
|
||||
|
@ -375,14 +375,16 @@
|
||||
</xs:element>
|
||||
<xs:element name="title_en" type="xs:string" minOccurs="0">
|
||||
</xs:element>
|
||||
<xs:element name="startDate" type="xs:dateTime" minOccurs="0">
|
||||
<xs:element name="startDate" type="xs:date" minOccurs="0">
|
||||
</xs:element>
|
||||
<xs:element name="endDate" type="xs:dateTime" minOccurs="0">
|
||||
<xs:element name="endDate" type="xs:date" minOccurs="0">
|
||||
</xs:element>
|
||||
<xs:element name="unit" type="serializableUnit" minOccurs="0">
|
||||
</xs:element>
|
||||
<xs:element name="researchAreas" type="researchAreas" minOccurs="0">
|
||||
</xs:element>
|
||||
<xs:element name="externalID" type="xs:string" minOccurs="0">
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
@ -390,13 +392,15 @@
|
||||
<xs:sequence>
|
||||
<xs:element name="title_en" type="xs:string" minOccurs="0">
|
||||
</xs:element>
|
||||
<xs:element name="externalID" type="xs:string" minOccurs="0">
|
||||
</xs:element>
|
||||
<xs:element name="aborted" type="xs:boolean" minOccurs="1">
|
||||
</xs:element>
|
||||
<xs:element name="level" type="educationalLevel" minOccurs="0">
|
||||
</xs:element>
|
||||
<xs:element name="title" type="xs:string" minOccurs="0">
|
||||
</xs:element>
|
||||
<xs:element name="endDate" type="xs:dateTime" minOccurs="0">
|
||||
<xs:element name="endDate" type="xs:date" minOccurs="0">
|
||||
</xs:element>
|
||||
<xs:element name="status" type="STATUS" minOccurs="0">
|
||||
</xs:element>
|
||||
@ -404,7 +408,7 @@
|
||||
</xs:element>
|
||||
<xs:element name="finished" type="xs:boolean" minOccurs="1">
|
||||
</xs:element>
|
||||
<xs:element name="startDate" type="xs:dateTime" minOccurs="0">
|
||||
<xs:element name="startDate" type="xs:date" minOccurs="0">
|
||||
</xs:element>
|
||||
<xs:element name="id" type="xs:int" minOccurs="1">
|
||||
</xs:element>
|
||||
@ -475,9 +479,11 @@
|
||||
</xs:element>
|
||||
<xs:element name="title_en" type="xs:string" minOccurs="0">
|
||||
</xs:element>
|
||||
<xs:element name="startDate" type="xs:dateTime" minOccurs="0">
|
||||
<xs:element name="externalID" type="xs:string" minOccurs="0">
|
||||
</xs:element>
|
||||
<xs:element name="endDate" type="xs:dateTime" minOccurs="0">
|
||||
<xs:element name="startDate" type="xs:date" minOccurs="0">
|
||||
</xs:element>
|
||||
<xs:element name="endDate" type="xs:date" minOccurs="0">
|
||||
</xs:element>
|
||||
<xs:element name="aborted" type="xs:boolean" minOccurs="1">
|
||||
</xs:element>
|
||||
|
@ -1,19 +1,8 @@
|
||||
package se.su.dsv.scipro.integration.daisy.workers;
|
||||
|
||||
import static com.querydsl.core.types.dsl.Expressions.anyOf;
|
||||
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.inject.Named;
|
||||
import jakarta.ws.rs.core.Response;
|
||||
import java.time.Instant;
|
||||
import java.time.Period;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Stream;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import se.su.dsv.scipro.daisyexternal.http.DaisyAPI;
|
||||
@ -38,11 +27,22 @@ import se.su.dsv.scipro.project.Project;
|
||||
import se.su.dsv.scipro.project.ProjectRepo;
|
||||
import se.su.dsv.scipro.project.ProjectStatus;
|
||||
import se.su.dsv.scipro.project.QProject;
|
||||
import se.su.dsv.scipro.reusable.SciProUtilities;
|
||||
import se.su.dsv.scipro.system.DegreeType;
|
||||
import se.su.dsv.scipro.system.User;
|
||||
import se.su.dsv.scipro.workerthreads.AbstractWorker;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.time.LocalDate;
|
||||
import java.time.Period;
|
||||
import java.util.Date;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import static com.querydsl.core.types.dsl.Expressions.anyOf;
|
||||
|
||||
@Named
|
||||
public class ProjectExporter extends AbstractWorker {
|
||||
|
||||
@ -198,7 +198,7 @@ public class ProjectExporter extends AbstractWorker {
|
||||
UnitWithID unit = new UnitWithID();
|
||||
unit.setId(project.getHeadSupervisor().getUnit().getIdentifier());
|
||||
|
||||
Calendar startDate = SciProUtilities.toCalendar(project.getStartDate());
|
||||
LocalDate startDate = project.getStartDate();
|
||||
|
||||
String title = finalThesis
|
||||
.map(FinalThesis::getSwedishTitle)
|
||||
@ -211,7 +211,7 @@ public class ProjectExporter extends AbstractWorker {
|
||||
thesis.setUnit(unit);
|
||||
thesis.setAborted(project.getProjectStatus() == ProjectStatus.INACTIVE);
|
||||
thesis.setStartDate(startDate);
|
||||
thesis.setEndDate(SciProUtilities.toCalendar(project.getExpectedEndDate()));
|
||||
thesis.setEndDate(project.getExpectedEndDate());
|
||||
final ResearchAreas researchAreas = new ResearchAreas();
|
||||
if (project.getResearchArea() != null && project.getResearchArea().getIdentifier() != null) {
|
||||
final ResearchAreaWithID researchArea2 = new ResearchAreaWithID();
|
||||
|
@ -2,8 +2,6 @@ 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 org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import se.su.dsv.scipro.daisyexternal.http.DaisyAPI;
|
||||
@ -21,10 +19,12 @@ import se.su.dsv.scipro.io.dto.ThesisToBeCreated;
|
||||
import se.su.dsv.scipro.io.dto.UnitWithID;
|
||||
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.Unit;
|
||||
import se.su.dsv.scipro.system.User;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDate;
|
||||
|
||||
public class ExternalExporterDaisyImpl implements ExternalExporter {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(ExternalExporterDaisyImpl.class);
|
||||
@ -46,9 +46,9 @@ public class ExternalExporterDaisyImpl implements ExternalExporter {
|
||||
|
||||
ThesisToBeCreated exportProjectDTO = new ThesisToBeCreated();
|
||||
exportProjectDTO.setTitle(truncate(project.getTitle()));
|
||||
Calendar startDate = SciProUtilities.toCalendar(project.getStartDate());
|
||||
LocalDate startDate = project.getStartDate();
|
||||
exportProjectDTO.setStartDate(startDate);
|
||||
exportProjectDTO.setEndDate(SciProUtilities.toCalendar(project.getExpectedEndDate()));
|
||||
exportProjectDTO.setEndDate(project.getExpectedEndDate());
|
||||
exportProjectDTO.setUnit(unitDTO);
|
||||
final ResearchAreas researchAreas = new ResearchAreas();
|
||||
if (project.getResearchArea() != null && project.getResearchArea().getIdentifier() != null) {
|
||||
|
@ -1,15 +1,6 @@
|
||||
package se.su.dsv.scipro.io.impl;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.is;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
import jakarta.ws.rs.core.Response;
|
||||
import java.net.URI;
|
||||
import java.time.LocalDate;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
@ -19,11 +10,20 @@ import org.mockito.junit.jupiter.MockitoExtension;
|
||||
import se.su.dsv.scipro.daisyexternal.http.DaisyAPI;
|
||||
import se.su.dsv.scipro.io.dto.ThesisToBeCreated;
|
||||
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.ProjectType;
|
||||
import se.su.dsv.scipro.system.Unit;
|
||||
|
||||
import java.net.URI;
|
||||
import java.time.LocalDate;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.is;
|
||||
import static org.hamcrest.MatcherAssert.assertThat;
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
public class ExternalExporterDaisyImplTest {
|
||||
|
||||
@ -71,6 +71,6 @@ public class ExternalExporterDaisyImplTest {
|
||||
ArgumentCaptor<ThesisToBeCreated> captor = ArgumentCaptor.forClass(ThesisToBeCreated.class);
|
||||
verify(daisyAPI).createProject(captor.capture());
|
||||
|
||||
assertEquals(captor.getValue().getStartDate(), SciProUtilities.toCalendar(daisyStartDate));
|
||||
assertEquals(captor.getValue().getStartDate(), daisyStartDate);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user