Summary Table
Categories |
Total Count |
PII |
0 |
URL |
0 |
DNS |
0 |
EKL |
0 |
IP |
0 |
PORT |
0 |
VsID |
0 |
CF |
0 |
AI |
0 |
VPD |
0 |
PL |
0 |
Other |
0 |
File Content
package gov.va.med.ars.service.impl;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import gov.va.med.ars.dao.ars.ArsAttachmentsStorageRepository;
import gov.va.med.ars.exceptions.GenericException;
import gov.va.med.ars.model.response.AttachmentsStorageResponse;
import gov.va.med.ars.service.IArsAttachmentsStorageService;
import gov.va.med.domain.ars.ArsAttachmentsStorage;
@Service
public class ArsAttachmentsStorageServiceImpl implements IArsAttachmentsStorageService {
private static final Logger logger=LogManager.getLogger(DashboardServiceImpl.class);
private static final String CURRENT_DATE_FORMAT = "yyyyMMdd";
SimpleDateFormat format = new SimpleDateFormat(CURRENT_DATE_FORMAT);
@Autowired
private ArsAttachmentsStorageRepository arsAttachStorageRepo;
@Override
public AttachmentsStorageResponse getAttachemntsStorageInfo() throws GenericException {
List<BigDecimal> usedStorageStatistic;
List<BigDecimal> totalStorageStatistic;
BigDecimal peakUsage;
BigDecimal averageUsage;
Date today = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(today);
cal.add(Calendar.DATE, -6);
Date dateBeforeSevenDays = cal.getTime();
AttachmentsStorageResponse response = new AttachmentsStorageResponse();
List<ArsAttachmentsStorage> arsAttachmentStorage = arsAttachStorageRepo.getArsAttachmentsStorageInfo(dateBeforeSevenDays);
for(ArsAttachmentsStorage storageInfo : arsAttachmentStorage) {
logger.info("getTotalStorage"+ storageInfo.getTotalStorage() + " getAvailableStorage "
+ storageInfo.getAvailableStorage() + "getUsedStorage " +storageInfo.getUsedStorage()
+ "getStorageDate " +storageInfo.getStorageDate());
logger.info("Size of record fetched " +arsAttachmentStorage.size());
}
if(arsAttachmentStorage.size()<7){
ArsAttachmentsStorage noData=new ArsAttachmentsStorage();
noData.setTotalStorage(new BigDecimal(0));
noData.setAvailableStorage(new BigDecimal(0));
noData.setUsedStorage(new BigDecimal(0));
for(int missingcount = 0; missingcount <= (7-arsAttachmentStorage.size()); missingcount++) {
arsAttachmentStorage.add(0, noData);
}
}
logger.info("Size of record modified " +arsAttachmentStorage.size());
usedStorageStatistic=new ArrayList<BigDecimal>();
totalStorageStatistic=new ArrayList<BigDecimal>();
peakUsage=new BigDecimal(0);
averageUsage=new BigDecimal(0);
for(ArsAttachmentsStorage record:arsAttachmentStorage){
usedStorageStatistic.add(record.getUsedStorage());
totalStorageStatistic.add(record.getTotalStorage());
if(peakUsage.compareTo(record.getUsedStorage())<0){
peakUsage=record.getUsedStorage();
}
averageUsage.add(record.getUsedStorage());
logger.info("getTotalStorage"+ record.getTotalStorage() + " getAvailableStorage " + record.getAvailableStorage()
+ "getUsedStorage " +record.getUsedStorage() + "getStorageDate " +record.getStorageDate());
}
response.setTotalStorage(arsAttachmentStorage.get(arsAttachmentStorage.size()-1).getTotalStorage());
response.setAvailableStorage(arsAttachmentStorage.get(arsAttachmentStorage.size()-1).getAvailableStorage());
response.setTotalAttachments(arsAttachmentStorage.get(arsAttachmentStorage.size()-1).getTotalAttachments());
response.setUsedStorage(arsAttachmentStorage.get(arsAttachmentStorage.size()-1).getUsedStorage());
response.setAvgAttachSize(arsAttachmentStorage.get(arsAttachmentStorage.size()-1).getAverageAttachmentsSize());
response.setPeakUsage(peakUsage);
response.setAverage(averageUsage.divide(new BigDecimal(7)));
String fromDate = format.format(dateBeforeSevenDays);
String toDate = format.format(new Date());
logger.info("Formatted from date " + fromDate);
response.setFromDate(fromDate);
response.setToDate(toDate);
response.setTotalStorageStatistic(totalStorageStatistic);
response.setUsedStorageStatistic(usedStorageStatistic);
return response;
}
}