package com.sequenceiq.cloudbreak.converter; import org.springframework.stereotype.Component; import com.sequenceiq.cloudbreak.api.model.AccountPreferencesJson; import com.sequenceiq.cloudbreak.domain.AccountPreferences; @Component public class AccountPreferencesToJsonConverter extends AbstractConversionServiceAwareConverter<AccountPreferences, AccountPreferencesJson> { private static final long HOUR_IN_MS = 3600000L; private static final long ZERO = 0L; @Override public AccountPreferencesJson convert(AccountPreferences source) { AccountPreferencesJson json = new AccountPreferencesJson(); json.setMaxNumberOfClusters(source.getMaxNumberOfClusters()); json.setMaxNumberOfNodesPerCluster(source.getMaxNumberOfNodesPerCluster()); json.setAllowedInstanceTypes(source.getAllowedInstanceTypes()); long clusterTimeToLive = source.getClusterTimeToLive() == ZERO ? ZERO : source.getClusterTimeToLive() / HOUR_IN_MS; json.setClusterTimeToLive(clusterTimeToLive); long userTimeToLive = source.getUserTimeToLive() == ZERO ? ZERO : source.getUserTimeToLive() / HOUR_IN_MS; json.setUserTimeToLive(userTimeToLive); json.setMaxNumberOfClustersPerUser(source.getMaxNumberOfClustersPerUser()); json.setPlatforms(source.getPlatforms()); return json; } }