/** * {@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; }