private ReleaseAnalysisReport analyzeTopLevelPackagesOnly( List<? extends SpringCloudDeployerApplicationManifest> existingApplicationSpecList, List<? extends SpringCloudDeployerApplicationManifest> replacingApplicationSpecList, Release existingRelease, Release replacingRelease, boolean isForceUpdate, List<String> appNamesToUpdate) { List<ApplicationManifestDifference> applicationManifestDifferences = new ArrayList<>(); ApplicationManifestDifference applicationManifestDifference = applicationManifestDifferenceFactory .createApplicationManifestDifference( existingApplicationSpecList.get(0).getApplicationName(), existingApplicationSpecList.get(0), replacingApplicationSpecList.get(0)); applicationManifestDifferences.add(applicationManifestDifference); return createReleaseAnalysisReport(existingRelease, replacingRelease, applicationManifestDifferences, isForceUpdate, appNamesToUpdate); }
protected PropertiesDiff getResourceAndVersionDifference( SpringCloudDeployerApplicationManifest existingApplicationManifest, SpringCloudDeployerApplicationManifest replacingApplicationManifest) { Map<String, String> existingResourceAndVersionMap = new HashMap<>(); existingResourceAndVersionMap.put("resource", existingApplicationManifest.getSpec().getResource().trim()); existingResourceAndVersionMap.put("version", existingApplicationManifest.getSpec().getVersion().trim()); Map<String, String> replacingResourceAndVersionMap = new HashMap<>(); replacingResourceAndVersionMap.put("resource", replacingApplicationManifest.getSpec().getResource().trim()); replacingResourceAndVersionMap.put("version", replacingApplicationManifest.getSpec().getVersion().trim()); return PropertiesDiff.builder().left(existingResourceAndVersionMap).right(replacingResourceAndVersionMap).build(); }
protected PropertiesDiff getApiAndKindDifference( SpringCloudDeployerApplicationManifest existingApplicationManifest, SpringCloudDeployerApplicationManifest replacingApplicationManifest) { Map<String, String> existingApiAndKindMap = new HashMap<>(); existingApiAndKindMap.put("apiVersion", existingApplicationManifest.getApiVersion().trim()); existingApiAndKindMap.put("kind", existingApplicationManifest.getKind().trim()); Map<String, String> replacingApiAndKindMap = new HashMap<>(); replacingApiAndKindMap.put("apiVersion", replacingApplicationManifest.getApiVersion().trim()); replacingApiAndKindMap.put("kind", replacingApplicationManifest.getKind().trim()); return PropertiesDiff.builder().left(existingApiAndKindMap).right(replacingApiAndKindMap).build(); }
@Override public StreamDeployment getStreamInfo(String streamName) { try { String manifest = this.manifest(streamName); List<SpringCloudDeployerApplicationManifest> appManifests = new SpringCloudDeployerApplicationManifestReader().read(manifest); Map<String, Map<String, String>> streamPropertiesMap = new HashMap<>(); for (SpringCloudDeployerApplicationManifest applicationManifest : appManifests) { Map<String, String> versionAndDeploymentProperties = new HashMap<>(); SpringCloudDeployerApplicationSpec spec = applicationManifest.getSpec(); String applicationName = applicationManifest.getApplicationName(); versionAndDeploymentProperties.putAll(spec.getDeploymentProperties()); versionAndDeploymentProperties.put(SkipperStream.SKIPPER_SPEC_RESOURCE, spec.getResource()); versionAndDeploymentProperties.put(SkipperStream.SKIPPER_SPEC_VERSION, spec.getVersion()); streamPropertiesMap.put(applicationName, versionAndDeploymentProperties); } return new StreamDeployment(streamName, new JSONObject(streamPropertiesMap).toString()); } catch (ReleaseNotFoundException e) { return new StreamDeployment(streamName); } }
protected PropertiesDiff getMetadataDifference(SpringCloudDeployerApplicationManifest existingApplicationManifest, SpringCloudDeployerApplicationManifest replacingApplicationManifest) { Map<String, String> existingMetadataProperties = Optional.ofNullable(existingApplicationManifest.getMetadata()) .orElse(new HashMap<>()); Map<String, String> replacingMetadataProperties = Optional .ofNullable(replacingApplicationManifest.getMetadata()).orElse(new HashMap<>()); return PropertiesDiff.builder().left(existingMetadataProperties).right(replacingMetadataProperties).build(); }
@Override public StreamDeployment getStreamInfo(String streamName) { try { String manifest = this.manifest(streamName); List<SpringCloudDeployerApplicationManifest> appManifests = new SpringCloudDeployerApplicationManifestReader().read(manifest); Map<String, Map<String, String>> streamPropertiesMap = new HashMap<>(); for (SpringCloudDeployerApplicationManifest applicationManifest : appManifests) { Map<String, String> versionAndDeploymentProperties = new HashMap<>(); SpringCloudDeployerApplicationSpec spec = applicationManifest.getSpec(); String applicationName = applicationManifest.getApplicationName(); versionAndDeploymentProperties.putAll(spec.getDeploymentProperties()); versionAndDeploymentProperties.put(SkipperStream.SKIPPER_SPEC_RESOURCE, spec.getResource()); versionAndDeploymentProperties.put(SkipperStream.SKIPPER_SPEC_VERSION, spec.getVersion()); streamPropertiesMap.put(applicationName, versionAndDeploymentProperties); } return new StreamDeployment(streamName, new JSONObject(streamPropertiesMap).toString()); } catch (ReleaseNotFoundException e) { return new StreamDeployment(streamName); } }
protected PropertiesDiff getMetadataDifference(SpringCloudDeployerApplicationManifest existingApplicationManifest, SpringCloudDeployerApplicationManifest replacingApplicationManifest) { Map<String, String> existingMetadataProperties = Optional.ofNullable(existingApplicationManifest.getMetadata()) .orElse(new HashMap<>()); Map<String, String> replacingMetadataProperties = Optional .ofNullable(replacingApplicationManifest.getMetadata()).orElse(new HashMap<>()); return PropertiesDiff.builder().left(existingMetadataProperties).right(replacingMetadataProperties).build(); }
SpringCloudDeployerApplicationSpec spec = applicationSpec.getSpec(); Map<String, String> applicationProperties = new TreeMap<>(); if (spec.getApplicationProperties() != null) { AppDefinition appDefinition = new AppDefinition(applicationSpec.getApplicationName() + "-v" + version, applicationProperties); Resource resource;
private SpringCloudDeployerApplicationManifest findMatching(String existingApplicationName, List<? extends SpringCloudDeployerApplicationManifest> replacingApplicationSpecList) { for (SpringCloudDeployerApplicationManifest replacingApplicationManifest : replacingApplicationSpecList) { if (replacingApplicationManifest.getApplicationName().equals(existingApplicationName)) { return replacingApplicationManifest; } } List<String> existingApplicationNames = replacingApplicationSpecList.stream() .map(SpringCloudDeployerApplicationManifest::getApplicationName) .collect(Collectors.toList()); String exceptionMessage = String.format( "Did not find existing application name [%s] in list of replacing applications [%s].", existingApplicationName, StringUtils.collectionToCommaDelimitedString(existingApplicationNames)); throw new SkipperException(exceptionMessage); } }
protected PropertiesDiff getResourceAndVersionDifference( SpringCloudDeployerApplicationManifest existingApplicationManifest, SpringCloudDeployerApplicationManifest replacingApplicationManifest) { Map<String, String> existingResourceAndVersionMap = new HashMap<>(); existingResourceAndVersionMap.put("resource", existingApplicationManifest.getSpec().getResource().trim()); existingResourceAndVersionMap.put("version", existingApplicationManifest.getSpec().getVersion().trim()); Map<String, String> replacingResourceAndVersionMap = new HashMap<>(); replacingResourceAndVersionMap.put("resource", replacingApplicationManifest.getSpec().getResource().trim()); replacingResourceAndVersionMap.put("version", replacingApplicationManifest.getSpec().getVersion().trim()); return PropertiesDiff.builder().left(existingResourceAndVersionMap).right(replacingResourceAndVersionMap).build(); }
protected PropertiesDiff getApiAndKindDifference( SpringCloudDeployerApplicationManifest existingApplicationManifest, SpringCloudDeployerApplicationManifest replacingApplicationManifest) { Map<String, String> existingApiAndKindMap = new HashMap<>(); existingApiAndKindMap.put("apiVersion", existingApplicationManifest.getApiVersion().trim()); existingApiAndKindMap.put("kind", existingApplicationManifest.getKind().trim()); Map<String, String> replacingApiAndKindMap = new HashMap<>(); replacingApiAndKindMap.put("apiVersion", replacingApplicationManifest.getApiVersion().trim()); replacingApiAndKindMap.put("kind", replacingApplicationManifest.getKind().trim()); return PropertiesDiff.builder().left(existingApiAndKindMap).right(replacingApiAndKindMap).build(); }
SpringCloudDeployerApplicationSpec spec = applicationSpec.getSpec(); Map<String, String> applicationProperties = new TreeMap<>(); if (spec.getApplicationProperties() != null) { AppDefinition appDefinition = new AppDefinition(applicationSpec.getApplicationName() + "-v" + version, applicationProperties); Resource resource;
private ReleaseAnalysisReport analyzeTopLevelPackagesOnly( List<? extends SpringCloudDeployerApplicationManifest> existingApplicationSpecList, List<? extends SpringCloudDeployerApplicationManifest> replacingApplicationSpecList, Release existingRelease, Release replacingRelease, boolean isForceUpdate, List<String> appNamesToUpdate) { List<ApplicationManifestDifference> applicationManifestDifferences = new ArrayList<>(); ApplicationManifestDifference applicationManifestDifference = applicationManifestDifferenceFactory .createApplicationManifestDifference( existingApplicationSpecList.get(0).getApplicationName(), existingApplicationSpecList.get(0), replacingApplicationSpecList.get(0)); applicationManifestDifferences.add(applicationManifestDifference); return createReleaseAnalysisReport(existingRelease, replacingRelease, applicationManifestDifferences, isForceUpdate, appNamesToUpdate); }
protected PropertiesDiff getDeploymentPropertiesDifference( SpringCloudDeployerApplicationManifest existingApplicationManifest, SpringCloudDeployerApplicationManifest replacingApplicationManifest) { Map<String, String> existingDeploymentProperties = Optional .ofNullable(existingApplicationManifest.getSpec().getDeploymentProperties()).orElse(new HashMap<>()); Map<String, String> replacingDeploymentProperties = Optional .ofNullable(replacingApplicationManifest.getSpec().getDeploymentProperties()).orElse(new HashMap<>()); // exclude deployer count from computing the difference existingDeploymentProperties.remove(DefaultReleaseManager.SPRING_CLOUD_DEPLOYER_COUNT); replacingDeploymentProperties.remove(DefaultReleaseManager.SPRING_CLOUD_DEPLOYER_COUNT); return PropertiesDiff.builder().left(existingDeploymentProperties).right(replacingDeploymentProperties).build(); } }
private SpringCloudDeployerApplicationManifest findMatching(String existingApplicationName, List<? extends SpringCloudDeployerApplicationManifest> replacingApplicationSpecList) { for (SpringCloudDeployerApplicationManifest replacingApplicationManifest : replacingApplicationSpecList) { if (replacingApplicationManifest.getApplicationName().equals(existingApplicationName)) { return replacingApplicationManifest; } } List<String> existingApplicationNames = replacingApplicationSpecList.stream() .map(SpringCloudDeployerApplicationManifest::getApplicationName) .collect(Collectors.toList()); String exceptionMessage = String.format( "Did not find existing application name [%s] in list of replacing applications [%s].", existingApplicationName, StringUtils.collectionToCommaDelimitedString(existingApplicationNames)); throw new SkipperException(exceptionMessage); } }
protected PropertiesDiff getDeploymentPropertiesDifference( SpringCloudDeployerApplicationManifest existingApplicationManifest, SpringCloudDeployerApplicationManifest replacingApplicationManifest) { Map<String, String> existingDeploymentProperties = Optional .ofNullable(existingApplicationManifest.getSpec().getDeploymentProperties()).orElse(new HashMap<>()); Map<String, String> replacingDeploymentProperties = Optional .ofNullable(replacingApplicationManifest.getSpec().getDeploymentProperties()).orElse(new HashMap<>()); // exclude deployer count from computing the difference existingDeploymentProperties.remove(DefaultReleaseManager.SPRING_CLOUD_DEPLOYER_COUNT); replacingDeploymentProperties.remove(DefaultReleaseManager.SPRING_CLOUD_DEPLOYER_COUNT); return PropertiesDiff.builder().left(existingDeploymentProperties).right(replacingDeploymentProperties).build(); } }
public List<String> getAllApplicationNames(Release release) { List<String> appNames = new ArrayList<>(); List<? extends SpringCloudDeployerApplicationManifest> applicationSpecList = this.applicationManifestReader .read(release.getManifest().getData()); if (release.getPkg().getDependencies().size() == 0) { appNames.add(applicationSpecList.get(0).getApplicationName()); } else { for (SpringCloudDeployerApplicationManifest applicationManifestSpec : applicationSpecList) { appNames.add(applicationManifestSpec.getApplicationName()); } } return appNames; }
protected PropertiesDiff getApplicationPropertiesDifference( SpringCloudDeployerApplicationManifest existingApplicationManifest, SpringCloudDeployerApplicationManifest replacingApplicationManifest) { Map<String, String> existingApplicationProperties = Optional .ofNullable(existingApplicationManifest.getSpec().getApplicationProperties()).orElse(new HashMap<>()); Map<String, String> replacingApplicationProperties = Optional .ofNullable(replacingApplicationManifest.getSpec().getApplicationProperties()).orElse(new HashMap<>()); return PropertiesDiff.builder().left(existingApplicationProperties).right(replacingApplicationProperties).build(); }
public List<String> getAllApplicationNames(Release release) { List<String> appNames = new ArrayList<>(); List<? extends SpringCloudDeployerApplicationManifest> applicationSpecList = this.applicationManifestReader .read(release.getManifest().getData()); if (release.getPkg().getDependencies().size() == 0) { appNames.add(applicationSpecList.get(0).getApplicationName()); } else { for (SpringCloudDeployerApplicationManifest applicationManifestSpec : applicationSpecList) { appNames.add(applicationManifestSpec.getApplicationName()); } } return appNames; }
protected PropertiesDiff getApplicationPropertiesDifference( SpringCloudDeployerApplicationManifest existingApplicationManifest, SpringCloudDeployerApplicationManifest replacingApplicationManifest) { Map<String, String> existingApplicationProperties = Optional .ofNullable(existingApplicationManifest.getSpec().getApplicationProperties()).orElse(new HashMap<>()); Map<String, String> replacingApplicationProperties = Optional .ofNullable(replacingApplicationManifest.getSpec().getApplicationProperties()).orElse(new HashMap<>()); return PropertiesDiff.builder().left(existingApplicationProperties).right(replacingApplicationProperties).build(); }