use of com.synopsys.integration.alert.common.persistence.model.AuditJobStatusModel in project hub-alert by blackducksoftware.
the class DefaultRestApiAuditAccessor method convertToAuditEntryModelFromNotification.
@Override
@Transactional
public AuditEntryModel convertToAuditEntryModelFromNotification(AlertNotificationModel notificationContentEntry) {
List<AuditNotificationRelation> relations = auditNotificationRepository.findByNotificationId(notificationContentEntry.getId());
List<Long> auditEntryIds = relations.stream().map(AuditNotificationRelation::getAuditEntryId).collect(Collectors.toList());
List<AuditEntryEntity> auditEntryEntities = auditEntryRepository.findAllById(auditEntryIds);
AuditEntryStatus overallStatus = null;
String timeLastSent = null;
OffsetDateTime timeLastSentOffsetDateTime = null;
List<JobAuditModel> jobAuditModels = new ArrayList<>();
for (AuditEntryEntity auditEntryEntity : auditEntryEntities) {
UUID jobId = auditEntryEntity.getCommonConfigId();
if (null != auditEntryEntity.getTimeLastSent() && (null == timeLastSentOffsetDateTime || timeLastSentOffsetDateTime.isBefore(auditEntryEntity.getTimeLastSent()))) {
timeLastSentOffsetDateTime = auditEntryEntity.getTimeLastSent();
timeLastSent = formatAuditDate(timeLastSentOffsetDateTime);
}
String id = contentConverter.getStringValue(auditEntryEntity.getId());
String configId = contentConverter.getStringValue(jobId);
String timeCreated = formatAuditDate(auditEntryEntity.getTimeCreated());
AuditEntryStatus status = null;
if (auditEntryEntity.getStatus() != null) {
status = AuditEntryStatus.valueOf(auditEntryEntity.getStatus());
overallStatus = getWorstStatus(overallStatus, status);
}
String errorMessage = auditEntryEntity.getErrorMessage();
String errorStackTrace = auditEntryEntity.getErrorStackTrace();
Optional<DistributionJobModel> distributionJobModel = jobAccessor.getJobById(jobId);
String distributionConfigName = distributionJobModel.map(DistributionJobModelData::getName).orElse(null);
String eventType = distributionJobModel.map(DistributionJobModelData::getChannelDescriptorName).orElse(null);
String statusDisplayName = null;
if (null != status) {
statusDisplayName = status.getDisplayName();
}
AuditJobStatusModel auditJobStatusModel = new AuditJobStatusModel(jobId, timeCreated, timeLastSent, statusDisplayName);
jobAuditModels.add(new JobAuditModel(id, configId, distributionConfigName, eventType, auditJobStatusModel, errorMessage, errorStackTrace));
}
String id = contentConverter.getStringValue(notificationContentEntry.getId());
NotificationConfig notificationConfig = populateConfigFromEntity(notificationContentEntry);
String overallStatusDisplayName = null;
if (null != overallStatus) {
overallStatusDisplayName = overallStatus.getDisplayName();
}
return new AuditEntryModel(id, notificationConfig, jobAuditModels, overallStatusDisplayName, timeLastSent);
}
use of com.synopsys.integration.alert.common.persistence.model.AuditJobStatusModel in project hub-alert by blackducksoftware.
the class AuditEntryActions method queryForAuditInfoInJobs.
public ActionResponse<AuditJobStatusesModel> queryForAuditInfoInJobs(JobIdsRequestModel queryRequestModel) {
if (!authorizationManager.hasReadPermission(ConfigContextEnum.GLOBAL, descriptorKey)) {
return new ActionResponse<>(HttpStatus.FORBIDDEN, ActionResponse.FORBIDDEN_MESSAGE);
}
List<UUID> jobIds = queryRequestModel.getJobIds();
for (UUID jobId : jobIds) {
if (null == jobId) {
return new ActionResponse<>(HttpStatus.BAD_REQUEST, "The field 'jobIds' cannot contain null values");
}
}
List<AuditJobStatusModel> auditJobStatusModels = auditAccessor.findByJobIds(jobIds);
return new ActionResponse<>(HttpStatus.OK, new AuditJobStatusesModel(auditJobStatusModels));
}
Aggregations