package com.sequenceiq.cloudbreak.converter;
import java.util.HashMap;
import java.util.Map;
import org.springframework.stereotype.Component;
import com.sequenceiq.cloudbreak.api.model.AmbariStackDetailsJson;
import com.sequenceiq.cloudbreak.cloud.model.HDPRepo;
@Component
public class JsonToHDPRepoConverter extends AbstractConversionServiceAwareConverter<AmbariStackDetailsJson, HDPRepo> {
private static final String REDHAT_6 = "redhat6";
private static final String REDHAT_7 = "redhat7";
@Override
public HDPRepo convert(AmbariStackDetailsJson source) {
HDPRepo repo = new HDPRepo();
Map<String, String> stack = new HashMap<>();
Map<String, String> util = new HashMap<>();
stack.put("repoid", source.getStackRepoId());
util.put("repoid", source.getUtilsRepoId());
String stackBaseURL = source.getStackBaseURL();
String utilsBaseURL = source.getUtilsBaseURL();
if (source.getOs() == null) {
stack.put(REDHAT_6, stackBaseURL);
stack.put(REDHAT_7, stackBaseURL);
util.put(REDHAT_6, utilsBaseURL);
util.put(REDHAT_7, utilsBaseURL);
} else {
stack.put(source.getOs(), stackBaseURL);
util.put(source.getOs(), utilsBaseURL);
}
repo.setStack(stack);
repo.setUtil(util);
repo.setVerify(source.getVerify());
repo.setHdpVersion(source.getVersion());
return repo;
}
}