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()); } };
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; }
details.setDisplayVersion(pv.getDisplayVersion()); details.setExtraProperties(pv.getExtraProperties()); details.setFileCreatedDate(pv.getFileCreatedDate()); details.setFileName(pv.getFileName()); details.setFileSize(pv.getFileSize());