| 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; |
| } |
| |
| |
| } |