* @return object mirroring the domain's package representation usable for substitutions into the workflow
*/
private SoftwareValue resourcePackageDetailsToSoftwareValue(ResourcePackageDetails pkg) {
Configuration extraProperties = pkg.getExtraProperties();
SoftwareValue softwareValue = new SoftwareValue();
softwareValue.setDownloadUrl(pkg.getLocation());
softwareValue.setFilename(pkg.getFileName());
softwareValue.setFileSize(pkg.getFileSize());
softwareValue.setInstructionCompatibilityVersion(safeGet(extraProperties, "instructionCompatibilityVersion"));
softwareValue.setIssueReference(safeGet(extraProperties, "jiraId"));
softwareValue.setLicenseName(pkg.getLicenseName());
softwareValue.setLicenseVersion(pkg.getLicenseVersion());
softwareValue.setLongDescription(pkg.getLongDescription());
softwareValue.setMD5(pkg.getMD5());
softwareValue.setSHA256(pkg.getSHA256());
softwareValue.setShortDescription(pkg.getShortDescription());
softwareValue.setTitle(pkg.getName());
return softwareValue;
}