package com.constellio.app.modules.rm.reports.builders.decommissioning.builders;
import com.constellio.app.modules.rm.reports.model.decommissioning.DocumentsCertificateReportModel.DocumentsCertificateReportModel_Document;
import com.constellio.app.modules.rm.services.RMSchemasRecordsServices;
import com.constellio.app.modules.rm.wrappers.Document;
import com.constellio.app.modules.rm.wrappers.Folder;
import com.constellio.app.modules.rm.wrappers.RetentionRule;
import com.constellio.model.entities.records.Content;
import com.constellio.model.entities.records.ContentVersion;
import com.constellio.model.services.records.RecordServicesRuntimeException;
public class DocumentToDocumentCertificate {
final RMSchemasRecordsServices rmSchemas;
public DocumentToDocumentCertificate(RMSchemasRecordsServices rmSchemas) {
this.rmSchemas = rmSchemas;
}
public DocumentsCertificateReportModel_Document toReportDocument(Document document) {
String id, title, md5 = "", filename = "", folder = "", retentionRuleCode = "", principalCopyRetentionRule = "";
id = document.getId();
title = document.getTitle();
Content content = document.getContent();
if (content != null) {
ContentVersion currentVersion = content.getCurrentVersion();
md5 = currentVersion.getHash();
filename = currentVersion.getFilename();
}
if (document.getFolder() != null) {
Folder documentFolder = rmSchemas.getFolder(document.getFolder());
folder = documentFolder.getTitle();
principalCopyRetentionRule = documentFolder.getMainCopyRule().toString();
}
RetentionRule documentRetentionRule = rmSchemas
.getRetentionRule(document.getRetentionRule());
retentionRuleCode = documentRetentionRule.getCode();
return new DocumentsCertificateReportModel_Document(id, title, md5, filename, folder, retentionRuleCode,
principalCopyRetentionRule);
}
}