throw new MissingRequest(FIND_KAM_NODES_BY_IDS_REQUEST);
}
KamHandle kamHandle = request.getHandle();
if (null == kamHandle) {
throw new RequestException("Handle is missing");
}
List<String> ids = request.getIds();
if (CollectionUtils.isEmpty(ids)) {
throw new RequestException("IDs are missing");
}
// Get the Dialect (may be null)
final Dialect dialect = getDialect(request.getDialect());
final org.openbel.framework.api.Kam objKam = getKam(
kamHandle, dialect);
final org.openbel.framework.api.NodeFilter filter =
convertNodeFilterInRequest(
request.getFilter(), objKam);
List<KamNode> kamNodes = new ArrayList<KamNode>();
for (String id : ids) {
KamStoreObjectRef kamElementRef;
try {
kamElementRef = KamStoreObjectRef.decode(id);
} catch (InvalidIdException e) {
throw new RequestException("Error with KAM node ids", e);
}
Integer elemid = kamElementRef.getKamStoreObjectId();
org.openbel.framework.api.Kam.KamNode node;
node = objKam.findNode(elemid, filter);