
org.kiwiproject.registry.eureka.client.EurekaParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of service-discovery-client Show documentation
Show all versions of service-discovery-client Show documentation
Abstract service discovery API for service registration and lookup
package org.kiwiproject.registry.eureka.client;
import static com.google.common.base.Preconditions.checkState;
import static com.google.common.base.Verify.verify;
import static com.google.common.collect.Lists.newArrayList;
import static java.util.Objects.isNull;
import static java.util.Objects.nonNull;
import static java.util.stream.Collectors.toList;
import static org.apache.commons.lang3.StringUtils.isBlank;
import static org.kiwiproject.base.KiwiObjects.firstNonNullOrNull;
import static org.kiwiproject.base.KiwiPreconditions.checkArgumentNotNull;
import com.google.common.annotations.VisibleForTesting;
import lombok.experimental.UtilityClass;
import org.kiwiproject.net.KiwiInternetAddresses;
import org.kiwiproject.registry.eureka.common.EurekaInstance;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@UtilityClass
class EurekaParser {
@SuppressWarnings("unchecked")
public static List parseEurekaResponse(Map response) {
checkArgumentNotNull(response, "Eureka response map cannot be null");
var applications = (Map) response.get("applications");
checkState(nonNull(applications), "Eureka data must contain a key 'applications' that contains a Map");
var applicationOrApplicationList = applications.get("application");
var eurekaInstances = new ArrayList();
if (nonNull(applicationOrApplicationList)) {
if (applicationOrApplicationList instanceof List>) {
for (Map application : (List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy