![JAR search and dependency download from the Maven repository](/logo.png)
net.intelie.liverig.witsml.query.WellboreGeometryQuery Maven / Gradle / Ivy
The newest version!
package net.intelie.liverig.witsml.query;
import net.intelie.liverig.parser.ParseException;
import net.intelie.liverig.witsml.WITSMLResult;
import net.intelie.liverig.witsml.objects.*;
import java.util.List;
import java.util.Map;
import java.util.Objects;
public interface WellboreGeometryQuery extends RawDataQuery {
@Override
WellboreGeometryData parse(WITSMLResult witsmlResult) throws ParseException;
class Parser extends AbstractParser {
private final WellboreGeometryData result;
public Parser(WellboreGeometryData result) {
this.result = result;
}
static WellboreGeometryHeader getHeader(Map object) {
WellboreGeometryHeader header = new WellboreGeometryHeader();
header.setUidWell(getString(object, "uidWell"));
header.setUidWellbore(getString(object, "uidWellbore"));
header.setUid(getString(object, "uid"));
header.setNameWell(getString(object, "nameWell"));
header.setNameWellbore(getString(object, "nameWellbore"));
header.setName(getString(object, "name"));
MeasureValue mdBottom = new MeasureValue();
mdBottom.setValue(getDouble(getMapOrValue(object, "mdBottom"), "value"));
mdBottom.setDatum(getString(getMapOrValue(object, "mdBottom"), "datum"));
mdBottom.setUom(getString(getMapOrValue(object, "mdBottom"), "uom"));
header.setMdBottom(mdBottom);
return header;
}
@Override
protected void event(Map object, Map data) {
if (!"wbGeometry".equals(object.get("object")))
return;
WellboreGeometryHeader header = result.getHeader();
if (header == null) {
header = getHeader(object);
result.setHeader(header);
} else {
if (!Objects.equals(header.getUidWell(), getString(object, "uidWell")))
return;
if (!Objects.equals(header.getUidWellbore(), getString(object, "uidWellbore")))
return;
if (!Objects.equals(header.getUid(), getString(object, "uid")))
return;
}
List wellboreGeometrySections = result.getData();
if (wellboreGeometrySections != null) {
WellboreGeometrySection wellboreGeometrySection = new WellboreGeometrySection();
wellboreGeometrySection.setUid(getString(data, "uid"));
MeasureValue mdTop = new MeasureValue();
mdTop.setValue(getDouble(getMapOrValue(data, "mdTop"), "value"));
mdTop.setDatum(getString(getMapOrValue(data, "mdTop"), "datum"));
mdTop.setUom(getString(getMapOrValue(data, "mdTop"), "uom"));
MeasureValue mdBottom = new MeasureValue();
mdBottom.setValue(getDouble(getMapOrValue(data, "mdBottom"), "value"));
mdBottom.setDatum(getString(getMapOrValue(data, "mdBottom"), "datum"));
mdBottom.setUom(getString(getMapOrValue(data, "mdBottom"), "uom"));
WellVerticalDepth tvdTop = new WellVerticalDepth();
tvdTop.setValue(getDouble(getMapOrValue(data, "tvdTop"), "value"));
tvdTop.setDatum(getString(getMapOrValue(data, "tvdTop"), "datum"));
tvdTop.setUom(getString(getMapOrValue(data, "tvdTop"), "uom"));
WellVerticalDepth tvdBottom = new WellVerticalDepth();
tvdBottom.setValue(getDouble(getMapOrValue(data, "tvdBottom"), "value"));
tvdBottom.setDatum(getString(getMapOrValue(data, "tvdBottom"), "datum"));
tvdBottom.setUom(getString(getMapOrValue(data, "tvdBottom"), "uom"));
wellboreGeometrySection.setMdTop(mdTop);
wellboreGeometrySection.setMdBottom(mdBottom);
wellboreGeometrySection.setTvdTop(tvdTop);
wellboreGeometrySection.setTvdBottom(tvdBottom);
wellboreGeometrySections.add(wellboreGeometrySection);
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy