blob: 82e5974b517910f5a4a69f8061979b74d7622a4d [file] [log] [blame]
package pta.de.core.controller;
import com.google.common.collect.Lists;
import org.apache.log4j.Logger;
import org.eclipse.jetty.http.HttpStatus;
import pta.de.api.ServiceDistributionCluster;
import pta.de.api.VersionInfo;
import pta.de.core.exceptions.HttpStatusException;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class BackendController {
private static Logger logger = Logger.getLogger(BackendController.class.getName());
public ServiceDistributionCluster readServerDistribution(String cluster) throws HttpStatusException {
ServiceDistributionCluster[] dcs = ServicesConfigCache.getInstance().getCache();
for (ServiceDistributionCluster item : dcs) {
if (item.clustername.equalsIgnoreCase(cluster) && item.isActive()) {
return removeInactiveItems(item);
}
}
throw new HttpStatusException(HttpStatus.NOT_FOUND_404);
}
public VersionInfo getVersionInfo( String version ) {
VersionInfo vi = new VersionInfo();
vi.setBackendVersion( version );
return vi;
}
private ServiceDistributionCluster removeInactiveItems( ServiceDistributionCluster cluster ) {
List<ServiceDistributionCluster.ServiceDistribution> dlist = Arrays.asList(cluster.getDistributions());
dlist = dlist.stream().filter(d -> d.isActive()).collect(Collectors.toList());
ServiceDistributionCluster.ServiceDistribution distArr[]
= new ServiceDistributionCluster.ServiceDistribution[dlist.size()];
cluster.setDistributions(dlist.toArray(distArr));
return cluster;
}
}