Skip to content

Commit

Permalink
Refactor lite console codes for server status overview.
Browse files Browse the repository at this point in the history
  • Loading branch information
haocao committed Apr 6, 2017
1 parent 5f490be commit 7aabb80
Show file tree
Hide file tree
Showing 5 changed files with 36 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ function renderJobs() {
sortable: "true"
}, {
field: "instanceCount",
title: "实例数"
title: "运行实例数"
}, {
field: "status",
title: "状态",
Expand Down Expand Up @@ -47,8 +47,7 @@ function statusFormatter(val, row) {

function generateOperationButtons(val, row) {
if (0 === row.instanceCount ) {
//return "<button operation='remove' class='btn-xs btn-danger' job-name='" + row.jobName + "'>删除</button>";
return "-";
return "<button operation='remove' class='btn-xs btn-danger' job-name='" + row.jobName + "'>清理</button>";
}
var disableButton = "<button operation='disable' class='btn-xs btn-warning' ip='" + row.ip + "' job-name='" + row.jobName + "'>禁用</button>";
var enableButton = "<button operation='enable' class='btn-xs btn-success' ip='" + row.ip + "' job-name='" + row.jobName + "'>启用</button>";
Expand Down Expand Up @@ -97,13 +96,21 @@ function bindEnableButton() {

function bindShutdownButton() {
$(document).on("click", "button[operation='shutdown']", function(event) {
$.ajax({
url: "/api/servers/" + $("#server-ip").text() + "/jobs/" + $(event.currentTarget).attr("job-name") + "/shutdown",
type: "POST",
success: function(){
$("#server-jobs-tbl").bootstrapTable("refresh");
showSuccessDialog();
}
$("#shutdown-confirm-dialog").modal({backdrop: 'static', keyboard: true});
var serverIp = $("#server-ip").text();
var jobName = $(event.currentTarget).attr("job-name");
$(document).off("click", "#shutdown-confirm-dialog-confirm-btn");
$(document).on("click", "#shutdown-confirm-dialog-confirm-btn", function() {
$.ajax({
url: "/api/servers/" + serverIp + "/jobs/" + jobName + "/shutdown",
type: "POST",
success: function () {
$("#shutdown-confirm-dialog").modal("hide");
$(".modal-backdrop").remove();
$("body").removeClass("modal-open");
$("#server-jobs-tbl").bootstrapTable("refresh");
}
});
});
});
}
Expand All @@ -113,7 +120,6 @@ function bindRemoveButton() {
$("#delete-confirm-dialog").modal({backdrop: 'static', keyboard: true});
var serverIp = $("#server-ip").text();
var jobName = $(event.currentTarget).attr("job-name");
$("#delete-confirm-dialog").modal({backdrop: 'static', keyboard: true});
$(document).off("click", "#delete-confirm-dialog-confirm-btn");
$(document).on("click", "#delete-confirm-dialog-confirm-btn", function() {
$.ajax({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ function renderServersOverview() {
sortable: "true"
}, {
field: "instancesNum",
title: "实例数",
title: "运行实例数",
sortable: "true"
}, {
field: "jobsNum",
Expand Down Expand Up @@ -45,17 +45,15 @@ function generateOperationButtons(val, row) {
var disableButton = "<button operation='disable-server' class='btn-xs btn-warning' server-ip='" + row.serverIp + "'>禁用</button>";
var enableButton = "<button operation='enable-server' class='btn-xs btn-success' server-ip='" + row.serverIp + "'>启用</button>";
var shutdownButton = "<button operation='shutdown-server' class='btn-xs btn-danger' server-ip='" + row.serverIp + "'>终止</button>";
var removeButton = "<button operation='remove-server' class='btn-xs btn-danger' server-ip='" + row.serverIp + "'>删除</button>";
var operationTd = "";
if (row.disabledJobsNum > 0 && row.jobsNum > 0) {
operationTd = detailButton + "&nbsp;" + enableButton + "&nbsp;";
} else if (row.jobsNum > 0 && row.instancesNum > 0) {
operationTd = detailButton + "&nbsp;" + disableButton + "&nbsp;";
var removeButton = "<button operation='remove-server' class='btn-xs btn-danger' server-ip='" + row.serverIp + "'>清理</button>";
if (row.instancesNum == 0) {
return removeButton;
}
if (row.jobsNum > 0) {
operationTd = operationTd + shutdownButton;
} else {
operationTd = operationTd + removeButton;
var operationTd = "";
if (row.disabledJobsNum > 0) {
operationTd = detailButton + "&nbsp;" + enableButton + "&nbsp;" + shutdownButton;
} else if (row.instancesNum > 0) {
operationTd = detailButton + "&nbsp;" + disableButton + "&nbsp;" + shutdownButton;
}
return operationTd;
}
Expand Down Expand Up @@ -120,7 +118,6 @@ function bindRemoveServerButton() {
$(document).on("click", "button[operation='remove-server']", function(event) {
$("#delete-confirm-dialog").modal({backdrop: 'static', keyboard: true});
var serverIp = $(event.currentTarget).attr("server-ip");
$("#delete-confirm-dialog").modal({backdrop: 'static', keyboard: true});
$(document).off("click", "#delete-confirm-dialog-confirm-btn");
$(document).on("click", "#delete-confirm-dialog-confirm-btn", function() {
$.ajax({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,9 @@ private void disableOrEnableJobs(final Optional<String> jobName, final Optional<
} else if (serverIp.isPresent()) {
List<String> jobNames = regCenter.getChildrenKeys("/");
for (String each : jobNames) {
persistDisabledOrEnabledJob(each, serverIp.get(), disabled);
if (regCenter.isExisted(new JobNodePath(each).getServerNodePath(serverIp.get()))) {
persistDisabledOrEnabledJob(each, serverIp.get(), disabled);
}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,9 @@ public Collection<JobBriefInfo> getJobsBriefInfo(final String ip) {
}

private JobBriefInfo getJobBriefInfoByJobNameAndIp(final String jobName, final String ip) {
if (!regCenter.isExisted(new JobNodePath(jobName).getServerNodePath(ip))) {
return null;
}
JobBriefInfo result = new JobBriefInfo();
result.setJobName(jobName);
result.setStatus(getJobStatusByJobNameAndIp(jobName, ip));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ public void assertDisableWithJobName() {
@Test
public void assertDisableWithServerIp() {
when(regCenter.getChildrenKeys("/")).thenReturn(Arrays.asList("test_job1", "test_job2"));
when(regCenter.isExisted("/test_job1/servers/localhost")).thenReturn(true);
when(regCenter.isExisted("/test_job2/servers/localhost")).thenReturn(true);
jobOperateAPI.disable(Optional.<String>absent(), Optional.of("localhost"));
verify(regCenter).getChildrenKeys("/");
verify(regCenter).persist("/test_job1/servers/localhost", "DISABLED");
Expand All @@ -97,6 +99,8 @@ public void assertEnableWithJobName() {
@Test
public void assertEnableWithServerIp() {
when(regCenter.getChildrenKeys("/")).thenReturn(Arrays.asList("test_job1", "test_job2"));
when(regCenter.isExisted("/test_job1/servers/localhost")).thenReturn(true);
when(regCenter.isExisted("/test_job2/servers/localhost")).thenReturn(true);
jobOperateAPI.enable(Optional.<String>absent(), Optional.of("localhost"));
verify(regCenter).getChildrenKeys("/");
verify(regCenter).persist("/test_job1/servers/localhost", "");
Expand Down

0 comments on commit 7aabb80

Please sign in to comment.