All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.intelie.liverig.witsml.query.LogListQuery20 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.AbstractLogHeader;
import net.intelie.liverig.witsml.objects.LogDepthIndex;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import static net.intelie.liverig.witsml.query.LogQuery.Parser.getHeader;

class LogListQuery20 extends AbstractLogQuery20 implements LogListQuery {
    private final boolean header;

    LogListQuery20(String uidWell, String uidWellbore, boolean header) {
        super(uidWell, uidWellbore, null, null);
        this.header = header;
    }

    @Override
    public List parse(WITSMLResult witsmlResult) throws ParseException {
        String xml = witsmlResult.getXml();
        List result = new ArrayList<>();
        parse(xml, new Parser(result), (range instanceof LogDepthIndex ? "depth" : "date time"));
        return result;
    }

    class Parser extends AbstractParser {
        private final List result;

        public Parser(List result) {
            this.result = result;
        }

        @Override
        protected void event(Map object, Map data) {
            if (!"Log".equals(object.get("object")))
                return;

            result.add(getHeader(object));
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy