Skip to content

Commit

Permalink
v0.15.15
Browse files Browse the repository at this point in the history
Modified to use SortedSet filters
  • Loading branch information
skavanagh committed Oct 5, 2014
1 parent a7d513d commit ab89a69
Show file tree
Hide file tree
Showing 4 changed files with 80 additions and 95 deletions.
15 changes: 9 additions & 6 deletions src/main/java/com/ec2box/common/db/DBInitServlet.java
Expand Up @@ -45,10 +45,11 @@ public void init(ServletConfig config) throws ServletException {
super.init(config);



Connection connection = null;
Statement statement = null;
try {
Connection connection = DBUtils.getConn();
Statement statement = connection.createStatement();
connection = DBUtils.getConn();
statement = connection.createStatement();

ResultSet rs = statement.executeQuery("select * from information_schema.tables where upper(table_name) = 'USERS' and table_schema='PUBLIC'");
if (rs == null || !rs.next()) {
Expand All @@ -71,13 +72,15 @@ public void init(ServletConfig config) throws ServletException {
}

DBUtils.closeRs(rs);
DBUtils.closeStmt(statement);
DBUtils.closeConn(connection);



} catch (Exception ex) {
ex.printStackTrace();
}

DBUtils.closeStmt(statement);
DBUtils.closeConn(connection);

}

}
95 changes: 27 additions & 68 deletions src/main/java/com/ec2box/manage/action/SystemAction.java
Expand Up @@ -48,18 +48,18 @@ public class SystemAction extends ActionSupport implements ServletRequestAware {
HostSystem hostSystem = new HostSystem();
Script script = null;
HttpServletRequest servletRequest;
String tag = null;
String securityGroup = null;
static Map<String, String> alarmStateMap = AppConfig.getMapProperties("alarmState");
static Map<String, String> systemStatusMap = AppConfig.getMapProperties("systemStatus");
static Map<String, String> instanceStatusMap = AppConfig.getMapProperties("instanceStatus");
static Map<String, String> instanceStateMap = AppConfig.getMapProperties("instanceState");

String alarmState = null;
String systemStatus = null;
String instanceStatus = null;
String instanceState = AppConfig.getProperty("defaultInstanceState");


public static final String FILTER_BY_ALARM_STATE = "alarm_state";
public static final String FILTER_BY_INSTANCE_STATUS= "instance_status";
public static final String FILTER_BY_SYSTEM_STATUS= "system_status";
public static final String FILTER_BY_INSTANCE_STATE= "instance_state";
public static final String FILTER_BY_SECURITY_GROUP= "security_group";
public static final String FILTER_BY_TAG= "tag";


@Action(value = "/admin/viewSystems",
results = {
Expand All @@ -73,6 +73,11 @@ public String viewSystems() {

List<String> ec2RegionList = EC2KeyDB.getEC2Regions();
List<String> instanceIdList = new ArrayList<String>();

//default instance state
if(sortedSet.getFilterMap().get(FILTER_BY_INSTANCE_STATE) == null){
sortedSet.getFilterMap().put(FILTER_BY_INSTANCE_STATE,AppConfig.getProperty("defaultInstanceState"));
}


try {
Expand All @@ -87,8 +92,8 @@ public String viewSystems() {
if (profileList.size() > 0 || Auth.MANAGER.equals(userType)) {
List<String> inputTagList = new ArrayList<String>();
//set tag from input filter
if (StringUtils.isNotEmpty(tag)) {
inputTagList.add(tag);
if (StringUtils.isNotEmpty(sortedSet.getFilterMap().get(FILTER_BY_TAG))) {
inputTagList.add(sortedSet.getFilterMap().get(FILTER_BY_TAG));
}
//set tags for profile
for (Profile profile : profileList) {
Expand All @@ -112,8 +117,8 @@ public String viewSystems() {

//parse out security group list in format group[,group]
List<String> securityGroupList = new ArrayList<>();
if (StringUtils.isNotEmpty(securityGroup)) {
securityGroupList = Arrays.asList(securityGroup.split(","));
if (StringUtils.isNotEmpty(sortedSet.getFilterMap().get(FILTER_BY_SECURITY_GROUP))) {
securityGroupList = Arrays.asList(sortedSet.getFilterMap().get(FILTER_BY_SECURITY_GROUP).split(","));
}


Expand Down Expand Up @@ -143,9 +148,9 @@ public String viewSystems() {
describeInstancesRequest.withFilters(keyNmFilter);

//instance state filter
if (StringUtils.isNotEmpty(instanceState)) {
if (StringUtils.isNotEmpty(sortedSet.getFilterMap().get(FILTER_BY_INSTANCE_STATE))) {
List<String> instanceStateList = new ArrayList<String>();
instanceStateList.add(instanceState);
instanceStateList.add(sortedSet.getFilterMap().get(FILTER_BY_INSTANCE_STATE));
Filter instanceStateFilter = new Filter("instance-state-name", instanceStateList);
describeInstancesRequest.withFilters(instanceStateFilter);
}
Expand Down Expand Up @@ -224,10 +229,10 @@ public String viewSystems() {
hostSystem.setInstanceStatus(instanceStatus.getInstanceStatus().getStatus());

//check and filter by instance or system status
if ((StringUtils.isEmpty(this.instanceStatus) && StringUtils.isEmpty(this.systemStatus))
|| (hostSystem.getInstanceStatus().equals(this.instanceStatus) && StringUtils.isEmpty(this.systemStatus))
|| (hostSystem.getInstanceStatus().equals(this.systemStatus) && StringUtils.isEmpty(this.instanceStatus))
|| (hostSystem.getInstanceStatus().equals(this.systemStatus) && hostSystem.getInstanceStatus().equals(this.instanceStatus))
if ((StringUtils.isEmpty(sortedSet.getFilterMap().get(FILTER_BY_INSTANCE_STATUS)) && StringUtils.isEmpty(sortedSet.getFilterMap().get(FILTER_BY_SYSTEM_STATUS)))
|| (hostSystem.getInstanceStatus().equals(sortedSet.getFilterMap().get(FILTER_BY_INSTANCE_STATUS)) && StringUtils.isEmpty(sortedSet.getFilterMap().get(FILTER_BY_SYSTEM_STATUS)))
|| (hostSystem.getInstanceStatus().equals(sortedSet.getFilterMap().get(FILTER_BY_SYSTEM_STATUS)) && StringUtils.isEmpty(sortedSet.getFilterMap().get(FILTER_BY_INSTANCE_STATUS)))
|| (hostSystem.getInstanceStatus().equals(sortedSet.getFilterMap().get(FILTER_BY_SYSTEM_STATUS)) && hostSystem.getInstanceStatus().equals(sortedSet.getFilterMap().get(FILTER_BY_INSTANCE_STATUS)))
) {
hostSystemList.put(hostSystem.getInstanceId(), hostSystem);
}
Expand Down Expand Up @@ -264,13 +269,13 @@ public String viewSystems() {
hostSystem.setMonitorOk(hostSystem.getMonitorOk() + 1);
}
//check and filter by alarm state
if (StringUtils.isEmpty(this.alarmState)) {
if (StringUtils.isEmpty(sortedSet.getFilterMap().get(FILTER_BY_ALARM_STATE))) {
hostSystemList.put(hostSystem.getInstanceId(), hostSystem);
} else if ("ALARM".equals(this.alarmState) && hostSystem.getMonitorAlarm() > 0) {
} else if ("ALARM".equals(sortedSet.getFilterMap().get(FILTER_BY_ALARM_STATE)) && hostSystem.getMonitorAlarm() > 0) {
hostSystemList.put(hostSystem.getInstanceId(), hostSystem);
} else if ("INSUFFICIENT_DATA".equals(this.alarmState) && hostSystem.getMonitorInsufficientData() > 0) {
} else if ("INSUFFICIENT_DATA".equals(sortedSet.getFilterMap().get(FILTER_BY_ALARM_STATE)) && hostSystem.getMonitorInsufficientData() > 0) {
hostSystemList.put(hostSystem.getInstanceId(), hostSystem);
} else if ("OK".equals(this.alarmState) && hostSystem.getMonitorOk() > 0 && hostSystem.getMonitorInsufficientData() <= 0 && hostSystem.getMonitorAlarm() <= 0) {
} else if ("OK".equals(sortedSet.getFilterMap().get(FILTER_BY_ALARM_STATE)) && hostSystem.getMonitorOk() > 0 && hostSystem.getMonitorInsufficientData() <= 0 && hostSystem.getMonitorAlarm() <= 0) {
hostSystemList.put(hostSystem.getInstanceId(), hostSystem);
}
}
Expand Down Expand Up @@ -361,22 +366,6 @@ public void setServletRequest(HttpServletRequest servletRequest) {
this.servletRequest = servletRequest;
}

public String getTag() {
return tag;
}

public void setTag(String tag) {
this.tag = tag;
}

public String getSecurityGroup() {
return securityGroup;
}

public void setSecurityGroup(String securityGroup) {
this.securityGroup = securityGroup;
}

public static Map<String, String> getAlarmStateMap() {
return alarmStateMap;
}
Expand All @@ -401,29 +390,6 @@ public static void setInstanceStatusMap(Map<String, String> instanceStatusMap) {
SystemAction.instanceStatusMap = instanceStatusMap;
}

public String getAlarmState() {
return alarmState;
}

public void setAlarmState(String alarmState) {
this.alarmState = alarmState;
}

public String getSystemStatus() {
return systemStatus;
}

public void setSystemStatus(String systemStatus) {
this.systemStatus = systemStatus;
}

public String getInstanceStatus() {
return instanceStatus;
}

public void setInstanceStatus(String instanceStatus) {
this.instanceStatus = instanceStatus;
}

public static Map<String, String> getInstanceStateMap() {
return instanceStateMap;
Expand All @@ -433,11 +399,4 @@ public static void setInstanceStateMap(Map<String, String> instanceStateMap) {
SystemAction.instanceStateMap = instanceStateMap;
}

public String getInstanceState() {
return instanceState;
}

public void setInstanceState(String instanceState) {
this.instanceState = instanceState;
}
}
36 changes: 31 additions & 5 deletions src/main/java/com/ec2box/manage/model/SortedSet.java
Expand Up @@ -15,19 +15,34 @@
*/
package com.ec2box.manage.model;

import java.util.HashMap;
import java.util.List;

/**
* allows for paged results on the display screens
*/
public class SortedSet {
String orderByField = null;
String orderByDirection= "asc";
List itemList;
private String orderByField = null;
private String orderByDirection = "asc";
private List itemList;
private HashMap<String, String> filterMap = new HashMap<>();

public SortedSet() {

}

public SortedSet(String orderByField){
this.orderByField = orderByField;
}


public String getOrderByField() {
return orderByField;

if (orderByField != null) {
return orderByField.replaceAll("[^0-9,a-z,A-Z,\\_,\\.]", "");
}
return null;

}

public void setOrderByField(String orderByField) {
Expand All @@ -36,7 +51,11 @@ public void setOrderByField(String orderByField) {


public String getOrderByDirection() {
return orderByDirection;
if ("asc".equalsIgnoreCase(orderByDirection)) {
return "asc";
} else {
return "desc";
}
}

public void setOrderByDirection(String orderByDirection) {
Expand All @@ -48,8 +67,15 @@ public List getItemList() {
}

public void setItemList(List itemList) {

this.itemList = itemList;
}

public HashMap<String, String> getFilterMap() {
return filterMap;
}

public void setFilterMap(HashMap<String, String> filterMap) {
this.filterMap = filterMap;
}
}
29 changes: 13 additions & 16 deletions src/main/webapp/admin/view_systems.jsp
Expand Up @@ -95,7 +95,7 @@
$(".scrollableTable tr:odd").css("background-color", "#e0e0e0");
$('#view_btn').unbind().click(function () {
$('#view_frm').submit();
$("#viewSystems").submit();
});
});
Expand Down Expand Up @@ -133,14 +133,6 @@

<div class="system_container">

<s:form action="viewSystems">
<s:hidden name="sortedSet.orderByDirection"/>
<s:hidden name="sortedSet.orderByField"/>
<s:if test="script!=null && script.id!=null">
<s:hidden name="script.id"/>
</s:if>
</s:form>


<s:if test="script!=null && script.id!=null">
<h3>Execute Script on Instances</h3>
Expand All @@ -167,32 +159,37 @@
</div>
</s:else>

<s:form id="view_frm" action="viewSystems" theme="simple">
<s:form action="viewSystems" theme="simple">
<s:hidden name="sortedSet.orderByDirection"/>
<s:hidden name="sortedSet.orderByField"/>
<s:if test="script!=null && script.id!=null">
<s:hidden name="script.id"/>
</s:if>
<table>

<tr>


<td style="padding-left:0px;"><label>Tag</label><br/><s:textfield name="tag" placeholder="tag-name[=value[,tag-name[=value]]"
<td style="padding-left:0px;"><label>Tag</label><br/><s:textfield name="sortedSet.filterMap['%{@com.ec2box.manage.action.SystemAction@FILTER_BY_TAG}']" placeholder="tag-name[=value[,tag-name[=value]]"
theme="simple" size="25"/></td>

<td><label>Security Group</label><br/><s:textfield name="securityGroup"
<td><label>Security Group</label><br/><s:textfield name="sortedSet.filterMap['%{@com.ec2box.manage.action.SystemAction@FILTER_BY_SECURITY_GROUP}']"
placeholder="group[,group]"
theme="simple" size="10"/></td>
<td>
<label>Current State</label><br/><s:select name="instanceState" list="instanceStateMap"
<label>Current State</label><br/><s:select name="sortedSet.filterMap['%{@com.ec2box.manage.action.SystemAction@FILTER_BY_INSTANCE_STATE}']" list="instanceStateMap"
theme="simple" headerKey="" headerValue="-Any-"/>
</td>
<td>
<label>Instance Status</label><br/><s:select name="instanceStatus" list="instanceStatusMap"
<label>Instance Status</label><br/><s:select name="sortedSet.filterMap['%{@com.ec2box.manage.action.SystemAction@FILTER_BY_INSTANCE_STATUS}']" list="instanceStatusMap"
theme="simple" headerKey="" headerValue="-Any-"/>
</td>
<td>
<label>System Status</label><br/><s:select name="systemStatus" list="systemStatusMap" theme="simple"
<label>System Status</label><br/><s:select name="sortedSet.filterMap['%{@com.ec2box.manage.action.SystemAction@FILTER_BY_SYSTEM_STATUS}']" list="systemStatusMap" theme="simple"
headerKey="" headerValue="-Any-"/>
</td>
<td>
<label>Alarm State</label><br/><s:select name="alarmState" list="alarmStateMap" theme="simple"
<label>Alarm State</label><br/><s:select name="sortedSet.filterMap['%{@com.ec2box.manage.action.SystemAction@FILTER_BY_ALARM_STATE}']" list="alarmStateMap" theme="simple"
headerKey="" headerValue="-Any-"/>
</td>
<td style="padding:20px 5px 0px 5px;">
Expand Down

0 comments on commit ab89a69

Please sign in to comment.