private Package throwDescriptiveException(PackageMetadata packageMetadata) { List<Repository> list = StreamSupport .stream(repositoryRepository.findAll().spliterator(), false) .collect(Collectors.toList()); throw new SkipperException("Can not find packageRepository with Id = " + packageMetadata.getRepositoryId() + ". Known repositories are " + Arrays.toString(list.toArray())); }
private Package throwDescriptiveException(PackageMetadata packageMetadata) { List<Repository> list = StreamSupport .stream(repositoryRepository.findAll().spliterator(), false) .collect(Collectors.toList()); throw new SkipperException("Can not find packageRepository with Id = " + packageMetadata.getRepositoryId() + ". Known repositories are " + Arrays.toString(list.toArray())); }
@Transactional public void delete(PackageMetadata packageMetadata) { Assert.notNull(packageMetadata, "Can't download PackageMetadata, it is a null value."); Assert.hasText(packageMetadata.getName(), "Package name can not be empty."); Assert.hasText(packageMetadata.getVersion(), "Package version can not be empty."); Assert.isTrue(packageMetadata.getRepositoryId() > 0, "Invalid Repository ID."); this.packageMetadataRepository.delete(packageMetadata); }
@Transactional public void delete(PackageMetadata packageMetadata) { Assert.notNull(packageMetadata, "Can't download PackageMetadata, it is a null value."); Assert.hasText(packageMetadata.getName(), "Package name can not be empty."); Assert.hasText(packageMetadata.getVersion(), "Package version can not be empty."); Assert.isTrue(packageMetadata.getRepositoryId() > 0, "Invalid Repository ID."); this.packageMetadataRepository.delete(packageMetadata); }
@Override public PackageMetadata findByNameAndVersionByMaxRepoOrder(String packageName, String packageVersion) { List<PackageMetadata> packageMetadataList = this.packageMetadataRepository .findByNameAndVersionOrderByApiVersionDesc(packageName, packageVersion); if (packageMetadataList.size() == 0) { return null; } if (packageMetadataList.size() == 1) { return packageMetadataList.get(0); } List<Repository> repositoriesByRepoOrder = this.repositoryRepository.findAllByOrderByRepoOrderDesc(); for (Repository repository : repositoriesByRepoOrder) { Long repoId = repository.getId(); for (PackageMetadata packageMetadata : packageMetadataList) { if ((packageMetadata.getRepositoryId() != null) && packageMetadata.getRepositoryId().equals(repoId)) { return packageMetadata; } } } // if no repoId matches, then return the first package that matches (which has the highest // api version set). return packageMetadataList.get(0); }
@Override public PackageMetadata findByNameAndVersionByMaxRepoOrder(String packageName, String packageVersion) { List<PackageMetadata> packageMetadataList = this.packageMetadataRepository .findByNameAndVersionOrderByApiVersionDesc(packageName, packageVersion); if (packageMetadataList.size() == 0) { return null; } if (packageMetadataList.size() == 1) { return packageMetadataList.get(0); } List<Repository> repositoriesByRepoOrder = this.repositoryRepository.findAllByOrderByRepoOrderDesc(); for (Repository repository : repositoriesByRepoOrder) { Long repoId = repository.getId(); for (PackageMetadata packageMetadata : packageMetadataList) { if ((packageMetadata.getRepositoryId() != null) && packageMetadata.getRepositoryId().equals(repoId)) { return packageMetadata; } } } // if no repoId matches, then return the first package that matches (which has the highest // api version set). return packageMetadataList.get(0); }
private boolean checkIfPackageIsFromLocalRepo(List<String> errorMessages, PackageMetadata packageMetadata) { Repository repository = this.repositoryRepository.findOne(packageMetadata.getRepositoryId()); if (repository != null) { if (!repository.isLocal()) { errorMessages.add(String.format("Can not delete package [%s], associated repository [%s] is remote.", packageMetadata.getName(), repository.getName())); return true; } } else { errorMessages.add(String.format("Can not delete package {}, repositoryId {} does not exist.", packageMetadata.getName(), packageMetadata.getRepositoryId())); } return false; }
private boolean checkIfPackageIsFromLocalRepo(List<String> errorMessages, PackageMetadata packageMetadata) { Repository repository = this.repositoryRepository.findById(packageMetadata.getRepositoryId()).orElse(null); if (repository != null) { if (!repository.isLocal()) { errorMessages.add(String.format("Can not delete package [%s], associated repository [%s] is remote.", packageMetadata.getName(), repository.getName())); return true; } } else { errorMessages.add(String.format("Can not delete package {}, repositoryId {} does not exist.", packageMetadata.getName(), packageMetadata.getRepositoryId())); } return false; }
public void setPkg(Package pkg) { this.pkg = pkg; this.packageMetadataId = pkg.getMetadata().getId(); this.repositoryId = pkg.getMetadata().getRepositoryId(); ObjectMapper mapper = new ObjectMapper(); try { // Note that @JsonIgnore is on the package file byte array field. this.pkgJsonString = mapper.writeValueAsString(pkg); } catch (JsonProcessingException e) { throw new SkipperException("Error processing pkg json string", e); } }
public void setPkg(Package pkg) { this.pkg = pkg; this.packageMetadataId = pkg.getMetadata().getId(); this.repositoryId = pkg.getMetadata().getRepositoryId(); ObjectMapper mapper = new ObjectMapper(); try { // Note that @JsonIgnore is on the package file byte array field. this.pkgJsonString = mapper.writeValueAsString(pkg); } catch (JsonProcessingException e) { throw new SkipperException("Error processing pkg json string", e); } }
private void loadAllPackageMetadata() { try { List<PackageMetadata> packageMetadataList = this.packageMetadataService.downloadPackageMetadata(); for (PackageMetadata packageMetadata : packageMetadataList) { if (this.packageMetadataRepository.findByRepositoryIdAndNameAndVersion( packageMetadata.getRepositoryId(), packageMetadata.getName(), packageMetadata.getVersion()) == null) { this.packageMetadataRepository.save(packageMetadata); } } } catch (SkipperException e) { logger.warn("Could not load package metadata from remote repositories", e); } }
private void loadAllPackageMetadata() { try { List<PackageMetadata> packageMetadataList = this.packageMetadataService.downloadPackageMetadata(); for (PackageMetadata packageMetadata : packageMetadataList) { if (this.packageMetadataRepository.findByRepositoryIdAndNameAndVersion( packageMetadata.getRepositoryId(), packageMetadata.getName(), packageMetadata.getVersion()) == null) { this.packageMetadataRepository.save(packageMetadata); } } } catch (SkipperException e) { logger.warn("Could not load package metadata from remote repositories", e); } }
for (PackageMetadata packageMetadata : packageMetadataList) { List<Release> releases = this.releaseRepository.findByRepositoryIdAndPackageMetadataIdOrderByNameAscVersionDesc( packageMetadata.getRepositoryId(), packageMetadata.getId()); boolean canDelete = true; Repository repository = this.repositoryRepository.findOne(packageMetadata.getRepositoryId()); errorMessages.add(String.format("Can not delete Package Metadata [%s:%s] in Repository [%s]. " + "Not all releases of this package have the status DELETED. Active Releases [%s]", packageMetadataRepository.deleteByRepositoryIdAndName(packageMetadata.getRepositoryId(), packageMetadata.getName());
for (PackageMetadata packageMetadata : packageMetadataList) { List<Release> releases = this.releaseRepository.findByRepositoryIdAndPackageMetadataIdOrderByNameAscVersionDesc( packageMetadata.getRepositoryId(), packageMetadata.getId()); boolean canDelete = true; Repository repository = this.repositoryRepository.findById(packageMetadata.getRepositoryId()).get(); errorMessages.add(String.format("Can not delete Package Metadata [%s:%s] in Repository [%s]. " + "Not all releases of this package have the status DELETED. Active Releases [%s]", packageMetadataRepository.deleteByRepositoryIdAndName(packageMetadata.getRepositoryId(), packageMetadata.getName());
File targetFile = PackageFileUtils.calculatePackageZipFile(packageMetadata, targetPath.toFile()); logger.debug("Finding repository for package {}", packageMetadata.getName()); Repository packageRepository = repositoryRepository.findOne(packageMetadata.getRepositoryId()); if (packageRepository == null) { return throwDescriptiveException(packageMetadata); throw new SkipperException("Exception while downloading package zip file for " + packageMetadata.getName() + "-" + packageMetadata.getVersion() + ". PackageMetadata repositoryId = " + packageMetadata.getRepositoryId(), ex); ". PackageMetadata repositoryId = " + packageMetadata.getRepositoryId() + "No repository found.", ex);
File targetFile = PackageFileUtils.calculatePackageZipFile(packageMetadata, targetPath.toFile()); logger.debug("Finding repository for package {}", packageMetadata.getName()); Repository packageRepository = repositoryRepository.findById(packageMetadata.getRepositoryId()).orElse(null); if (packageRepository == null) { return throwDescriptiveException(packageMetadata); throw new SkipperException("Exception while downloading package zip file for " + packageMetadata.getName() + "-" + packageMetadata.getVersion() + ". PackageMetadata repositoryId = " + packageMetadata.getRepositoryId(), ex); ". PackageMetadata repositoryId = " + packageMetadata.getRepositoryId() + "No repository found.", ex);