if (pkg.getId() == 0) { persisted = contentManager.persistPackage(pkg); q.setParameter("name", pkg.getName()); q.setParameter("packageTypeId", pkg.getPackageType().getId()); throw new RuntimeException("Expecting 1 package matching [" + pkg + "] but got: " + found); pkg.setId(found.get(0).getId()); persisted = entityManager.merge(pkg); persisted = entityManager.find(Package.class, persisted.getId()); persisted.getPackageType().getId();
@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; }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null) { return false; } if (!(o instanceof PackageVersion)) { return false; } PackageVersion that = (PackageVersion) o; if ((architecture != null) ? (!architecture.equals(that.architecture)) : (that.architecture != null)) { return false; } if ((generalPackage != null) ? (!generalPackage.equals(that.generalPackage)) : (that.generalPackage != null)) { return false; } if ((version != null) ? (!version.equals(that.version)) : (that.version != null)) { return false; } return true; }
public Package(String name, PackageType type) { setName(name); setPackageType(type); }
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; }
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); persisted.getGeneralPackage().getId(); persisted.getArchitecture().getId(); if (persisted.getExtraProperties() != null) {
existingPackage = new Package(packageName, packageType); existingPackage = persistOrMergePackageSafely(existingPackage); } else { newPackageVersion.setDisplayName(existingPackage.getName()); newPackageVersion.setDisplayVersion(displayVersion); existingPackage.addVersion(newPackageVersion);
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"); }
String packageTypeName = latest.getGeneralPackage().getPackageType().getName();
boolean found = false; for (BundleFile bundleFile : bundleFiles) { String name = bundleFile.getPackageVersion().getGeneralPackage().getName(); if (name.equals(filename)) { found = true;
@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; }
public void addPackage(Package pkg) { getPackages().add(pkg); pkg.setPackageType(this); }
pkg = (Package) q.getSingleResult(); } catch (NoResultException nre) { pkg = new Package(newDetails.getName(), pt); pkg.setClassification(newDetails.getClassification());
Query packageVersionQuery = entityManager.createNamedQuery(PackageVersion.QUERY_FIND_BY_PACKAGE_VERSION); packageVersionQuery.setFlushMode(FlushModeType.COMMIT); packageVersionQuery.setParameter("packageId", generalPackage.getId()); packageVersionQuery.setParameter("version", discoveredPackage.getVersion()); List<PackageVersion> resultPackageVersions = packageVersionQuery.getResultList(); generalPackage = new Package(discoveredPackage.getName(), packageType); generalPackage = persistOrMergePackageSafely(generalPackage);
@Override @TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) public PackageVersion persistPackageVersion(PackageVersion pv) { // EM.persist requires related entities to be attached, let's attach them now // package has persist cascade enabled, so skip loading it if we'll allow it to be created here if (pv.getGeneralPackage().getId() > 0) { pv.setGeneralPackage(entityManager.find(Package.class, pv.getGeneralPackage().getId())); } // arch has persist cascade enabled, so skip loading it if we'll allow it to be created here if (pv.getArchitecture().getId() > 0) { pv.setArchitecture(entityManager.find(Architecture.class, pv.getArchitecture().getId())); } // config is optional but has persist cascade enabled, so skip loading it if we'll allow it to be created here if (pv.getExtraProperties() != null && pv.getExtraProperties().getId() > 0) { pv.setExtraProperties(entityManager.find(Configuration.class, pv.getExtraProperties().getId())); } // our object's relations are now full attached, we can persist it entityManager.persist(pv); return pv; }
@Override public int hashCode() { int result; result = ((generalPackage != null) ? generalPackage.hashCode() : 0); result = (31 * result) + ((version != null) ? version.hashCode() : 0); result = (31 * result) + ((architecture != null) ? architecture.hashCode() : 0); return result; } }
generalPackage.setClassification(bundle.getName());
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); details.setClassification(pv.getGeneralPackage().getClassification()); details.setDisplayName(pv.getDisplayName()); details.setDisplayVersion(pv.getDisplayVersion());
@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()); }