private Set<String> getServicesForPlatform(long manifestPlatformId) { List<CmsRfcRelation> rfcRelations = cmRfcMrgProcessor.getFromCIRelationsNaked( manifestPlatformId, MANIFEST_REQUIRES, null, null); return rfcRelations .stream() .filter(this::needServices) .flatMap(this::getServices) .collect(toSet()); }
/** * This checks the cloud is configured with all services which are required for deployment of * platform . * * @param manifestPlatformId the id of platform for which services need to be found * @throws TransistorException if missing services are found. */ public void check4missingServices(long manifestPlatformId) { // get all required components of platforms List<CmsRfcRelation> requiredRelations = cmRfcMrgProcessor.getFromCIRelationsNaked( manifestPlatformId, MANIFEST_REQUIRES, null, null); Set<String> requiredServices = requiredRelations .stream() .filter(this::needServices) .flatMap(this::getServices) .collect(toSet()); Map<String, TreeSet<String>> cloudsMissingServices = getMissingCloudServices(manifestPlatformId, requiredServices); if (!cloudsMissingServices.isEmpty()) { // <{c1=[s1]}> mess String message = String.format( "All services <%s> required for platform (%s) are not configured for clouds.Please contact your org. admin .", cloudsMissingServices.toString(), withoutManifest(requiredRelations.get(0).getNsPath())); throw new TransistorException(TRANSISTOR_MISSING_CLOUD_SERVICES, message); } }