Skip to content

Commit

Permalink
Merge pull request #16 from gdi-be/generate-service-metadata
Browse files Browse the repository at this point in the history
Initial setup to write service metadata
  • Loading branch information
hwbllmnn authored Jan 22, 2025
2 parents 881413c + f774aba commit c1c483a
Show file tree
Hide file tree
Showing 18 changed files with 334 additions and 177 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
import de.terrestris.mde.mde_backend.model.json.ColumnInfo.ColumnType;
import de.terrestris.mde.mde_backend.model.json.ColumnInfo.FilterType;
import de.terrestris.mde.mde_backend.model.json.Service.ServiceType;
import de.terrestris.mde.mde_backend.model.json.codelists.*;
import lombok.extern.log4j.Log4j2;
import org.apache.http.client.utils.URIBuilder;
import org.springframework.beans.factory.annotation.Autowired;
Expand Down Expand Up @@ -224,6 +225,7 @@ private static void extractFromIso(XMLStreamReader reader, IsoMetadata metadata,
metadata.setMetadataId(reader.getAttributeValue(null, "uuid"));
client.setMetadataId(metadata.getMetadataId());
technical.setMetadataId(metadata.getMetadataId());
json.setPointsOfContact(new ArrayList<>());
while (reader.hasNext() && !(reader.isEndElement() && reader.getLocalName().equals("MD_Metadata"))) {
reader.next();
if (!reader.isStartElement()) {
Expand All @@ -239,7 +241,7 @@ private static void extractFromIso(XMLStreamReader reader, IsoMetadata metadata,
}
if (reader.isStartElement() && reader.getLocalName().equals("pointOfContact")) {
var contact = parseContact(reader, "pointOfContact");
json.setPointOfContact(contact);
json.getPointsOfContact().add(contact);
}
if (reader.isStartElement() && reader.getLocalName().equals("topicCategory")) {
skipToElement(reader, "MD_TopicCategoryCode");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import de.terrestris.mde.mde_backend.model.json.codelists.MD_RestrictionCode;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import de.terrestris.mde.mde_backend.model.json.codelists.CI_OnLineFunctionCode;
import de.terrestris.mde.mde_backend.model.json.codelists.CI_RoleCode;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import de.terrestris.mde.mde_backend.model.json.codelists.CI_OnLineFunctionCode;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import de.terrestris.mde.mde_backend.enumeration.MetadataProfile;
import de.terrestris.mde.mde_backend.model.json.codelists.MD_MaintenanceFrequencyCode;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
Expand Down Expand Up @@ -90,7 +91,7 @@ public enum InspireTheme {

private List<Contact> contacts;

private Contact pointOfContact;
private List<Contact> pointsOfContact;

private Integer scale;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import de.terrestris.mde.mde_backend.model.json.codelists.CI_DateTypeCode;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.terrestris.mde.mde_backend.model.json;
package de.terrestris.mde.mde_backend.model.json.codelists;

public enum CI_DateTypeCode {
creation,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.terrestris.mde.mde_backend.model.json;
package de.terrestris.mde.mde_backend.model.json.codelists;

public enum CI_OnLineFunctionCode {
download,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package de.terrestris.mde.mde_backend.model.json.codelists;

public enum CI_PresentationFormCode {
documentDigital,
imageDigital,
documentHardcopy,
imageHardcopy,
mapDigital,
mapHardcopy,
modelDigital,
modelHardcopy,
profileDigital,
profileHardcopy,
tableDigital,
tableHardcopy,
videoDigital,
videoHardcopy
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.terrestris.mde.mde_backend.model.json;
package de.terrestris.mde.mde_backend.model.json.codelists;

public enum CI_RoleCode {
resourceProvider,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package de.terrestris.mde.mde_backend.model.json.codelists;

public enum MD_CharacterSetCode {
ucs2,
ucs4,
utf7,
utf8,
utf16
// omitted because identifiers are not legal in java (and not used anyway)
//8859part1,
//8859part2,
//8859part3,
//8859part4,
//8859part5,
//8859part6,
//8859part7,
//8859part8,
//8859part9,
//8859part10,
//8859part11
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.terrestris.mde.mde_backend.model.json;
package de.terrestris.mde.mde_backend.model.json.codelists;

public enum MD_MaintenanceFrequencyCode {
continual,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package de.terrestris.mde.mde_backend.model.json;
package de.terrestris.mde.mde_backend.model.json.codelists;

public enum MD_RestrictionCode {

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package de.terrestris.mde.mde_backend.model.json.codelists;

public enum MD_ScopeCode {
attribute,
attributeType,
collectionHardware,
collectionSession,
dataset,
series,
nonGeographicDataset,
dimensionGroup,
feature,
featureType,
propertyType,
fieldSession,
software,
service,
model,
tile
}
Loading

0 comments on commit c1c483a

Please sign in to comment.