return ret;
}
@Override
public InstalledPackage getBackingPackageForResource(Subject subject, int resourceId) {
InstalledPackage result = null;
// check if the resource is content backed if not, return null
Resource res = resourceManager.getResourceById(subject, resourceId);
ResourceType type = res.getResourceType();
if (!ResourceCreationDataType.CONTENT.equals(type.getCreationDataType())) {
return null;
}
InstalledPackageCriteria criteria = new InstalledPackageCriteria();
criteria.addFilterResourceId(resourceId);
PageList<InstalledPackage> ips = findInstalledPackagesByCriteria(subject, criteria);
// should not be more than 1
if ((null != ips) && (ips.size() > 0)) {
int mostRecentPackageIndex = 0;
if (ips.size() > 1) {
for (int index = 1; index < ips.size(); index++) {
if (ips.get(index).getInstallationDate() > ips.get(mostRecentPackageIndex).getInstallationDate()) {
mostRecentPackageIndex = index;
}
}
}
result = ips.get(mostRecentPackageIndex);
// fetch these
result.getPackageVersion().getGeneralPackage().getId();
result.getPackageVersion().getGeneralPackage().getPackageType().getId();
result.getPackageVersion().getArchitecture().getId();
}
return result;
}