@TransactionAttribute(TransactionAttributeType.REQUIRES_NEW) @TransactionTimeout(45 * 60) public long outputPackageBitsForChildResource(int parentResourceId, String resourceTypeName, PackageDetailsKey packageDetailsKey, OutputStream outputStream) { Resource parentResource = entityManager.find(Resource.class, parentResourceId); ResourceType parentResourceType = parentResource.getResourceType(); Query query = entityManager.createNamedQuery(ResourceType.QUERY_FIND_BY_PARENT_AND_NAME); query.setParameter("parent", parentResourceType); query.setParameter("name", resourceTypeName); ResourceType childResourceType = (ResourceType) query.getSingleResult(); query = entityManager.createNamedQuery(PackageVersion.QUERY_FIND_BY_PACKAGE_DETAILS_KEY_WITH_NON_NULL_RESOURCE_TYPE); query.setParameter("packageName", packageDetailsKey.getName()); query.setParameter("packageTypeName", packageDetailsKey.getPackageTypeName()); query.setParameter("architectureName", packageDetailsKey.getArchitectureName()); query.setParameter("version", packageDetailsKey.getVersion()); query.setParameter("resourceTypeId", childResourceType.getId()); PackageVersion packageVersion = (PackageVersion) query.getSingleResult(); return outputPackageVersionBitsRangeHelper(parentResourceId, packageDetailsKey, outputStream, 0, -1, packageVersion.getId()); }
public int compare(PackageVersion p1, PackageVersion p2) { String v1 = p1.getVersion(); String v2 = p2.getVersion(); OSGiVersionComparator c = new OSGiVersionComparator(); if (v1 != null && v2 != null) { try { return c.compare(v1, v2); } catch (IllegalArgumentException e) { //well, this can happen.. not all packages have OSGi type versions. } } if (p1.getFileCreatedDate() != null && p2.getFileCreatedDate() != null) { return p1.getFileCreatedDate().compareTo(p2.getFileCreatedDate()); } //hmm... there's actually nothing we can sort these two by.. //let's compare them by id - the one inserted sooner will have a lower id return Integer.valueOf(p1.getId()).compareTo(p2.getId()); } };
q.setParameter("packageVersionId", doomedPv.getId()); q.executeUpdate();
for (PackageVersionContentSource item : allPackageVersions) { PackageVersion pv = item.getPackageVersionContentSourcePK().getPackageVersion(); File verifyFile = getPackageBitsLocalFilesystemFile(pv.getId(), pv.getFileName()); if (!verifyFile.exists()) { log.info("Missing file from ContentProvider, adding to list: " + verifyFile.getAbsolutePath());
private InputStream preloadPackageBits(PackageVersionContentSource pvcs) throws Exception { PackageVersionContentSourcePK pk = pvcs.getPackageVersionContentSourcePK(); int contentSourceId = pk.getContentSource().getId(); int packageVersionId = pk.getPackageVersion().getId(); String packageVersionLocation = pvcs.getLocation(); log.debug("Downloading package bits to filesystem for package located at [" + packageVersionLocation + "] on content source [" + contentSourceId + "]"); File outputFile = getPackageBitsLocalFileAndCreateParentDir(pv.getId(), pv.getFileName()); log.info("OutPutFile is located at: " + outputFile); boolean download = false;
PackageVersionContentSourcePK pk = pvcs.getPackageVersionContentSourcePK(); int contentSourceId = pk.getContentSource().getId(); int packageVersionId = pk.getPackageVersion().getId(); String packageVersionLocation = pvcs.getLocation();
PackageBits bits = loadPackageBits(packageBitStream, newPackageVersion.getId(), packageName, version, null, contentDetails);
query.setParameter("id", pvcs.getPackageVersionContentSourcePK().getPackageVersion().getId()); composite = (LoadedPackageBitsComposite) query.getSingleResult();
.getLatestPackageVersion().getId());
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"); }
PackageVersionContentSourcePK pk = pvcs.getPackageVersionContentSourcePK(); int contentSourceId = pk.getContentSource().getId(); int packageVersionId = pk.getPackageVersion().getId(); String packageVersionLocation = pvcs.getLocation(); File outputFile = getPackageBitsLocalFileAndCreateParentDir(pv.getId(), pv.getFileName()); log.info("OutPutFile is located at: " + outputFile); boolean download = false;
new int[] { 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()); }
@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()); }
bits = loadPackageBits(bitStream, packageVersion.getId(), pkgName, packageVersion.getVersion(), bits, null);
PackageVersion pExisting = (PackageVersion) q.getSingleResult(); AdvisoryPackage apkg = advManager.findAdvisoryPackage(overlord, newAdv.getId(), pExisting .getId()); if (apkg == null) { apkg = new AdvisoryPackage(newAdv, pExisting);
PackageVersion packageVersion = null; for (BundleFile bundleFile : bundleFiles) { pvc.addFilterId(bundleFile.getPackageVersion().getId()); packageVersion = cm.findPackageVersionsByCriteria(subject, pvc).get(0); HibernateDetachUtility.nullOutUninitializedFields(packageVersion, SerializationType.SERIALIZATION);