@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; }
@Override public PackageVersion createPackageVersionWithDisplayVersion(Subject subject, String packageName, int packageTypeId, String version, String displayVersion, Integer architectureId, byte[] packageBytes) { // Check permissions first if (!authorizationManager.hasGlobalPermission(subject, Permission.MANAGE_CONTENT)) { throw new PermissionException("User [" + subject.getName() + "] does not have permission to create package versions"); } return createPackageVersionWithDisplayVersion(subject, packageName, packageTypeId, version, displayVersion, (null == architectureId) ? getNoArchitecture().getId() : architectureId, new ByteArrayInputStream( packageBytes)); }
@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; } }
PackageType packageType = bundle.getPackageType(); architecture = (null == architecture) ? contentManager.getNoArchitecture() : architecture; if (architecture.getId() == 0) { Query q = entityManager.createNamedQuery(Architecture.QUERY_FIND_BY_NAME); q.setParameter("name", architecture.getName()); architecture = (Architecture) q.getSingleResult(); packageType.getId(), version, null, architecture.getId(), fileStream);
PackageTypeBehavior behavior = ContentManagerHelper.getPackageTypeBehavior(packageTypeId); ValidatablePackageDetailsKey key = new ValidatablePackageDetailsKey(packageName, version, packageType.getName(), architecture.getName()); behavior.validateDetails(key, subject); if (!architecture.getName().equals(key.getArchitectureName())) { Query q = entityManager.createNamedQuery(Architecture.QUERY_FIND_BY_NAME); q.setParameter("name", key.getArchitectureName());
Architecture arch = new Architecture(newDetails.getArchitectureName()); q.setParameter("name", arch.getName()); q.setParameter("packageTypeName", pt.getName()); q.setParameter("resourceType", rt); q.setParameter("architectureName", arch.getName()); q.setParameter("version", newDetails.getVersion());
@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()); }
public Architecture(String name) { setName(name); }
q.setParameter("packageName", pv.getGeneralPackage().getName()); q.setParameter("packageTypeName", pv.getGeneralPackage().getPackageType().getName()); q.setParameter("architectureName", pv.getArchitecture().getName()); q.setParameter("version", pv.getVersion()); persisted.getArchitecture().getId(); if (persisted.getExtraProperties() != null) { persisted.getExtraProperties().getId();
packageVersionQuery.setParameter("architectureName", architecture.getName()); packageVersionQuery.setParameter("version", version); String archName = architecture.getName(); ValidatablePackageDetailsKey key = new ValidatablePackageDetailsKey(packageName, version, packageTypeName, archName); version = key.getVersion(); if (!architecture.getName().equals(key.getArchitectureName())) { Query q = entityManager.createNamedQuery(Architecture.QUERY_FIND_BY_NAME); q.setParameter("name", key.getArchitectureName());
@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()); }
@Override public PackageVersion createPackageVersionWithDisplayVersion(Subject subject, String packageName, int packageTypeId, String version, String displayVersion, Integer architectureId, String temporaryContentHandle) { // Check permissions first if (!authorizationManager.hasGlobalPermission(subject, Permission.MANAGE_CONTENT)) { throw new PermissionException("User [" + subject.getName() + "] does not have permission to create package versions"); } FileInputStream fileInputStream = null; try { fileInputStream = new FileInputStream(getTemporaryContentFile(temporaryContentHandle)); return createPackageVersionWithDisplayVersion(subject, packageName, packageTypeId, version, displayVersion, (null == architectureId) ? getNoArchitecture().getId() : architectureId, fileInputStream); } catch (FileNotFoundException e) { throw new RuntimeException(e); } finally { StreamUtil.safeClose(fileInputStream); } }
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 @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; }
PackageVersion pv = advManager.findPackageVersionByPkgId(overlord, pkg.getPkg().getFileName(), pc); AdvisoryPackageDetails apkg = new AdvisoryPackageDetails(pv.getDisplayName(), pv.getVersion(), pv .getArchitecture().getName(), pv.getFileName()); detail.addPkg(apkg);
architectureId = (null != architectureId) ? architectureId : contentManager.getNoArchitecture().getId();
.getArchitecture().getName(), resourceTypeName, resourceTypePlugin);
@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; }