private List<ElaborationVO> getMissedElatorations(Long repeats, String from) { Long times = repeats != null ? repeats : 1L; if (from == null) { return Q.New(ElaborationVO.class).eq(ElaborationVO_.matched, false).gte(ElaborationVO_.repeats, times).list(); } else { if (TimeUtils.isValidTimestampFormat(from)) { long start = TimeUtils.parseFormatStringToTimeStamp(from); return Q.New(ElaborationVO.class).eq(ElaborationVO_.matched, false).gte(ElaborationVO_.repeats, times). gte(ElaborationVO_.lastOpDate, new Timestamp(start)).list(); } else if (NumberUtils.isNumber(from)) { try { return Q.New(ElaborationVO.class).eq(ElaborationVO_.matched, false).gte(ElaborationVO_.repeats, times). gte(ElaborationVO_.lastOpDate, new Timestamp(Long.valueOf(from))).list(); } catch (NumberFormatException e) { throw new OperationFailureException(argerr("%s is not a Long value Number", from)); } } else { throw new OperationFailureException(argerr("arg 'startTime' should format like 'yyyy-MM-dd HH:mm:ss' or '1545380003000'")); } } }
@Override public void run(FlowTrigger trigger, Map data) { StringSimilarity.refreshErrorTemplates(); eliminateErrors(); List<ElaborationVO> vos = Q.New(ElaborationVO.class).gte(ElaborationVO_.repeats, 1).eq(ElaborationVO_.matched, false).orderBy(ElaborationVO_.lastOpDate, SimpleQuery.Od.DESC).list(); if (!vos.isEmpty()) { List<String> messages = StringSimilarity.getElaborations().stream().map(ErrorCodeElaboration::getMessage_cn).collect(Collectors.toList()); for (ElaborationVO vo: vos) { if (messages.contains(vo.getErrorInfo())) { vo.setMatched(true); dbf.updateAndRefresh(vo); } } } StringSimilarity.resetCachedErrors(); trigger.next(); } }).done(new FlowDoneHandler(completion) {
VolumeVO rootVolumeVO = dbf.findByUuid(volumeUuid, VolumeVO.class); boolean avaliableHost = Q.New(LocalStorageHostRefVO.class) .gte(LocalStorageHostRefVO_.availableCapacity, vol.getSize()) .eq(LocalStorageHostRefVO_.primaryStorageUuid, rootVolumeVO.getPrimaryStorageUuid()) .isExists();
.gte(VxlanNetworkVO_.vni, vo.getStartVni()).lte(VxlanNetworkVO_.vni, vo.getEndVni()).listValues();