Commit bd8f73de authored by Matthias Betz's avatar Matthias Betz
Browse files

quality ade 0.1.4

parent c0df41b0
......@@ -22,39 +22,48 @@ import javax.xml.namespace.QName;
@XMLElement(name = "Parameter", namespaceURI = QualityADEModule.NAMESPACE_URI)
public class ParameterAdapter implements ObjectBuilder<Parameter>, ObjectSerializer<Parameter> {
@Override
public Parameter createObject(QName name, Object parent) throws ObjectBuildException {
return new Parameter();
}
@Override
public void buildChildObject(Parameter object, QName name, Attributes attributes, XMLReader reader) throws ObjectBuildException, XMLReadException {
if (!QualityADEModule.NAMESPACE_URI.equals(name.getNamespaceURI())) {
return;
}
switch (name.getLocalPart()) {
case "name" -> reader.getTextContent().ifPresent(object::setName);
case "uom" -> reader.getTextContent().ifPresent(object::setUom);
case "value" -> reader.getTextContent().ifPresent(object::setValue);
default -> throw new IllegalStateException("Cannot handle name " + name + " when building Parameter element");
}
}
@Override
public Element createElement(Parameter object, Namespaces namespaces) throws ObjectSerializeException {
return Element.of(QualityADEModule.NAMESPACE_URI, "Parameter");
}
@Override
public void writeChildElements(Parameter object, Namespaces namespaces, XMLWriter writer) throws ObjectSerializeException, XMLWriteException {
if (object.getName() != null) {
writer.writeElement(Element.of(QualityADEModule.NAMESPACE_URI, "name").addTextContent(object.getName()));
}
if (object.getUom() != null) {
writer.writeElement(Element.of(QualityADEModule.NAMESPACE_URI, "uom").addTextContent(object.getUom()));
}
if (object.getValue() != null) {
writer.writeElement(Element.of(QualityADEModule.NAMESPACE_URI, "value").addTextContent(object.getValue()));
}
}
@Override
public Parameter createObject(QName name, Object parent) throws ObjectBuildException {
return new Parameter();
}
@Override
public void buildChildObject(Parameter object, QName name, Attributes attributes, XMLReader reader)
throws ObjectBuildException, XMLReadException {
if (!QualityADEModule.NAMESPACE_URI.equals(name.getNamespaceURI())) {
return;
}
switch (name.getLocalPart()) {
case "name":
reader.getTextContent().ifPresent(object::setName);
break;
case "uom":
reader.getTextContent().ifPresent(object::setUom);
break;
case "value":
reader.getTextContent().ifPresent(object::setValue);
break;
default:
throw new IllegalStateException("Cannot handle name " + name + " when building Parameter element");
}
}
@Override
public Element createElement(Parameter object, Namespaces namespaces) throws ObjectSerializeException {
return Element.of(QualityADEModule.NAMESPACE_URI, "Parameter");
}
@Override
public void writeChildElements(Parameter object, Namespaces namespaces, XMLWriter writer)
throws ObjectSerializeException, XMLWriteException {
if (object.getName() != null) {
writer.writeElement(Element.of(QualityADEModule.NAMESPACE_URI, "name").addTextContent(object.getName()));
}
if (object.getUom() != null) {
writer.writeElement(Element.of(QualityADEModule.NAMESPACE_URI, "uom").addTextContent(object.getUom()));
}
if (object.getValue() != null) {
writer.writeElement(Element.of(QualityADEModule.NAMESPACE_URI, "value").addTextContent(object.getValue()));
}
}
}
......@@ -33,9 +33,14 @@ public class PlanarDistancePlaneErrorAdapter extends AbstractPolygonErrorAdapter
return;
}
switch (name.getLocalPart()) {
case "vertex" -> object.setVertex(reader.getObjectUsingBuilder(DirectPositionAdapter.class));
case "distance" -> object.setDistance(reader.getObjectUsingBuilder(LengthAdapter.class));
default -> super.buildChildObject(object, name, attributes, reader);
case "vertex":
object.setVertex(reader.getObjectUsingBuilder(DirectPositionAdapter.class));
break;
case "distance":
object.setDistance(reader.getObjectUsingBuilder(LengthAdapter.class));
break;
default:
super.buildChildObject(object, name, attributes, reader);
}
}
......
......@@ -32,8 +32,11 @@ public class PlanarNormalsDeviationErrorAdapter extends AbstractPolygonErrorAdap
return;
}
switch (name.getLocalPart()) {
case "deviation" -> object.setDeviation(reader.getObjectUsingBuilder(AngleAdapter.class));
default -> super.buildChildObject(object, name, attributes, reader);
case "deviation":
object.setDeviation(reader.getObjectUsingBuilder(AngleAdapter.class));
break;
default:
super.buildChildObject(object, name, attributes, reader);
}
}
......
......@@ -34,12 +34,14 @@ public class PolygonIdListAdapter implements ObjectBuilder<PolygonIdList>, Objec
return;
}
switch (name.getLocalPart()) {
case "polygonId" -> object.getPolygonIds().add(reader.getTextContent().get());
default -> throw new IllegalStateException(
"Cannot handle name " + name + " when building PolygonIdList element");
case "polygonId":
object.getPolygonIds().add(reader.getTextContent().get());
break;
default:
throw new IllegalStateException("Cannot handle name " + name + " when building PolygonIdList element");
}
}
@Override
public Element createElement(PolygonIdList object, Namespaces namespaces) throws ObjectSerializeException {
return Element.of(QualityADEModule.NAMESPACE_URI, "PolygonIdList");
......
......@@ -32,8 +32,11 @@ public class PolygonWrongOrientationErrorAdapter extends AbstractSolidErrorAdapt
return;
}
switch (name.getLocalPart()) {
case "edges" -> object.setEdges(reader.getObjectUsingBuilder(EdgeListPropertyAdapter.class));
default -> super.buildChildObject(object, name, attributes, reader);
case "edges":
object.setEdges(reader.getObjectUsingBuilder(EdgeListPropertyAdapter.class));
break;
default:
super.buildChildObject(object, name, attributes, reader);
}
}
......
......@@ -37,10 +37,17 @@ public class RequirementAdapter implements ObjectBuilder<Requirement>, ObjectSer
return;
}
switch (name.getLocalPart()) {
case "enabled" -> reader.getTextContent().ifPresent(s -> object.setEnabled(Boolean.parseBoolean(s)));
case "requirementType" -> object.setRequirementType(RequirementId.valueOf(reader.getTextContent().get()));
case "parameter" -> object.getParameters().add(reader.getObjectUsingBuilder(ParameterPropertyAdapter.class));
default -> throw new IllegalStateException("Cannot handle name " + name + " when building Requirement element");
case "enabled":
reader.getTextContent().ifPresent(s -> object.setEnabled(Boolean.parseBoolean(s)));
break;
case "requirementType":
object.setRequirementType(RequirementId.valueOf(reader.getTextContent().get()));
break;
case "parameter":
object.getParameters().add(reader.getObjectUsingBuilder(ParameterPropertyAdapter.class));
break;
default:
throw new IllegalStateException("Cannot handle name " + name + " when building Requirement element");
}
}
......
......@@ -34,12 +34,23 @@ public class RingSelfIntersectionErrorAdapter extends AbstractRingErrorAdapter<R
return;
}
switch (name.getLocalPart()) {
case "type" -> reader.getTextContent().ifPresent(s -> object.setType(RingSelfIntType.valueOf(s)));
case "edge1" -> object.setEdge1(reader.getObjectUsingBuilder(EdgePropertyAdapter.class));
case "edge2" -> object.setEdge2(reader.getObjectUsingBuilder(EdgePropertyAdapter.class));
case "vertex1" -> object.setVertex1(reader.getObjectUsingBuilder(DirectPositionAdapter.class));
case "vertex2" -> object.setVertex2(reader.getObjectUsingBuilder(DirectPositionAdapter.class));
default -> super.buildChildObject(object, name, attributes, reader);
case "type":
reader.getTextContent().ifPresent(s -> object.setType(RingSelfIntType.valueOf(s)));
break;
case "edge1":
object.setEdge1(reader.getObjectUsingBuilder(EdgePropertyAdapter.class));
break;
case "edge2":
object.setEdge2(reader.getObjectUsingBuilder(EdgePropertyAdapter.class));
break;
case "vertex1":
object.setVertex1(reader.getObjectUsingBuilder(DirectPositionAdapter.class));
break;
case "vertex2":
object.setVertex2(reader.getObjectUsingBuilder(DirectPositionAdapter.class));
break;
default:
super.buildChildObject(object, name, attributes, reader);
}
}
......
......@@ -31,14 +31,21 @@ public class SemanticAttributeMissingErrorAdapter extends AbstractSemanticErrorA
return;
}
switch (name.getLocalPart()) {
case "childId" -> reader.getTextContent().ifPresent(object::setChildId);
case "attributeName" -> reader.getTextContent().ifPresent(object::setAttributeName);
case "generic" -> reader.getTextContent().ifPresent(s -> object.setGeneric(Boolean.parseBoolean(s)));
default -> throw new IllegalStateException(
"Cannot handle name " + name + " when building SemanticAttributeMissingError element");
case "childId":
reader.getTextContent().ifPresent(object::setChildId);
break;
case "attributeName":
reader.getTextContent().ifPresent(object::setAttributeName);
break;
case "generic":
reader.getTextContent().ifPresent(s -> object.setGeneric(Boolean.parseBoolean(s)));
break;
default:
throw new IllegalStateException(
"Cannot handle name " + name + " when building SemanticAttributeMissingError element");
}
}
@Override
public Element createElement(SemanticAttributeMissingError object, Namespaces namespaces)
throws ObjectSerializeException {
......
......@@ -32,14 +32,21 @@ public class SemanticAttributeWrongValueErrorAdapter
return;
}
switch (name.getLocalPart()) {
case "childId" -> reader.getTextContent().ifPresent(object::setChildId);
case "attributeName" -> reader.getTextContent().ifPresent(object::setAttributeName);
case "generic" -> reader.getTextContent().ifPresent(s -> object.setGeneric(Boolean.parseBoolean(s)));
default -> throw new IllegalStateException(
"Cannot handle name " + name + " when building SemanticAttributeWrongValueError element");
case "childId":
reader.getTextContent().ifPresent(object::setChildId);
break;
case "attributeName":
reader.getTextContent().ifPresent(object::setAttributeName);
break;
case "generic":
reader.getTextContent().ifPresent(s -> object.setGeneric(Boolean.parseBoolean(s)));
break;
default:
throw new IllegalStateException(
"Cannot handle name " + name + " when building SemanticAttributeWrongValueError element");
}
}
@Override
public Element createElement(SemanticAttributeWrongValueError object, Namespaces namespaces)
throws ObjectSerializeException {
......
......@@ -32,8 +32,11 @@ public class SolidNotClosedErrorAdapter extends AbstractSolidErrorAdapter<SolidN
return;
}
switch (name.getLocalPart()) {
case "edges" -> object.setEdges(reader.getObjectUsingBuilder(EdgeListPropertyAdapter.class));
default -> super.buildChildObject(object, name, attributes, reader);
case "edges":
object.setEdges(reader.getObjectUsingBuilder(EdgeListPropertyAdapter.class));
break;
default:
super.buildChildObject(object, name, attributes, reader);
}
}
......
......@@ -31,10 +31,14 @@ public class SolidSelfIntersectionErrorAdapter extends AbstractSolidErrorAdapter
return;
}
switch (name.getLocalPart()) {
case "polygonId1" -> reader.getTextContent().ifPresent(object::setPolygonId1);
case "polygonId2" -> reader.getTextContent().ifPresent(object::setPolygonId2);
default -> super.buildChildObject(object, name, attributes, reader);
case "polygonId1":
reader.getTextContent().ifPresent(object::setPolygonId1);
break;
case "polygonId2":
reader.getTextContent().ifPresent(object::setPolygonId2);
break;
default:
super.buildChildObject(object, name, attributes, reader);
}
}
......
......@@ -36,20 +36,29 @@ public class StatisticsAdapter implements ObjectBuilder<Statistics>, ObjectSeria
return;
}
switch (name.getLocalPart()) {
case "numErrorBuildings" -> object
.setNumErrorBuildings(reader.getObjectUsingBuilder(FeatureStatisticsPropertyAdapter.class));
case "numErrorVegetation" -> object
.setNumErrorVegetation(reader.getObjectUsingBuilder(FeatureStatisticsPropertyAdapter.class));
case "numErrorLandObjects" -> object
.setNumErrorLandObjects(reader.getObjectUsingBuilder(FeatureStatisticsPropertyAdapter.class));
case "numErrorBridgeObjects" -> object
.setNumErrorBridgeObjects(reader.getObjectUsingBuilder(FeatureStatisticsPropertyAdapter.class));
case "numErrorWaterObjects" -> object
.setNumErrorWaterObjects(reader.getObjectUsingBuilder(FeatureStatisticsPropertyAdapter.class));
case "numErrorTransportation" -> object
.setNumErrorTransportation(reader.getObjectUsingBuilder(FeatureStatisticsPropertyAdapter.class));
case "error" -> object.getErrors().add(reader.getObjectUsingBuilder(ErrorPropertyAdapter.class));
default -> throw new IllegalStateException("Cannot handle name " + name + " when building Statistics element");
case "numErrorBuildings":
object.setNumErrorBuildings(reader.getObjectUsingBuilder(FeatureStatisticsPropertyAdapter.class));
break;
case "numErrorVegetation":
object.setNumErrorVegetation(reader.getObjectUsingBuilder(FeatureStatisticsPropertyAdapter.class));
break;
case "numErrorLandObjects":
object.setNumErrorLandObjects(reader.getObjectUsingBuilder(FeatureStatisticsPropertyAdapter.class));
break;
case "numErrorBridgeObjects":
object.setNumErrorBridgeObjects(reader.getObjectUsingBuilder(FeatureStatisticsPropertyAdapter.class));
break;
case "numErrorWaterObjects":
object.setNumErrorWaterObjects(reader.getObjectUsingBuilder(FeatureStatisticsPropertyAdapter.class));
break;
case "numErrorTransportation":
object.setNumErrorTransportation(reader.getObjectUsingBuilder(FeatureStatisticsPropertyAdapter.class));
break;
case "error":
object.getErrors().add(reader.getObjectUsingBuilder(ErrorPropertyAdapter.class));
break;
default:
throw new IllegalStateException("Cannot handle name " + name + " when building Statistics element");
}
}
......
......@@ -20,7 +20,7 @@ import de.hft.stuttgart.quality.adapter.properties.ValidationPlanPropertyAdapter
import de.hft.stuttgart.quality.model.types.Validation;
@XMLElement(name = "Validation", namespaceURI = QualityADEModule.NAMESPACE_URI)
public class ValidationAdapter extends AbstractFeatureAdapter<Validation> {
public class ValidationAdapter extends AbstractFeatureAdapter<Validation> {
private static final ZonedDateTimeAdapter DATE_TIME_ADAPTER = new ZonedDateTimeAdapter();
......@@ -36,16 +36,23 @@ public class ValidationAdapter extends AbstractFeatureAdapter<Validation> {
return;
}
switch (name.getLocalPart()) {
case "validationDate" -> reader.getTextContent()
.ifPresent(s -> object.setValidationDate(DATE_TIME_ADAPTER.fromString(s)));
case "validationSoftware" -> reader.getTextContent().ifPresent(object::setValidationSoftware);
case "statistics" -> object.setStatistics(reader.getObjectUsingBuilder(StatisticsPropertyAdapter.class));
case "validationPlan" -> object
.setValidationPlan(reader.getObjectUsingBuilder(ValidationPlanPropertyAdapter.class));
default -> super.buildChildObject(object, name, attributes, reader);
case "validationDate":
reader.getTextContent().ifPresent(s -> object.setValidationDate(DATE_TIME_ADAPTER.fromString(s)));
break;
case "validationSoftware":
reader.getTextContent().ifPresent(object::setValidationSoftware);
break;
case "statistics":
object.setStatistics(reader.getObjectUsingBuilder(StatisticsPropertyAdapter.class));
break;
case "validationPlan":
object.setValidationPlan(reader.getObjectUsingBuilder(ValidationPlanPropertyAdapter.class));
break;
default:
super.buildChildObject(object, name, attributes, reader);
}
}
@Override
public Element createElement(Validation object, Namespaces namespaces) throws ObjectSerializeException {
return Element.of(QualityADEModule.NAMESPACE_URI, "Validation");
......
......@@ -37,16 +37,20 @@ public class ValidationPlanAdapter implements ObjectBuilder<ValidationPlan>, Obj
return;
}
switch (name.getLocalPart()) {
case "globalParameters" -> object
.setGlobalParameters(reader.getObjectUsingBuilder(GlobalParametersPropertyAdapter.class));
case "filter" -> object.setFilter(reader.getObjectUsingBuilder(FilterPropertyAdapter.class));
case "requirement" -> object.getRequirements()
.add(reader.getObjectUsingBuilder(RequirementPropertyAdapter.class));
default -> throw new IllegalStateException(
"Cannot handle name " + name + " when building ValidationPlan element");
case "globalParameters":
object.setGlobalParameters(reader.getObjectUsingBuilder(GlobalParametersPropertyAdapter.class));
break;
case "filter":
object.setFilter(reader.getObjectUsingBuilder(FilterPropertyAdapter.class));
break;
case "requirement":
object.getRequirements().add(reader.getObjectUsingBuilder(RequirementPropertyAdapter.class));
break;
default:
throw new IllegalStateException("Cannot handle name " + name + " when building ValidationPlan element");
}
}
@Override
public Element createElement(ValidationPlan object, Namespaces namespaces) throws ObjectSerializeException {
return Element.of(QualityADEModule.NAMESPACE_URI, "ValidationPlan");
......
......@@ -37,14 +37,20 @@ public class ValidationResultAdapter implements ObjectBuilder<ValidationResult>,
return;
}
switch (name.getLocalPart()) {
case "validationPlanID" -> object.setValidationPlanID(reader.getObjectUsingBuilder(ReferenceAdapter.class));
case "error" -> object.getErrors().add(reader.getObjectUsingBuilder(AbstractErrorPropertyAdapter.class));
case "resultType" -> reader.getTextContent().ifPresent(s -> object.setResultType(ResultType.valueOf(s)));
default -> throw new IllegalStateException(
"Cannot handle name " + name + " when building ValidationResult element");
case "validationPlanID":
object.setValidationPlanID(reader.getObjectUsingBuilder(ReferenceAdapter.class));
break;
case "error":
object.getErrors().add(reader.getObjectUsingBuilder(AbstractErrorPropertyAdapter.class));
break;
case "resultType":
reader.getTextContent().ifPresent(s -> object.setResultType(ResultType.valueOf(s)));
break;
default:
throw new IllegalStateException("Cannot handle name " + name + " when building ValidationResult element");
}
}
@Override
public Element createElement(ValidationResult object, Namespaces namespaces) throws ObjectSerializeException {
return Element.of(QualityADEModule.NAMESPACE_URI, "ValidationResult");
......
......@@ -15,8 +15,6 @@
*/
package de.hft.stuttgart.quality.model.properties;
import java.io.Serial;
import org.citygml4j.core.model.ade.ADEObject;
import org.xmlobjects.gml.model.base.AbstractInlineProperty;
......@@ -24,20 +22,19 @@ import de.hft.stuttgart.quality.model.types.AbstractError;
public class AbstractErrorProperty extends AbstractInlineProperty<AbstractError> implements ADEObject {
@Serial
private static final long serialVersionUID = 1411862623125946009L;
private static final long serialVersionUID = 1411862623125946009L;
public AbstractErrorProperty() {
super();
}
public AbstractErrorProperty() {
super();
}
public AbstractErrorProperty(AbstractError ae) {
super(ae);
}
public AbstractErrorProperty(AbstractError ae) {
super(ae);
}
@Override
public Class<AbstractError> getTargetType() {
return AbstractError.class;
}
@Override
public Class<AbstractError> getTargetType() {
return AbstractError.class;
}
}
......@@ -15,8 +15,6 @@
*/
package de.hft.stuttgart.quality.model.properties;
import java.io.Serial;
import org.citygml4j.core.model.ade.ADEObject;
import org.xmlobjects.gml.model.base.AbstractInlineProperty;
......@@ -24,20 +22,19 @@ import de.hft.stuttgart.quality.model.types.AbstractGeometryError;
public class AbstractGeometryErrorProperty extends AbstractInlineProperty<AbstractGeometryError> implements ADEObject {
@Serial
private static final long serialVersionUID = 7034671234592671680L;
private static final long serialVersionUID = 7034671234592671680L;
public AbstractGeometryErrorProperty() {
super();
}
public AbstractGeometryErrorProperty() {
super();
}
public AbstractGeometryErrorProperty(AbstractGeometryError age) {
super(age);
}
public AbstractGeometryErrorProperty(AbstractGeometryError age) {
super(age);
}
@Override
public Class<AbstractGeometryError> getTargetType() {
return AbstractGeometryError.class;
}
@Override
public Class<AbstractGeometryError> getTargetType() {
return AbstractGeometryError.class;
}
}
......@@ -15,7 +15,6 @@
*/
package de.hft.stuttgart.quality.model.properties;
import java.io.Serial;
import org.citygml4j.core.model.ade.ADEObject;
import org.xmlobjects.gml.model.base.AbstractInlineProperty;
......@@ -24,7 +23,6 @@ import de.hft.stuttgart.quality.model.types.AbstractPolygonError;
public class AbstractPolygonErrorProperty extends AbstractInlineProperty<AbstractPolygonError> implements ADEObject {
@Serial
private static final long serialVersionUID = 70692012962059529L;
public AbstractPolygonErrorProperty() {
......
......@@ -15,8 +15,6 @@
*/
package de.hft.stuttgart.quality.model.properties;
import java.io.Serial;
import org.citygml4j.core.model.ade.ADEObject;
import org.xmlobjects.gml.model.base.AbstractInlineProperty;
......@@ -24,20 +22,19 @@ import de.hft.stuttgart.quality.model.types.AbstractRingError;
public class AbstractRingErrorProperty extends AbstractInlineProperty<AbstractRingError> implements ADEObject {
@Serial
private static final long serialVersionUID = 6934180997181643185L;
private static final long serialVersionUID = 6934180997181643185L;
public AbstractRingErrorProperty() {
super();
}
public AbstractRingErrorProperty() {
super();
}
public AbstractRingErrorProperty(AbstractRingError are) {
super(are);
}
public AbstractRingErrorProperty(AbstractRingError are) {
super(are);
}
@Override
public Class<AbstractRingError> getTargetType() {
return AbstractRingError.class;
}
@Override
public Class<AbstractRingError> getTargetType() {
return AbstractRingError.class;
}
}
......@@ -15,8 +15,6 @@
*/
package de.hft.stuttgart.quality.model.properties;
import java.io.Serial;
import org.citygml4j.core.model.ade.ADEObject;
import org.xmlobjects.gml.model.base.AbstractInlineProperty;
......@@ -24,20 +22,19 @@ import de.hft.stuttgart.quality.model.types.AbstractSemanticError;
public class AbstractSemanticErrorProperty extends AbstractInlineProperty<AbstractSemanticError> implements ADEObject {
@Serial
private static final long serialVersionUID = 8488922114751949334L;
private static final long serialVersionUID = 8488922114751949334L;
public AbstractSemanticErrorProperty() {
super();
}
public AbstractSemanticErrorProperty() {
super();
}
public AbstractSemanticErrorProperty(AbstractSemanticError ase) {
super(ase);
}
public AbstractSemanticErrorProperty(AbstractSemanticError ase) {
super(ase);
}
@Override
public Class<AbstractSemanticError> getTargetType() {
return AbstractSemanticError.class;
}
@Override
public Class<AbstractSemanticError> getTargetType() {
return AbstractSemanticError.class;
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment