use of com.sequenceiq.cloudbreak.cmtemplate.generator.support.domain.SupportedService in project cloudbreak by hortonworks.
the class DeclaredVersionService method collectDeclaredVersions.
public SupportedServices collectDeclaredVersions(String blueprintText) {
SupportedServices supportedServices = new SupportedServices();
Set<SupportedService> services = new HashSet<>();
CmTemplateProcessor cmTemplateProcessor = cmTemplateProcessorFactory.get(blueprintText);
String cdhVersion = cmTemplateProcessor.getTemplate().getCdhVersion();
StackVersion stackVersion = new StackVersion();
stackVersion.setVersion(cdhVersion);
stackVersion.setStackType("CDH");
Set<CdhService> cdhServices = cmTemplateGeneratorConfigurationResolver.cdhConfigurations().get(stackVersion);
if (cdhServices == null) {
cdhServices = fallbackForDefault();
}
for (ApiClusterTemplateService service : cmTemplateProcessor.getTemplate().getServices()) {
SupportedService supportedService = new SupportedService();
supportedService.setName(service.getServiceType());
for (CdhService cdhService : cdhServices) {
if (cdhService.getName().equals(service.getServiceType())) {
supportedService.setVersion(cdhService.getVersion());
}
}
for (ServiceConfig serviceConfig : cmTemplateGeneratorConfigurationResolver.serviceConfigs()) {
if (serviceConfig.getName().equals(service.getServiceType())) {
supportedService.setDisplayName(serviceConfig.getDisplayName());
supportedService.setComponentNameInParcel(serviceConfig.getComponentNameInParcel());
}
}
if (!Strings.isNullOrEmpty(supportedService.getDisplayName()) && !Strings.isNullOrEmpty(supportedService.getVersion())) {
services.add(supportedService);
}
}
supportedServices.setServices(services);
return supportedServices;
}
Aggregations