package org.openstack.atlas.usagerefactor.generator;
import org.openstack.atlas.service.domain.entities.Host;
import org.openstack.atlas.service.domain.usage.entities.LoadBalancerHostUsage;
import org.openstack.atlas.usagerefactor.SnmpUsage;
import java.util.*;
public class UsagePollerGenerator {
public static List<Host> generateHosts(int numHosts) {
List<Host> hosts = new ArrayList<Host>();
for (int i = 0; i < numHosts; i++) {
hosts.add(new Host());
}
return hosts;
}
public static Map<Integer, Map<Integer, SnmpUsage>> generateSnmpMap(int numHosts, int numLoadBalancers) {
Map<Integer, Map<Integer, SnmpUsage>> snmpMap = new HashMap<Integer, Map<Integer, SnmpUsage>>();
for (int hostId = 1; hostId < numHosts + 1; hostId++) {
Map<Integer, SnmpUsage> lbMap = new HashMap<Integer, SnmpUsage>();
snmpMap.put(hostId, lbMap);
for (int lbId = 123; lbId < numLoadBalancers + 123; lbId++) {
SnmpUsage snmp = new SnmpUsage();
snmp.setLoadbalancerId(lbId);
snmp.setHostId(hostId);
snmp.setConcurrentConnections(0);
snmp.setConcurrentConnectionsSsl(0);
snmp.setBytesIn(0);
snmp.setBytesOut(0);
snmp.setBytesInSsl(0);
snmp.setBytesOutSsl(0);
lbMap.put(lbId, snmp);
}
}
return snmpMap;
}
public static Map<Integer, List<LoadBalancerHostUsage>> generateLoadBalancerHostUsageMap(int numHosts, int numLoadBalancers,
int pollIntervals, Calendar firstPollTime,
int firstLBId) {
Map<Integer, List<LoadBalancerHostUsage>> lbHostMap = new HashMap<Integer, List<LoadBalancerHostUsage>>();
int pollerInterval = 1;
for (int interval = 0; interval < pollIntervals; interval++) {
Calendar nextPollTime = Calendar.getInstance();
nextPollTime.setTime(firstPollTime.getTime());
nextPollTime.add(Calendar.MINUTE, pollerInterval * interval);
for (int lbId = firstLBId; lbId < numLoadBalancers + 123; lbId++) {
List<LoadBalancerHostUsage> lbHostUsages;
if (!lbHostMap.containsKey(lbId)) {
lbHostUsages = new ArrayList<LoadBalancerHostUsage>();
lbHostMap.put(lbId, lbHostUsages);
}
lbHostUsages = lbHostMap.get(lbId);
for (int hostId = 1; hostId < numHosts + 1; hostId++) {
LoadBalancerHostUsage lbHostUsage = new LoadBalancerHostUsage();
lbHostUsage.setAccountId(1111);
lbHostUsage.setLoadbalancerId(lbId);
lbHostUsage.setHostId(hostId);
lbHostUsage.setPollTime(nextPollTime);
lbHostUsages.add(lbHostUsage);
}
}
}
return lbHostMap;
}
}