![JAR search and dependency download from the Maven repository](/logo.png)
net.intelie.liverig.witsml.query.AbstractLogQuery141 Maven / Gradle / Ivy
The newest version!
package net.intelie.liverig.witsml.query;
import com.google.common.base.Strings;
import net.intelie.liverig.witsml.WitsmlFilters;
import net.intelie.liverig.witsml.objects.LogDateTimeIndex;
import net.intelie.liverig.witsml.objects.LogIndex;
import net.intelie.liverig.witsml.objects.LogRange;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
import static net.intelie.liverig.witsml.query.QueryUtil.addFilter;
abstract class AbstractLogQuery141 extends AbstractQuery141 {
private final String uidWell;
private final String uidWellbore;
private final String uid;
private final WitsmlFilters filters;
private final LogRange range;
AbstractLogQuery141(String uidWell, String uidWellbore, String uid, WitsmlFilters filters, LogRange range) {
this.uidWell = uidWell;
this.uidWellbore = uidWellbore;
this.uid = uid;
this.filters = filters;
this.range = range;
}
@Override
public String type() {
return "log";
}
@Override
void query(XMLStreamWriter writer) throws XMLStreamException {
writeRootElement(writer, "logs");
writer.writeStartElement(WITSML_NS, "log");
writer.writeAttribute("uidWell", uidWell);
writer.writeAttribute("uidWellbore", uidWellbore);
writer.writeAttribute("uid", Strings.nullToEmpty(uid));
addFilter(writer, WITSML_NS, "objectGrowing", filters.objectGrowing());
if (range instanceof LogIndex) {
LogIndex index = (LogIndex) range;
if (index.getIndexType() != null) {
writer.writeStartElement(WITSML_NS, "indexType");
writer.writeCharacters(index.getIndexType().toString());
writer.writeEndElement();
}
writer.writeStartElement(WITSML_NS, "startIndex");
writer.writeAttribute("uom", Strings.nullToEmpty(index.getStartIndexUom()));
writer.writeCharacters(index.getStartIndex() != null ? index.getStartIndex().toString() : "");
writer.writeEndElement();
writer.writeStartElement(WITSML_NS, "endIndex");
writer.writeAttribute("uom", Strings.nullToEmpty(index.getEndIndexUom()));
writer.writeCharacters(index.getEndIndex() != null ? index.getEndIndex().toString() : "");
writer.writeEndElement();
} else if (range instanceof LogDateTimeIndex) {
writer.writeStartElement(WITSML_NS, "indexType");
writer.writeCharacters("date time");
writer.writeEndElement();
}
if (range != null && (range.getStepIncrement() != null || range.getStepIncrementUom() != null)) {
writer.writeStartElement(WITSML_NS, "stepIncrement");
writer.writeAttribute("uom", Strings.nullToEmpty(range.getStepIncrementUom()));
if (range.getStepIncrement() != null)
writer.writeCharacters(String.valueOf(range.getStepIncrement()));
writer.writeEndElement();
}
if (range instanceof LogDateTimeIndex) {
LogDateTimeIndex dateTimeIndex = (LogDateTimeIndex) range;
writer.writeStartElement(WITSML_NS, "startDateTimeIndex");
writer.writeCharacters(Strings.nullToEmpty(dateTimeIndex.getStartDateTimeIndex()));
writer.writeEndElement();
writer.writeStartElement(WITSML_NS, "endDateTimeIndex");
writer.writeCharacters(Strings.nullToEmpty(dateTimeIndex.getEndDateTimeIndex()));
writer.writeEndElement();
}
writer.writeEndElement();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy