package org.openstack.atlas.service.domain.services.helpers;
import org.openstack.atlas.service.domain.events.entities.*;
import java.util.Calendar;
import static org.openstack.atlas.service.domain.events.entities.EventType.*;
public class AtomHelper {
public static LoadBalancerServiceEvent createloadBalancerServiceEvent(String userName, Integer accountId, Integer loadbalancerId, String title, String desc, EventType eventType, CategoryType category, EventSeverity severity, Integer additionalId) {
LoadBalancerServiceEvent lse = new LoadBalancerServiceEvent();
lse.setAccountId(accountId);
lse.setLoadbalancerId(loadbalancerId);
lse.setAuthor(userName);
lse.setCreated(Calendar.getInstance());
lse.setTitle(title);
lse.setDescription(desc);
lse.setCategory(category);
lse.setSeverity(severity);
lse.setType(eventType);
lse.setRelativeUri(createRelativeUri(accountId, loadbalancerId, eventType, additionalId));
return lse;
}
public static LoadBalancerServiceEvent createloadBalancerSslTerminationEvent(String userName, Integer accountId, Integer loadbalancerId, String title, String desc, EventType eventType, CategoryType category, EventSeverity severity, Integer additionalId) {
LoadBalancerServiceEvent lse = new LoadBalancerServiceEvent();
lse.setAccountId(accountId);
lse.setLoadbalancerId(loadbalancerId);
lse.setAuthor(userName);
lse.setCreated(Calendar.getInstance());
lse.setTitle(title);
lse.setDescription(desc);
lse.setCategory(category);
lse.setSeverity(severity);
lse.setType(eventType);
lse.setRelativeUri(createRelativeUri(accountId, loadbalancerId, eventType, additionalId));
return lse;
}
public static NodeEvent createNodeEvent(String userName, Integer accountId, Integer loadbalancerId, Integer nodeId, String title, String desc, EventType eventType, CategoryType category, EventSeverity severity) {
NodeEvent ne = new NodeEvent();
ne.setAccountId(accountId);
ne.setLoadbalancerId(loadbalancerId);
ne.setAuthor(userName);
ne.setNodeId(nodeId);
ne.setCreated(Calendar.getInstance());
ne.setTitle(title);
ne.setDescription(desc);
ne.setCategory(category);
ne.setSeverity(severity);
ne.setType(eventType);
ne.setRelativeUri(createRelativeUri(accountId, loadbalancerId, eventType, nodeId));
return ne;
}
public static NodeServiceEvent createNodeServiceEvent(String userName, Integer accountId, Integer loadbalancerId, Integer nodeId, String title, String desc, EventType eventType, CategoryType category, EventSeverity severity, String detailedMessage, String callbackHost) {
NodeServiceEvent ne = new NodeServiceEvent();
ne.setAccountId(accountId);
ne.setLoadbalancerId(loadbalancerId);
ne.setAuthor(userName);
ne.setNodeId(nodeId);
ne.setCreated(Calendar.getInstance());
ne.setTitle(title);
ne.setDescription(desc);
ne.setCategory(category);
ne.setSeverity(severity);
ne.setType(eventType);
ne.setDetailedMessage(detailedMessage);
ne.setCallbackHost(callbackHost);
ne.setRelativeUri(createRelativeUri(accountId, loadbalancerId, eventType, nodeId) + "/events");
return ne;
}
public static AccessListEvent createAccessListEvent(String userName, Integer accountId, Integer loadbalancerId, Integer accessListId, String title, String desc, EventType eventType, CategoryType category, EventSeverity severity) {
AccessListEvent lse = new AccessListEvent();
lse.setAccountId(accountId);
lse.setLoadbalancerId(loadbalancerId);
lse.setAuthor(userName);
lse.setAccess_list_id(accessListId);
lse.setCreated(Calendar.getInstance());
lse.setTitle(title);
lse.setDescription(desc);
lse.setCategory(category);
lse.setSeverity(severity);
lse.setType(eventType);
lse.setRelativeUri(createRelativeUri(accountId, loadbalancerId, eventType, accessListId));
return lse;
}
public static ConnectionLimitEvent createConnectionLimitEvent(String userName, Integer accountId, Integer loadbalancerId, Integer connectLimitId, String title, String desc, EventType eventType, CategoryType category, EventSeverity severity) {
ConnectionLimitEvent lse = new ConnectionLimitEvent();
lse.setAccountId(accountId);
lse.setLoadbalancerId(loadbalancerId);
lse.setAuthor(userName);
lse.setConnectionLimitId(connectLimitId);
lse.setCreated(Calendar.getInstance());
lse.setTitle(title);
lse.setDescription(desc);
lse.setCategory(category);
lse.setSeverity(severity);
lse.setType(eventType);
lse.setRelativeUri(createRelativeUri(accountId, loadbalancerId, eventType, connectLimitId));
return lse;
}
public static HealthMonitorEvent createHealtheMonitorEvent(String userName, Integer accountId, Integer loadbalancerId, Integer hmId, String title, String desc, EventType eventType, CategoryType category, EventSeverity severity) {
HealthMonitorEvent lse = new HealthMonitorEvent();
lse.setAccountId(accountId);
lse.setLoadbalancerId(loadbalancerId);
lse.setAuthor(userName);
lse.setHealthMonitorId(hmId);
lse.setCreated(Calendar.getInstance());
lse.setTitle(title);
lse.setDescription(desc);
lse.setCategory(category);
lse.setSeverity(severity);
lse.setType(eventType);
lse.setRelativeUri(createRelativeUri(accountId, loadbalancerId, eventType, hmId));
return lse;
}
public static LoadBalancerEvent createLoadBalancerEvent(String userName, Integer accountId, Integer loadbalancerId, String title, String desc, EventType eventType, CategoryType category, EventSeverity severity) {
LoadBalancerEvent lse = new LoadBalancerEvent();
lse.setAccountId(accountId);
lse.setLoadbalancerId(loadbalancerId);
lse.setAuthor(userName);
lse.setCreated(Calendar.getInstance());
lse.setTitle(title);
lse.setDescription(desc);
lse.setCategory(category);
lse.setSeverity(severity);
lse.setType(eventType);
lse.setRelativeUri(createRelativeUri(accountId, loadbalancerId, eventType, null));
return lse;
}
public static SessionPersistenceEvent createSessionPersistenceEvent(String userName, Integer accountId, Integer loadbalancerId, String title, String desc, EventType eventType, CategoryType category, EventSeverity severity) {
SessionPersistenceEvent lse = new SessionPersistenceEvent();
lse.setAccountId(accountId);
lse.setLoadbalancerId(loadbalancerId);
lse.setAuthor(userName);
lse.setCreated(Calendar.getInstance());
lse.setTitle(title);
lse.setDescription(desc);
lse.setCategory(category);
lse.setSeverity(severity);
lse.setType(eventType);
lse.setRelativeUri(createRelativeUri(accountId, loadbalancerId, eventType, null));
return lse;
}
public static VirtualIpEvent createVirtualIpEvent(String userName, Integer accountId, Integer loadbalancerId, Integer vipId, String title, String desc, EventType eventType, CategoryType category, EventSeverity severity) {
VirtualIpEvent lse = new VirtualIpEvent();
lse.setAccountId(accountId);
lse.setLoadbalancerId(loadbalancerId);
lse.setAuthor(userName);
lse.setCreated(Calendar.getInstance());
lse.setVirtualIpId(vipId);
lse.setTitle(title);
lse.setDescription(desc);
lse.setCategory(category);
lse.setSeverity(severity);
lse.setType(eventType);
lse.setRelativeUri(createRelativeUri(accountId, loadbalancerId, eventType, vipId));
return lse;
}
public static String createRelativeUri(Integer accountId, Integer loadblancerId, EventType eventType, Integer additionalId) {
StringBuilder urI = new StringBuilder("/" + accountId + "/loadbalancers/" + loadblancerId);
if (eventType.equals(CREATE_ACCESS_LIST) || eventType.equals(UPDATE_ACCESS_LIST) || eventType.equals(DELETE_ACCESS_LIST) || eventType.equals(DELETE_NETWORK_ITEM)) {
urI.append("/accesslist/");
} else if (eventType.equals(EventType.CREATE_CONNECTION_THROTTLE) || eventType.equals(EventType.UPDATE_CONNECTION_THROTTLE) || eventType.equals(EventType.DELETE_CONNECTION_THROTTLE)) {
urI.append("/connectionthrottle/");
} else if (eventType.equals(EventType.CREATE_HEALTH_MONITOR) || eventType.equals(EventType.UPDATE_HEALTH_MONITOR) || eventType.equals(EventType.DELETE_HEALTH_MONITOR)) {
urI.append("/healthmonitor/");
} else if (eventType.equals(EventType.CREATE_NODE) || eventType.equals(EventType.UPDATE_NODE) || eventType.equals(EventType.DELETE_NODE)) {
urI.append("/nodes/").append(additionalId);
} else if (eventType.equals(EventType.CREATE_SESSION_PERSISTENCE) || eventType.equals(EventType.UPDATE_SESSION_PERSISTENCE) || eventType.equals(EventType.DELETE_SESSION_PERSISTENCE)) {
urI.append("/sessionpersistence");
} else if (eventType.equals(CREATE_VIRTUAL_IP) || eventType.equals(DELETE_VIRTUAL_IP)) {
urI.append("/virtualips/").append(additionalId);
}
return urI.toString();
}
}