package com.sequenceiq.it.spark.consul; import java.util.ArrayList; import java.util.List; import com.ecwid.consul.v1.agent.model.Member; import com.sequenceiq.it.spark.ITResponse; import spark.Request; import spark.Response; public class ConsulMemberResponse extends ITResponse { private static final int ALIVE_STATUS = 1; private int serverNumber; public ConsulMemberResponse(int serverNumber) { this.serverNumber = serverNumber; } private List<Member> createMembers() { List<Member> members = new ArrayList<>(); for (int i = 0; i <= serverNumber / 254; i++) { int subAddress = Integer.min(254, serverNumber - i * 254); for (int j = 1; j <= subAddress; j++) { Member member = new Member(); member.setAddress("192.168." + i + "." + j); member.setStatus(ALIVE_STATUS); member.setName("consul-" + i + "-" + j); members.add(member); } } return members; } @Override public Object handle(Request request, Response response) throws Exception { return createMembers(); } }