@Override @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) public Package persistPackage(Package pkg) { // EM.persist requires related entities to be attached, let's attach them now pkg.setPackageType(entityManager.find(PackageType.class, pkg.getPackageType().getId())); // our object's relations are now full attached, we can persist it entityManager.persist(pkg); return pkg; }
String packageTypeName = latest.getGeneralPackage().getPackageType().getName();
Query q = entityManager.createNamedQuery(Package.QUERY_FIND_BY_NAME_PKG_TYPE_ID); q.setParameter("name", pkg.getName()); q.setParameter("packageTypeId", pkg.getPackageType().getId()); persisted.getPackageType().getId();
Query q = entityManager.createNamedQuery(PackageVersion.QUERY_FIND_BY_PACKAGE_DETAILS_KEY); q.setParameter("packageName", pv.getGeneralPackage().getName()); q.setParameter("packageTypeName", pv.getGeneralPackage().getPackageType().getName()); q.setParameter("architectureName", pv.getArchitecture().getName()); q.setParameter("version", pv.getVersion()); ResourceType rt = pv.getGeneralPackage().getPackageType().getResourceType(); q.setParameter("resourceType", rt);
public void updateBackingContent(String filename, String displayVersion) { File file = new File(filename); if (!file.exists()) { throw new IllegalArgumentException("File not found: " + file.getAbsolutePath()); } if (file.isDirectory()) { throw new IllegalArgumentException("File expected, found directory: " + file.getAbsolutePath()); } String sha = null; try { sha = new MessageDigestGenerator(MessageDigestGenerator.SHA_256).calcDigestString(file); } catch (Exception e) { //do nothing because the sha will remain null. LOG.error("Message digest for the package bits failed.", e); } String packageVersion = "[sha256=" + sha + "]"; InstalledPackage oldPackage = getBackingContent(); ContentManagerRemote contentManager = remoteClient.getProxy(ContentManagerRemote.class); ContentUploader contentUploader = new ContentUploader(contentManager); String temporaryContentHandle = contentUploader.upload(file); PackageVersion pv = contentManager.createPackageVersionWithDisplayVersion(remoteClient.getSubject(), oldPackage.getPackageVersion().getGeneralPackage().getName(), oldPackage.getPackageVersion() .getGeneralPackage().getPackageType().getId(), packageVersion, displayVersion, oldPackage .getPackageVersion().getArchitecture().getId(), temporaryContentHandle); contentManager.deployPackagesWithNote(remoteClient.getSubject(), new int[] { resourceClientProxy.getId() }, new int[] { pv.getId() }, "CLI deployment request"); }
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) @TransactionTimeout(45 * 60) public long outputPackageVersionBits(PackageVersion packageVersion, OutputStream outputStream, long startByte, long endByte) { // Used by export of content through http PackageDetailsKey packageDetailsKey = new PackageDetailsKey(packageVersion.getDisplayName(), packageVersion .getDisplayVersion(), packageVersion.getGeneralPackage().getPackageType().toString(), packageVersion .getArchitecture().toString()); int resourceId = 0; //set to dummy value log.debug("Calling outputPackageVersionBitsRangeHelper() with package details: " + packageDetailsKey); return outputPackageVersionBitsRangeHelper(resourceId, packageDetailsKey, outputStream, startByte, endByte, packageVersion.getId()); }
@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) @TransactionTimeout(45 * 60) public long outputPackageVersionBits(PackageVersion packageVersion, OutputStream outputStream) { // Used by export of content through http PackageDetailsKey packageDetailsKey = new PackageDetailsKey(packageVersion.getDisplayName(), packageVersion .getDisplayVersion(), packageVersion.getGeneralPackage().getPackageType().toString(), packageVersion .getArchitecture().toString()); int resourceId = 0; //set to dummy value log.debug("Calling outputPackageVersionBitsRangeHelper() with package details: " + packageDetailsKey); return outputPackageVersionBitsRangeHelper(resourceId, packageDetailsKey, outputStream, 0, -1, packageVersion .getId()); }
PackageVersion pv = pvcs.getPackageVersionContentSourcePK().getPackageVersion(); org.rhq.core.domain.content.Package p = pv.getGeneralPackage(); ResourceType rt = p.getPackageType().getResourceType(); String resourceTypeName = rt != null ? rt.getName() : null; String resourceTypePlugin = rt != null ? rt.getPlugin() : null; key = new ContentProviderPackageDetailsKey(p.getName(), pv.getVersion(), p.getPackageType().getName(), pv .getArchitecture().getName(), resourceTypeName, resourceTypePlugin);
public static ResourcePackageDetails packageVersionToDetails(PackageVersion packageVersion) { Package generalPackage = packageVersion.getGeneralPackage(); PackageDetailsKey key = new PackageDetailsKey(generalPackage.getName(), packageVersion.getVersion(), packageVersion.getGeneralPackage().getPackageType().getName(), packageVersion.getArchitecture().getName()); ResourcePackageDetails details = new ResourcePackageDetails(key); details.setClassification(generalPackage.getClassification()); details.setDisplayName(packageVersion.getDisplayName()); details.setFileCreatedDate(packageVersion.getFileCreatedDate()); details.setFileName(packageVersion.getFileName()); details.setFileSize(packageVersion.getFileSize()); details.setLicenseName(packageVersion.getLicenseName()); details.setLicenseVersion(packageVersion.getLicenseVersion()); details.setLongDescription(packageVersion.getLongDescription()); details.setMD5(packageVersion.getMD5()); details.setMetadata(packageVersion.getMetadata()); details.setSHA256(packageVersion.getSHA256()); details.setShortDescription(packageVersion.getShortDescription()); Long created = packageVersion.getFileCreatedDate(); if (created != null) { details.setInstallationTimestamp(created.longValue()); } return details; }
@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; }