private List<TriggerType> getSortedTriggers(List<PrismContainerValue<TriggerType>> triggerCVals) { List<TriggerType> rv = new ArrayList<>(); triggerCVals.forEach(cval -> rv.add(cval.clone().asContainerable())); rv.sort(Comparator.comparingLong(t -> XmlTypeConverter.toMillis(t.getTimestamp()))); return rv; }
public TriggerAsserter<R> assertTimestamp() { assertNotNull("No timestamp in "+desc(), trigger.getTimestamp()); return this; }
public TriggerAsserter<R> assertTimestampBetween(XMLGregorianCalendar start, XMLGregorianCalendar end) { TestUtil.assertBetween("Wrong timestamp in "+desc(), start, end, trigger.getTimestamp()); return this; }
public TriggerAsserter<R> assertTimestamp(XMLGregorianCalendar expected) { assertEquals("Wrong timestamp in "+desc(), expected, trigger.getTimestamp()); return this; }
protected <O extends ObjectType> void assertTrigger(PrismObject<O> object, String handlerUri, XMLGregorianCalendar start, XMLGregorianCalendar end) throws ObjectNotFoundException, SchemaException { for (TriggerType trigger: object.asObjectable().getTrigger()) { if (handlerUri.equals(trigger.getHandlerUri()) && MiscUtil.isBetween(trigger.getTimestamp(), start, end)) { return; } } AssertJUnit.fail("Expected that " + object + " will have a trigger but it has not"); }
public TriggerAsserter<R> assertTimestampFutureBetween(XMLGregorianCalendar start, XMLGregorianCalendar end, String durationOffset) { TestUtil.assertBetween("Wrong timestamp in "+desc(), XmlTypeConverter.addDuration(start, durationOffset), XmlTypeConverter.addDuration(end, durationOffset), trigger.getTimestamp()); return this; }
protected <O extends ObjectType> void assertTrigger(PrismObject<O> object, String handlerUri, XMLGregorianCalendar mid, long tolerance) throws ObjectNotFoundException, SchemaException { XMLGregorianCalendar start = XmlTypeConverter.addMillis(mid, -tolerance); XMLGregorianCalendar end = XmlTypeConverter.addMillis(mid, tolerance); for (TriggerType trigger: object.asObjectable().getTrigger()) { if (handlerUri.equals(trigger.getHandlerUri()) && MiscUtil.isBetween(trigger.getTimestamp(), start, end)) { return; } } AssertJUnit.fail("Expected that "+object+" will have a trigger but it has not"); }
private static void fromJaxb(TriggerType jaxb, RTrigger repo, RepositoryContext repositoryContext, IdGeneratorResult generatorResult) throws DtoTranslationException { Validate.notNull(repo, "Repo object must not be null."); Validate.notNull(jaxb, "JAXB object must not be null."); if (generatorResult != null) { repo.setTransient(generatorResult.isTransient(jaxb.asPrismContainerValue())); } repo.setId(RUtil.toInteger(jaxb.getId())); repo.setHandlerUri(jaxb.getHandlerUri()); repo.setTimestamp(jaxb.getTimestamp()); }
List<TriggerType> triggers = getSortedTriggers(triggerCVals); for (TriggerType trigger: triggers) { XMLGregorianCalendar timestamp = trigger.getTimestamp(); if (timestamp == null) { LOGGER.warn("Trigger without a timestamp in {}", object);
for (TriggerType trigger: objectCurrent.asObjectable().getTrigger()) { if (RecomputeTriggerHandler.HANDLER_URI.equals(trigger.getHandlerUri()) && nextRecomputeTime.equals(trigger.getTimestamp())) { alreadyHasTrigger = true; break;
assertEquals(1, triggers.size()); TriggerType trigger = triggers.get(0); long delta = XmlTypeConverter.toMillis(trigger.getTimestamp()) - task1.getCompletionTimestamp(); if (Math.abs(delta - 10000) > 1000) { fail("Auto cleanup timestamp was not computed correctly. Delta should be 10000, is " + delta);
XMLGregorianCalendar end = clock.currentTimeXMLGregorianCalendar(); end.add(XmlTypeConverter.createDuration(true, 0, 0, 35, 0, 0, 0)); TestUtil.assertBetween("Wrong trigger timestamp", start, end, triggerType.getTimestamp());
XMLGregorianCalendar end = clock.currentTimeXMLGregorianCalendar(); end.add(XmlTypeConverter.createDuration(true, 0, 0, 35, 0, 0, 0)); TestUtil.assertBetween("Wrong trigger timestamp", start, end, triggerType.getTimestamp());
for (TriggerType trigger: params.getAPrioriTargetObject().asObjectable().getTrigger()) { if (RecomputeTriggerHandler.HANDLER_URI.equals(trigger.getHandlerUri()) && nextRecomputeTime.equals(trigger.getTimestamp())) { alreadyHasTrigger = true; break;
continue; long diff = XmlTypeConverter.toMillis(trigger.getTimestamp()) - clock.currentTimeMillis(); if (diff >= COMPLETION_TRIGGER_EQUALITY_THRESHOLD) { continue;