@Override public AbstractSpan answer(InvocationOnMock invocation) throws Throwable { counter.increment(); if (counter.longValue() >= 5) { // make it available on the fifth attempt return backEndSpan; } else { return null; } } }).when(spanDao).get(Matchers.eq(backEndIdent));
public void loadModel(TenantId tenantId) { ChainedVersion currentVersion = eventsProvider.getCurrentEventsVersion(tenantId); if (currentVersion == ChainedVersion.NULL) { versionedEventsModels.put(tenantId, new VersionedEventsModel(currentVersion, null)); } else { VersionedEventsModel currentVersionedEventModel = versionedEventsModels.get(tenantId); if (currentVersionedEventModel == null || !currentVersionedEventModel.getVersion().equals(currentVersion)) { final MutableInt errors = new MutableInt(); final EventsModel newEventsModel = new EventsModel(); List<ObjectNode> events = eventsProvider.getEvents(new EventsProcessorId(tenantId, "NotBeingUsedYet")); for (ObjectNode event : events) { try { newEventsModel.addEvent(event); } catch (Exception x) { LOG.error("Failed to load event for " + event, x); throw new RuntimeException("Failed to load (" + errors.longValue() + ") event/s. "); } } versionedEventsModels.put(tenantId, new VersionedEventsModel(currentVersion, newEventsModel)); } else { LOG.debug("Didn't reload because event model versions are equal."); } } }