package org.openstack.atlas.api.atom; import org.openstack.atlas.service.domain.entities.*; import org.openstack.atlas.service.domain.entities.AccessList; import org.openstack.atlas.service.domain.entities.HealthMonitorType; import org.openstack.atlas.service.domain.entities.LoadBalancer; import org.openstack.atlas.service.domain.entities.Node; import org.openstack.atlas.service.domain.entities.SslTermination; import org.openstack.atlas.service.domain.entities.VirtualIp; import org.openstack.atlas.util.ip.exception.IPStringConversionException; public final class EntryHelper { public static final String CREATE_NODE_TITLE = "Node Successfully Created"; public static final String CREATE_VIP_TITLE = "Virtual Ip Successfully Added"; public static final String UPDATE_MONITOR_TITLE = "Health Monitor Successfully Updated"; public static final String UPDATE_PERSISTENCE_TITLE = "Session Persistence Successfully Updated"; public static final String UPDATE_LOGGING_TITLE = "Connection Logging Successfully Updated"; public static final String UPDATE_THROTTLE_TITLE = "Connection Throttle Successfully Updated"; public static final String UPDATE_ACCESS_LIST_TITLE = "Access List Successfully Updated"; public static final String CREATE_SSL_TERMINATION_TITLE = "SSL Termination Successfully created"; public static final String UPDATE_SSL_TERMINATION_TITLE = "SSL Termination Successfully updated"; public static String createNodeSummary(Node node) { StringBuilder atomSummary = new StringBuilder(); atomSummary.append("Node successfully created with "); atomSummary.append("address: '").append(node.getIpAddress()).append("', "); atomSummary.append("port: '").append(node.getPort()).append("', "); atomSummary.append("condition: '").append(node.getCondition()).append("', "); atomSummary.append("weight: '").append(node.getWeight()).append("'"); return atomSummary.toString(); } public static String createSslTerminationSummary(SslTermination ssl) { StringBuilder atomSummary = new StringBuilder(); atomSummary.append("SslTermination successfully created with "); // atomSummary.append("key: '").append(ssl.getPrivatekey()).append("', "); // atomSummary.append("cert: '").append(ssl.getCertificate()).append("', "); atomSummary.append("isEnabled: '").append(ssl.isEnabled()).append("'"); atomSummary.append("isSecureTrafficOnly: '").append(ssl.isSecureTrafficOnly()).append("'"); atomSummary.append("securePort: '").append(ssl.getSecurePort()).append("'"); return atomSummary.toString(); } public static String createVirtualIpSummary(VirtualIp virtualIp) { StringBuilder atomSummary = new StringBuilder(); atomSummary.append("Virtual ip successfully added with "); atomSummary.append("address: '").append(virtualIp.getIpAddress()).append("', "); atomSummary.append("type: '").append(virtualIp.getVipType()).append("'"); return atomSummary.toString(); } public static String createVirtualIpSummary(VirtualIpv6 virtualIp) { String ipv6AsString = null; try { ipv6AsString = virtualIp.getDerivedIpString(); } catch (IPStringConversionException e) { // Ignore } StringBuilder atomSummary = new StringBuilder(); atomSummary.append("Virtual ip successfully added with "); if(ipv6AsString != null) atomSummary.append("address: '").append(ipv6AsString).append("', "); atomSummary.append("type: '").append(VirtualIpType.PUBLIC.name()).append("'"); return atomSummary.toString(); } public static String createVirtualIpSummary() { return "Virtual ip successfully added"; } public static String createHealthMonitorSummary(LoadBalancer lb) { StringBuilder atomSummary = new StringBuilder(); atomSummary.append("Health monitor successfully updated with "); atomSummary.append("type: '").append(lb.getHealthMonitor().getType().name()).append("', "); atomSummary.append("delay: '").append(lb.getHealthMonitor().getDelay()).append("', "); atomSummary.append("timeout: '").append(lb.getHealthMonitor().getTimeout()).append("', "); atomSummary.append("attemptsBeforeDeactivation: '").append(lb.getHealthMonitor().getAttemptsBeforeDeactivation()); if (lb.getHealthMonitor().getType().equals(HealthMonitorType.CONNECT)) { atomSummary.append("'"); } else { atomSummary.append("', "); atomSummary.append("path: '").append(lb.getHealthMonitor().getPath()).append("', "); atomSummary.append("statusRegex: '").append(lb.getHealthMonitor().getStatusRegex()).append("', "); atomSummary.append("bodyRegex: '").append(lb.getHealthMonitor().getBodyRegex()).append("'"); } return atomSummary.toString(); } public static String createConnectionThrottleSummary(LoadBalancer lb) { StringBuilder atomSummary = new StringBuilder(); atomSummary.append("Connection throttle successfully updated with "); atomSummary.append("minConnections: '").append(lb.getConnectionLimit().getMinConnections()).append("', "); atomSummary.append("maxConnections: '").append(lb.getConnectionLimit().getMaxConnections()).append("', "); atomSummary.append("maxConnectionRate: '").append(lb.getConnectionLimit().getMaxConnectionRate()).append("', "); atomSummary.append("rateInterval: '").append(lb.getConnectionLimit().getRateInterval()).append("'"); return atomSummary.toString(); } public static String createAccessListSummary(AccessList accessListItem) { StringBuilder atomSummary = new StringBuilder(); atomSummary.append("Access list successfully updated with the following item: "); atomSummary.append("id: '").append(accessListItem.getId()).append("', "); atomSummary.append("address: '").append(accessListItem.getIpAddress()).append("', "); atomSummary.append("type: '").append(accessListItem.getType()).append("'"); return atomSummary.toString(); } }