![JAR search and dependency download from the Maven repository](/logo.png)
net.intelie.liverig.witsml.query.CapabilityQuery Maven / Gradle / Ivy
The newest version!
package net.intelie.liverig.witsml.query;
import com.google.common.base.Strings;
import net.intelie.liverig.parser.ParseException;
import net.intelie.liverig.witsml.WITSMLResult;
import net.intelie.liverig.witsml.objects.ApiVers;
import net.intelie.liverig.witsml.objects.CapServer;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
public interface CapabilityQuery extends Query {
List parse(WITSMLResult witsmlResult) throws ParseException;
class Parser extends AbstractParser {
private final List result;
private final ApiVers version;
public Parser(List result, ApiVers version) {
this.result = result;
this.version = version;
}
@Override
protected void event(Map object, Map data) {
if (!"capServer".equals(object.get("object")))
return;
CapServer entry = new CapServer(version);
entry.setName(getString(object, "name"));
entry.setVersion(getString(object, "version"));
entry.setVendor(getString(object, "vendor"));
List> listOfFunctions = getListOrEmpty(object, "functions");
Map> map = new HashMap<>();
listOfFunctions.stream()
.filter(o -> o instanceof Map)
.map(o -> (Map) o)
.forEach(o -> {
String name = Strings.nullToEmpty(getString(o, "name")).replace("WMLS_", "");
if (!Strings.isNullOrEmpty(name)) {
List dataObjects = getListOrEmpty(o, "dataObjects").stream()
.map(o1 -> (String) ((o1 instanceof String) ? o1 : (o1 instanceof Map) ? getString((Map) o1, "value") : null))
.filter(Objects::nonNull)
.collect(Collectors.toList());
map.put(name, dataObjects);
}
}
);
entry.setFunctions(map);
result.add(entry);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy