protected Release install(PackageMetadata packageMetadata, InstallProperties installProperties) { Assert.notNull(packageMetadata, "Can't download package, PackageMetadata is a null value."); Release existingDeletedRelease = this.releaseRepository .findLatestReleaseIfDeleted(installProperties.getReleaseName()); int releaseVersion; if (existingDeletedRelease != null) { logger.info("Re-using existing release name [{}] of previously deleted release.", installProperties.getReleaseName()); releaseVersion = existingDeletedRelease.getVersion() + 1; } else { releaseVersion = 1; } Release release = createInitialRelease(installProperties, this.packageService.downloadPackage(packageMetadata), releaseVersion); return install(release); }
protected Release install(PackageMetadata packageMetadata, InstallProperties installProperties) { Assert.notNull(packageMetadata, "Can't download package, PackageMetadata is a null value."); Release existingDeletedRelease = this.releaseRepository .findLatestReleaseIfDeleted(installProperties.getReleaseName()); int releaseVersion; if (existingDeletedRelease != null) { logger.info("Re-using existing release name [{}] of previously deleted release.", installProperties.getReleaseName()); releaseVersion = existingDeletedRelease.getVersion() + 1; } else { releaseVersion = 1; } Release release = createInitialRelease(installProperties, this.packageService.downloadPackage(packageMetadata), releaseVersion); return install(release); }
private Release installReleaseInternal(InstallRequest installRequest, Long id, InstallProperties installProperties) { String releaseName = installRequest != null ? installRequest.getInstallProperties().getReleaseName() : installProperties.getReleaseName(); Message<SkipperEvents> message = MessageBuilder .withPayload(SkipperEvents.INSTALL) .setHeader(SkipperEventHeaders.INSTALL_REQUEST, installRequest) .setHeader(SkipperEventHeaders.INSTALL_ID, id) .setHeader(SkipperEventHeaders.INSTALL_PROPERTIES, installProperties) .build(); return handleMessageAndWait(message, releaseName); }
private Release installReleaseInternal(InstallRequest installRequest, Long id, InstallProperties installProperties) { String releaseName = installRequest != null ? installRequest.getInstallProperties().getReleaseName() : installProperties.getReleaseName(); Message<SkipperEvents> message = MessageBuilder .withPayload(SkipperEvents.INSTALL) .setHeader(SkipperEventHeaders.INSTALL_REQUEST, installRequest) .setHeader(SkipperEventHeaders.INSTALL_ID, id) .setHeader(SkipperEventHeaders.INSTALL_PROPERTIES, installProperties) .build(); return handleMessageAndWait(message, releaseName); }
private void validateInstallRequest(InstallRequest installRequest) { Assert.notNull(installRequest.getInstallProperties(), "Install properties must not be null"); Assert.isTrue(StringUtils.hasText(installRequest.getInstallProperties().getPlatformName()), "Platform name must not be empty"); Assert.isTrue(StringUtils.hasText(installRequest.getInstallProperties().getReleaseName()), "Release name must not be empty"); Assert.notNull(installRequest.getPackageIdentifier(), "Package identifier must not be null"); Assert.isTrue(StringUtils.hasText(installRequest.getPackageIdentifier().getPackageName()), "Package name must not be empty"); try { Release latestRelease = this.releaseRepository.findLatestRelease(installRequest.getInstallProperties() .getReleaseName()); if (latestRelease != null && !latestRelease.getInfo().getStatus().getStatusCode().equals(StatusCode.DELETED)) { throw new SkipperException("Release with the name [" + installRequest.getInstallProperties().getReleaseName() + "] already exists and it is not deleted."); } } catch (ReleaseNotFoundException e) { // ignore as this is expected. } }
private void validateInstallRequest(InstallRequest installRequest) { Assert.notNull(installRequest.getInstallProperties(), "Install properties must not be null"); Assert.isTrue(StringUtils.hasText(installRequest.getInstallProperties().getPlatformName()), "Platform name must not be empty"); Assert.isTrue(StringUtils.hasText(installRequest.getInstallProperties().getReleaseName()), "Release name must not be empty"); Assert.notNull(installRequest.getPackageIdentifier(), "Package identifier must not be null"); Assert.isTrue(StringUtils.hasText(installRequest.getPackageIdentifier().getPackageName()), "Package name must not be empty"); try { Release latestRelease = this.releaseRepository.findLatestRelease(installRequest.getInstallProperties() .getReleaseName()); if (latestRelease != null && !latestRelease.getInfo().getStatus().getStatusCode().equals(StatusCode.DELETED)) { throw new SkipperException("Release with the name [" + installRequest.getInstallProperties().getReleaseName() + "] already exists and it is not deleted."); } } catch (ReleaseNotFoundException e) { // ignore as this is expected. } }
protected Release createInitialRelease(InstallProperties installProperties, Package packageToInstall, int releaseVersion) { Release release = new Release(); release.setName(installProperties.getReleaseName()); release.setPlatformName(installProperties.getPlatformName()); release.setConfigValues(installProperties.getConfigValues()); release.setPkg(packageToInstall); release.setVersion(releaseVersion); Info info = createNewInfo(); release.setInfo(info); validateInitialRelease(release); return release; }
protected Release createInitialRelease(InstallProperties installProperties, Package packageToInstall, int releaseVersion) { Release release = new Release(); release.setName(installProperties.getReleaseName()); release.setPlatformName(installProperties.getPlatformName()); release.setConfigValues(installProperties.getConfigValues()); release.setPkg(packageToInstall); release.setVersion(releaseVersion); Info info = createNewInfo(); release.setInfo(info); validateInitialRelease(release); return release; }