Skip to content
This repository was archived by the owner on Feb 15, 2024. It is now read-only.

Commit 7019b1d

Browse files
author
Matthias Böckmann
committed
Adding a first RDF parser. However, serialization is not yet fully done, so it is difficult to test.
1 parent f4a3d92 commit 7019b1d

9 files changed

Lines changed: 1191 additions & 43 deletions

File tree

dataformat-jsonld/pom.xml

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -35,25 +35,8 @@
3535
</dependency>
3636
<dependency>
3737
<groupId>org.slf4j</groupId>
38-
<artifactId>slf4j-api</artifactId>
39-
<version>${slf4j.version}</version>
40-
</dependency>
41-
<dependency>
42-
<groupId>org.slf4j</groupId>
43-
<artifactId>slf4j-log4j12</artifactId>
44-
<version>1.7.31</version>
45-
<scope>test</scope>
46-
</dependency>
47-
<dependency>
48-
<groupId>org.apache.logging.log4j</groupId>
49-
<artifactId>log4j-core</artifactId>
50-
<version>2.14.1</version>
51-
<scope>test</scope>
52-
</dependency>
53-
<dependency>
54-
<groupId>org.apache.logging.log4j</groupId>
55-
<artifactId>log4j-api</artifactId>
56-
<version>2.14.1</version>
38+
<artifactId>slf4j-simple</artifactId>
39+
<version>1.7.30</version>
5740
<scope>test</scope>
5841
</dependency>
5942

dataformat-jsonld/src/main/java/io/adminshell/aas/v3/dataformat/jsonld/JsonLDModule.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import io.adminshell.aas.v3.dataformat.jsonld.custom.BigDecimalSerializer;
66
import io.adminshell.aas.v3.dataformat.jsonld.custom.XMLGregorianCalendarDeserializer;
77
import io.adminshell.aas.v3.dataformat.jsonld.custom.XMLGregorianCalendarSerializer;
8+
import io.adminshell.aas.v3.model.LangString;
89

910
import java.math.BigDecimal;
1011
import java.net.URI;
@@ -29,6 +30,7 @@ public JsonLDModule() {
2930
addSerializer(BigDecimal.class, new BigDecimalSerializer());
3031

3132
addSerializer(URI.class, new UriSerializer());
33+
addSerializer(LangString.class, new LangStringSerializer());
3234
}
3335

3436
}

dataformat-jsonld/src/main/java/io/adminshell/aas/v3/dataformat/jsonld/JsonLDSerializer.java

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,20 +26,7 @@ public class JsonLDSerializer extends BeanSerializer {
2626

2727
private static int currentRecursionDepth = 0;
2828

29-
static final Map<String, String> contextItems;
30-
31-
static {
32-
contextItems = new HashMap<>();
33-
contextItems.put("ids", "https://w3id.org/idsa/core/");
34-
contextItems.put("idsc", "https://w3id.org/idsa/code/");
35-
contextItems.put("xsd", "http://www.w3.org/2001/XMLSchema#");
36-
contextItems.put("owl", "http://www.w3.org/2002/07/owl#");
37-
contextItems.put("rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#");
38-
contextItems.put("aas", "https://admin-shell.io/aas/3/0/RC01/");
39-
contextItems.put("iec61360", "https://admin-shell.io/DataSpecificationTemplates/DataSpecificationIEC61360/3/0/RC01/");
40-
contextItems.put("phys_unit", "https://admin-shell.io/DataSpecificationTemplates/DataSpecificationPhysicalUnit/3/0/RC01/");
41-
}
42-
29+
static final Map<String, String> contextItems = new HashMap<>();
4330

4431
JsonLDSerializer(BeanSerializerBase src) {
4532
super(src);
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package io.adminshell.aas.v3.dataformat.jsonld;
2+
3+
import java.io.IOException;
4+
5+
6+
import com.fasterxml.jackson.core.JsonGenerator;
7+
import com.fasterxml.jackson.databind.SerializerProvider;
8+
import com.fasterxml.jackson.databind.ser.std.StdSerializer;
9+
import io.adminshell.aas.v3.model.LangString;
10+
11+
public class LangStringSerializer extends StdSerializer<LangString> {
12+
13+
14+
public LangStringSerializer() {
15+
this(null);
16+
}
17+
18+
public LangStringSerializer(Class clazz) {
19+
super(clazz);
20+
}
21+
22+
23+
@Override
24+
public void serialize(LangString value, JsonGenerator gen, SerializerProvider provider) throws IOException {
25+
gen.writeStartObject();
26+
if(value.getLanguage() != null && !value.getLanguage().isEmpty())
27+
{
28+
gen.writeStringField("@language", value.getLanguage());
29+
}
30+
else
31+
{
32+
gen.writeStringField("@type", "rdf:langString");
33+
}
34+
gen.writeStringField("@value", value.getValue());
35+
gen.writeEndObject();
36+
}
37+
38+
}

0 commit comments

Comments
 (0)