ModelToProdukt und ProduktToModel hinzugefügt
This commit is contained in:
@@ -23,8 +23,7 @@ public class EndpointsZentralesBOA {
|
|||||||
@PostMapping("/CalculateRequest")
|
@PostMapping("/CalculateRequest")
|
||||||
public String calc(@RequestBody String calculateRequest) throws IOException, DatatypeConfigurationException {
|
public String calc(@RequestBody String calculateRequest) throws IOException, DatatypeConfigurationException {
|
||||||
CalculateService cs = new CalculateService();
|
CalculateService cs = new CalculateService();
|
||||||
cs.buildResponse(calculateRequest);
|
return cs.buildResponse(calculateRequest);
|
||||||
return "";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,11 @@
|
|||||||
package com.kapdion.omds.productdefinitions.calculate;
|
package com.kapdion.omds.productdefinitions.calculate;
|
||||||
|
|
||||||
import at.vvo.omds.types.omds3.r2025_05.common.ProduktAllgemeinType;
|
import at.vvo.omds.types.omds3.r2025_05.common.*;
|
||||||
import at.vvo.omds.types.omds3.r2025_05.common.ProduktbausteinType;
|
|
||||||
import at.vvo.omds.types.omds3.r2025_05.common.VerkaufsproduktAllgemeinType;
|
|
||||||
import at.vvo.omds.types.omds3.r2025_05.common.VerkaufsproduktType;
|
|
||||||
import org.eclipse.rdf4j.model.*;
|
import org.eclipse.rdf4j.model.*;
|
||||||
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
|
import org.eclipse.rdf4j.model.impl.SimpleValueFactory;
|
||||||
import org.eclipse.rdf4j.model.impl.TreeModel;
|
import org.eclipse.rdf4j.model.impl.TreeModel;
|
||||||
import org.eclipse.rdf4j.model.util.Models;
|
import org.eclipse.rdf4j.model.util.Models;
|
||||||
|
import org.eclipse.rdf4j.model.util.Values;
|
||||||
import org.eclipse.rdf4j.rio.RDFFormat;
|
import org.eclipse.rdf4j.rio.RDFFormat;
|
||||||
import org.eclipse.rdf4j.rio.Rio;
|
import org.eclipse.rdf4j.rio.Rio;
|
||||||
|
|
||||||
@@ -35,9 +33,8 @@ public class CalculateService {
|
|||||||
|
|
||||||
|
|
||||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||||
// Rio.write(response, baos, RDFFormat.JSONLD);
|
Rio.write(response, baos, RDFFormat.JSONLD);
|
||||||
// return baos.toString();
|
return baos.toString();
|
||||||
return "";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private VerkaufsproduktType calculateRequestToVerkaufsprodukt(String calculateRequest) throws IOException, DatatypeConfigurationException {
|
private VerkaufsproduktType calculateRequestToVerkaufsprodukt(String calculateRequest) throws IOException, DatatypeConfigurationException {
|
||||||
@@ -141,8 +138,6 @@ public class CalculateService {
|
|||||||
produktbausteinType.setMaxVorkommen(maxOccurrence);
|
produktbausteinType.setMaxVorkommen(maxOccurrence);
|
||||||
produktbausteinType.setMinVorkommen(minOccurrence);
|
produktbausteinType.setMinVorkommen(minOccurrence);
|
||||||
produktbausteinType.setRisikoobjektErforderlich(risikoobjektType != null);
|
produktbausteinType.setRisikoobjektErforderlich(risikoobjektType != null);
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -178,11 +173,16 @@ public class CalculateService {
|
|||||||
private void pruefeVUNr(String vuNr) {
|
private void pruefeVUNr(String vuNr) {
|
||||||
}
|
}
|
||||||
|
|
||||||
private Model createRdfModel(VerkaufsproduktType vp) {
|
private Model createRdfModel(ProduktbausteinType vp) {
|
||||||
Model erg = new TreeModel();
|
Model erg = new TreeModel();
|
||||||
|
|
||||||
String baseIri = "http://vvo.pisanoapi.at/";
|
String baseIri = "http://vvo.pisanoapi.at/";
|
||||||
|
|
||||||
|
addProduktToModel(vp, erg, baseIri);
|
||||||
|
|
||||||
|
return erg;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addProduktToModel(ProduktbausteinType produkt, Model model, String baseIri) {
|
||||||
IRI prodelemIri = iri(baseIri + "ProdElement");
|
IRI prodelemIri = iri(baseIri + "ProdElement");
|
||||||
IRI insIdIri = iri(baseIri + "ins_id");
|
IRI insIdIri = iri(baseIri + "ins_id");
|
||||||
IRI bezIri = iri(baseIri + "bez");
|
IRI bezIri = iri(baseIri + "bez");
|
||||||
@@ -195,14 +195,30 @@ public class CalculateService {
|
|||||||
IRI risikoobjektTypeIri = iri(baseIri + "risikoobjektType");
|
IRI risikoobjektTypeIri = iri(baseIri + "risikoobjektType");
|
||||||
IRI bausteinIri = iri(baseIri + "baustein");
|
IRI bausteinIri = iri(baseIri + "baustein");
|
||||||
|
|
||||||
IRI vpIri = iri(baseIri + "ProdElement" + vp.getId());
|
IRI vpIri = iri(baseIri + "ProdElement" + produkt.getId());
|
||||||
|
|
||||||
|
// erg.add(vpIri, insIdIri, vp.getinsid())
|
||||||
|
model.add(vpIri, bezIri, Values.literal(produkt.getBezeichnung()));
|
||||||
|
// erg.add(vpIri, createdIri, Values.literal(vp.get()));
|
||||||
|
model.add(vpIri, salesFromIri, Values.literal(produkt.getVerkaufsoffenVon()));
|
||||||
|
model.add(vpIri, salesToIri, Values.literal(produkt.getVerkaufsoffenBis()));
|
||||||
|
model.add(vpIri, minOccurrenceIri, Values.literal(produkt.getMinVorkommen()));
|
||||||
|
model.add(vpIri, maxOccurrenceIri, Values.literal(produkt.getMaxVorkommen()));
|
||||||
|
model.add(vpIri, typeIri, Values.literal(produkt.getTyp()));
|
||||||
|
|
||||||
// erg.add()
|
// for (int i = 0; i < vp.getVersicherteObjekte().size(); i++) {
|
||||||
|
// erg.add(vpIri, risikoobjektTypeIri, Values.literal(vp.getVersicherteObjekte().get(i)));
|
||||||
|
// }
|
||||||
|
for (int i = 0; i < produkt.getBausteine().size(); i++) {
|
||||||
|
IRI unterbausteinIri = iri(baseIri + "ProdElement" + produkt.getBausteine().get(i).getId());
|
||||||
|
model.add(vpIri, bausteinIri, unterbausteinIri);
|
||||||
|
|
||||||
|
addProduktToModel(produkt.getBausteine().get(i), model, baseIri);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addRisikoobjektToModel(VersichertesInteresseType ro, Model model, String baseIri) {
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void calculate() {
|
private void calculate() {
|
||||||
|
|||||||
Reference in New Issue
Block a user