Skip to content

Commit f81bf24

Browse files
fix: generer Jakarta kompatibel inntektsmelding JAXB fra XSD (#159)
1 parent 8ea17f4 commit f81bf24

18 files changed

+2191
-0
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,5 @@ target
77
.classpath
88
logs
99
bin
10+
pom.xml.versionsBackup
11+

inntektsmelding/README.MD

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Inntektsmelding
2+
3+
Genererer Jakarta kompatibel inntektsmelding
4+
5+
basert på kopi av XSD fra https://github.com/navikt/tjenestespesifikasjoner/tree/master/nav-altinn-inntektsmelding
6+

inntektsmelding/pom.xml

+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<project xmlns="http://maven.apache.org/POM/4.0.0"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4+
5+
<modelVersion>4.0.0</modelVersion>
6+
<parent>
7+
<groupId>no.nav.k9</groupId>
8+
<artifactId>k9-format</artifactId>
9+
<version>${revision}${sha1}${changelist}</version>
10+
</parent>
11+
<artifactId>inntektsmelding-v1</artifactId>
12+
<packaging>jar</packaging>
13+
14+
<properties>
15+
<xsd.packagename></xsd.packagename>
16+
<jaxb.version>3.0.1</jaxb.version>
17+
</properties>
18+
19+
<dependencies>
20+
<dependency>
21+
<groupId>org.glassfish.jaxb</groupId>
22+
<artifactId>jaxb-runtime</artifactId>
23+
<version>${jaxb.version}</version>
24+
<scope>provided</scope>
25+
</dependency>
26+
</dependencies>
27+
28+
<build>
29+
<plugins>
30+
<plugin>
31+
<groupId>org.codehaus.mojo</groupId>
32+
<artifactId>jaxb2-maven-plugin</artifactId>
33+
<version>2.5.0</version>
34+
<executions>
35+
<execution>
36+
<configuration>
37+
<schemaDirectory>src/main/resources</schemaDirectory>
38+
<sources>
39+
<source>src/main/resources/xsd/</source>
40+
</sources>
41+
<xjbSources>
42+
<xjbSource>src/main/resources/xjb/</xjbSource>
43+
</xjbSources>
44+
<packageName>${xsd.packagename}</packageName>
45+
<encoding>${project.build.sourceEncoding}</encoding>
46+
</configuration>
47+
<goals>
48+
<goal>xjc</goal>
49+
</goals>
50+
</execution>
51+
</executions>
52+
<dependencies>
53+
<dependency>
54+
<groupId>org.glassfish.jaxb</groupId>
55+
<artifactId>jaxb-xjc</artifactId>
56+
<version>${jaxb.version}</version>
57+
</dependency>
58+
<dependency>
59+
<groupId>jakarta.xml.bind</groupId>
60+
<artifactId>jakarta.xml.bind-api</artifactId>
61+
<version>${jaxb.version}</version>
62+
</dependency>
63+
<dependency>
64+
<groupId>com.sun.xml.bind</groupId>
65+
<artifactId>jaxb-impl</artifactId>
66+
<version>${jaxb.version}</version>
67+
</dependency>
68+
</dependencies>
69+
</plugin>
70+
71+
<plugin>
72+
<groupId>org.apache.maven.plugins</groupId>
73+
<artifactId>maven-jar-plugin</artifactId>
74+
</plugin>
75+
</plugins>
76+
</build>
77+
78+
</project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package no.seres.xsd.nav.inntektsmelding_m;
2+
3+
import java.time.LocalDate;
4+
import java.time.format.DateTimeFormatter;
5+
import java.time.format.DateTimeParseException;
6+
import java.util.Objects;
7+
8+
import jakarta.xml.bind.annotation.adapters.XmlAdapter;
9+
10+
public class DateAdapter extends XmlAdapter<String, LocalDate> {
11+
12+
@Override
13+
public LocalDate unmarshal(String v) throws DateTimeParseException {
14+
if (Objects.isNull(v)) {
15+
return null;
16+
}
17+
return LocalDate.parse(v, DateTimeFormatter.ISO_DATE);
18+
}
19+
20+
@Override
21+
public String marshal(LocalDate v) throws DateTimeParseException {
22+
if (Objects.isNull(v)) {
23+
return null;
24+
}
25+
return v.toString();
26+
}
27+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package no.seres.xsd.nav.inntektsmelding_m;
2+
3+
import java.time.LocalDateTime;
4+
import java.time.format.DateTimeFormatter;
5+
import java.time.format.DateTimeParseException;
6+
import java.util.Objects;
7+
8+
import jakarta.xml.bind.annotation.adapters.XmlAdapter;
9+
10+
public class DateTimeAdapter extends XmlAdapter<String, LocalDateTime> {
11+
12+
@Override
13+
public LocalDateTime unmarshal(String v) throws DateTimeParseException {
14+
if (Objects.isNull(v)) {
15+
return null;
16+
}
17+
return LocalDateTime.parse(v, DateTimeFormatter.ISO_DATE_TIME);
18+
}
19+
20+
@Override
21+
public String marshal(LocalDateTime v) throws DateTimeParseException {
22+
if (Objects.isNull(v)) {
23+
return null;
24+
}
25+
return v.toString();
26+
}
27+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package no.seres.xsd.nav.inntektsmelding_m._2017;
2+
3+
import no.seres.xsd.nav.inntektsmelding_m._20171205.InntektsmeldingM;
4+
5+
public final class InntektsmeldingConstants {
6+
public static final String XSD_LOCATION = "xsd/Inntektsmelding201712_V4.xsd";
7+
public static final String NAMESPACE = "http://seres.no/xsd/NAV/Inntektsmelding_M/20171205";
8+
public static final Class<InntektsmeldingM> JAXB_CLASS = InntektsmeldingM.class;
9+
10+
private InntektsmeldingConstants() {
11+
}
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package no.seres.xsd.nav.inntektsmelding_m._201809;
2+
3+
import no.seres.xsd.nav.inntektsmelding_m._20180924.InntektsmeldingM;
4+
5+
public final class InntektsmeldingConstants {
6+
public static final String XSD_LOCATION = "xsd/Inntektsmelding20180924_V6.xsd";
7+
public static final String NAMESPACE = "http://seres.no/xsd/NAV/Inntektsmelding_M/20180924";
8+
public static final Class<InntektsmeldingM> JAXB_CLASS = InntektsmeldingM.class;
9+
10+
private InntektsmeldingConstants() {
11+
}
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package no.seres.xsd.nav.inntektsmelding_m._201812;
2+
3+
import no.seres.xsd.nav.inntektsmelding_m._20181211.InntektsmeldingM;
4+
5+
public final class InntektsmeldingConstants {
6+
public static final String XSD_LOCATION = "xsd/Inntektsmelding20181211_V7.xsd";
7+
public static final String NAMESPACE = "http://seres.no/xsd/NAV/Inntektsmelding_M/20181211";
8+
public static final Class<InntektsmeldingM> JAXB_CLASS = InntektsmeldingM.class;
9+
10+
private InntektsmeldingConstants() {
11+
}
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2+
<jaxb:bindings xmlns:jaxb="https://jakarta.ee/xml/ns/jaxb"
3+
xmlns:xs="http://www.w3.org/2001/XMLSchema"
4+
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
5+
version="3.0"
6+
jaxb:extensionBindingPrefixes="xjc">
7+
8+
<jaxb:globalBindings>
9+
<xjc:javaType name="java.time.LocalDate" xmlType="xs:date" adapter="no.seres.xsd.nav.inntektsmelding_m.DateAdapter" />
10+
<xjc:javaType name="java.time.LocalDateTime" xmlType="xs:dateTime" adapter="no.seres.xsd.nav.inntektsmelding_m.DateTimeAdapter" />
11+
</jaxb:globalBindings>
12+
</jaxb:bindings>

0 commit comments

Comments
 (0)