if (!dep1.getProductGroup().equals(dep2.getProductGroup())) { throw new IllegalArgumentException(String.format("Product groups differ: '%s' and '%s'", dep1.getProductGroup(), dep2.getProductGroup())); if (!dep1.getProductName().equals(dep2.getProductName())) { throw new IllegalArgumentException(String.format("Product names differ: '%s' and '%s'", dep1.getProductName(), dep2.getProductName())); OrderableSlsVersion minimumVersion = Stream.of(dep1.getMinimumVersion(), dep2.getMinimumVersion()) .filter(SlsProductVersions::isOrderableVersion) .map(OrderableSlsVersion::valueOf) .of(dep1.getMaximumVersion(), dep2.getMaximumVersion()) .filter(Objects::nonNull) .map(MaximumVersion::valueOf) .of(dep1.getRecommendedVersion(), dep2.getRecommendedVersion()) .filter(Objects::nonNull) .filter(SlsProductVersions::isOrderableVersion) RecommendedProductDependency result = new RecommendedProductDependency(); result.setMinimumVersion(minimumVersion.toString()); maximumVersion.map(Objects::toString).ifPresent(result::setMaximumVersion); recommendedVersion.map(Objects::toString).ifPresent(result::setRecommendedVersion); result.setProductGroup(dep1.getProductGroup()); result.setProductName(dep1.getProductName()); result.isValid(); return result;
recommendedDep.getProductGroup(), recommendedDep.getProductName()); RecommendedProductDependency existingDep = recommendedDepsByProductId.get(productId); RecommendedProductDependency dep = recommendedDep; productDependency.getProductGroup(), productDependency.getProductName(), recommendedProductDependency.getMinimumVersion(), recommendedProductDependency.getMaximumVersion(), recommendedProductDependency.getRecommendedVersion());
if (!dep1.getProductGroup().equals(dep2.getProductGroup())) { throw new IllegalArgumentException(String.format("Product groups differ: '%s' and '%s'", dep1.getProductGroup(), dep2.getProductGroup())); if (!dep1.getProductName().equals(dep2.getProductName())) { throw new IllegalArgumentException(String.format("Product names differ: '%s' and '%s'", dep1.getProductName(), dep2.getProductName())); OrderableSlsVersion minimumVersion = Stream.of(dep1.getMinimumVersion(), dep2.getMinimumVersion()) .flatMap(version -> OrderableSlsVersion.safeValueOf(version).map(Stream::of).orElse(Stream.empty())) .max(VersionComparator.INSTANCE) .of(dep1.getMaximumVersion(), dep2.getMaximumVersion()) .filter(Objects::nonNull) .map(MaximumVersion::valueOf .of(dep1.getRecommendedVersion(), dep2.getRecommendedVersion()) .filter(Objects::nonNull) .flatMap(version -> OrderableSlsVersion.safeValueOf(version).map(Stream::of).orElse(Stream.empty())) RecommendedProductDependency result = new RecommendedProductDependency(); result.setMinimumVersion(minimumVersion.toString()); maximumVersion.map(Objects::toString).ifPresent(result::setMaximumVersion); recommendedVersion.map(Objects::toString).ifPresent(result::setRecommendedVersion); result.setProductGroup(dep1.getProductGroup()); result.setProductName(dep1.getProductName()); result.isValid(); return result;