private AbstractGeometry parseGeometryPropertyType(GeometryPropertyType geometryPropertyType) throws DecodingException { return parseAbstractGeometryType(geometryPropertyType.getAbstractGeometry()); }
private XmlObject createGeomteryPropertyType(AbstractGeometry element, EncodingContext ctx) throws EncodingException { GeometryPropertyType geometryPropertyType = GeometryPropertyType.Factory.newInstance(); if (element.isReferenced()) { geometryPropertyType.setHref(element.getGmlId()); } else { AbstractGeometryType xmlObject = createAbstractGeometry(element, ctx); geometryPropertyType.setAbstractGeometry(xmlObject); XmlHelper.substituteElement(geometryPropertyType.getAbstractGeometry(), xmlObject); } return geometryPropertyType; }
private AbstractGeometryType createAbstractGeometry(AbstractGeometry element, EncodingContext ctx) throws EncodingException { XmlObject xbGeometry = createPosition(element.getGeometry(), ctx); AbstractGeometryType abstractGeometryType = null; if (xbGeometry instanceof AbstractGeometryType) { abstractGeometryType = (AbstractGeometryType) xbGeometry; } else if (xbGeometry instanceof GeometryPropertyType) { abstractGeometryType = ((GeometryPropertyType) xbGeometry).getAbstractGeometry(); } else { throw new UnsupportedEncoderInputException(this, element); } if (element.isSetIdentifier()) { abstractGeometryType.setIdentifier(createCodeWithAuthorityType(element.getIdentifierCodeWithAuthority())); } if (element.isSetName()) { for (org.n52.shetland.ogc.gml.CodeType codeType : element.getName()) { abstractGeometryType.addNewName().set(createCodeType(codeType)); } } if (element.isSetDescription()) { abstractGeometryType.addNewDescription().setStringValue(element.getDescription()); } return abstractGeometryType; }
GeometryPropertyType geometryPropertyType = GeometryPropertyType.Factory.newInstance(getXmlOptions()); geometryPropertyType.setAbstractGeometry(xbPoint); geometryPropertyType.getAbstractGeometry().substitute(GmlConstants.QN_POINT_32, PointType.type); return geometryPropertyType; GeometryPropertyType geometryPropertyType = GeometryPropertyType.Factory.newInstance(getXmlOptions()); geometryPropertyType.setAbstractGeometry(xbLineString); geometryPropertyType.getAbstractGeometry().substitute(GmlConstants.QN_LINESTRING_32, LineStringType.type); return geometryPropertyType; GeometryPropertyType xbGeometryProperty = GeometryPropertyType.Factory.newInstance(getXmlOptions()); xbGeometryProperty.addNewAbstractGeometry().set(xbMultiCurve); XmlHelper.substituteElement(xbGeometryProperty.getAbstractGeometry(), xbMultiCurve); return xbGeometryProperty; } else { GeometryPropertyType geometryPropertyType = GeometryPropertyType.Factory.newInstance(getXmlOptions()); geometryPropertyType.setAbstractGeometry(xbPolygon); geometryPropertyType.getAbstractGeometry().substitute(GmlConstants.QN_POLYGON_32, PolygonType.type); return geometryPropertyType; GeometryPropertyType geometryPropertyType = GeometryPropertyType.Factory.newInstance(getXmlOptions()); geometryPropertyType.setAbstractGeometry(xbMultiPoint); geometryPropertyType.getAbstractGeometry().substitute(GmlConstants.QN_MULTI_POINT_32, PolygonType.type); return geometryPropertyType;