/** * {@inheritDoc} */ @Override protected void processData(DefaultData defaultData, EntityManager entityManager) { buffer.put(new BufferElement<>((MethodSensorData) defaultData)); }
/** * {@inheritDoc} */ @Override public void work() throws InterruptedException { getBuffer().analyzeNext(); }
/** * {@inheritDoc} */ @Override @MethodLog public void clearBuffer() { buffer.clearAll(); }
/** * {@inheritDoc} */ @Override @MethodLog public CmrStatusData getCmrStatusData() { // cmr status data should always report in bytes! CmrStatusData cmrStatusData = new CmrStatusData(); cmrStatusData.setCurrentBufferSize(buffer.getCurrentSize()); cmrStatusData.setMaxBufferSize(buffer.getMaxSize()); DefaultData oldestElement = buffer.getOldestElement(); if (null != oldestElement) { cmrStatusData.setBufferOldestElementDate(new Date(oldestElement.getTimeStamp().getTime())); } DefaultData newestElement = buffer.getNewestElement(); if (null != newestElement) { cmrStatusData.setBufferNewestElementDate(new Date(newestElement.getTimeStamp().getTime())); } cmrStatusData.setStorageDataSpaceLeft(storageManager.getBytesHardDriveOccupancyLeft()); cmrStatusData.setStorageMaxDataSpace(storageManager.getMaxBytesHardDriveOccupancy()); cmrStatusData.setWarnSpaceLeftActive(storageManager.isSpaceWarnActive()); cmrStatusData.setCanWriteMore(storageManager.canWriteMore()); cmrStatusData.setUpTime(System.currentTimeMillis() - timeStarted); cmrStatusData.setDateStarted(dateStarted); cmrStatusData.setDatabaseSize(getDatabaseSize()); for (IExternalService service : services) { cmrStatusData.getExternalServiceStatusMap().put(service.getServiceType(), service.getServiceStatus()); } return cmrStatusData; }
/** * Tests copy buffer action. */ @Test public void copyBufferToStorage() throws IOException, SerializationException, BusinessException { storageData = new StorageData(); storageData.setName("Test"); DefaultData defaultData = mock(DefaultData.class); Timestamp timestamp = mock(Timestamp.class); when(defaultData.getTimeStamp()).thenReturn(timestamp); when(buffer.getOldestElement()).thenReturn(defaultData); List<DefaultData> data = Collections.singletonList(mock(DefaultData.class)); Collection<AbstractDataProcessor> processors = Collections.singleton(mock(AbstractDataProcessor.class)); Long platformId = 10L; List<Long> platformIdents = Collections.singletonList(platformId); storageManager = spy(storageManager); when(storageDataDao.getAllDefaultDataForAgent(eq(platformId), Matchers.<Date> any(), Matchers.<Date> any())).thenReturn(data); // first with no auto-finalize storageManager.copyBufferToStorage(storageData, platformIdents, processors, false); verify(storageDataDao, times(1)).getAllDefaultDataForAgent(eq(platformId), Matchers.<Date> any(), Matchers.<Date> any()); verify(storageManager, times(1)).writeToStorage(storageData, data, processors, true); // first with auto-finalize storageManager.copyBufferToStorage(storageData, platformIdents, processors, true); verify(storageDataDao, times(2)).getAllDefaultDataForAgent(eq(platformId), Matchers.<Date> any(), Matchers.<Date> any()); verify(storageManager, times(2)).writeToStorage(storageData, data, processors, true); assertThat(storageManager.isStorageClosed(storageData), is(true)); }
/** * Log buffer statistic. */ private void logBufferStatistics() { String[] lines = buffer.toString().split("\n"); for (String str : lines) { log.info(str); } logGraphicalBufferOccupancy(buffer.getOccupancyPercentage()); }
/** * {@inheritDoc} */ @Override public void work() throws InterruptedException { getBuffer().indexNext(); }
/** * {@inheritDoc} */ @Override public void work() throws InterruptedException { getBuffer().evict(); }
DefaultData oldestBufferElement = buffer.getOldestElement();
processor.process(invocationAwareData, entityManager); ArgumentCaptor<IBufferElement> captor = ArgumentCaptor.forClass(IBufferElement.class); verify(buffer, times(1)).put(captor.capture()); verifyZeroInteractions(entityManager); assertThat(captor.getValue().getObject(), is(equalTo(((Object) invocationAwareData))));