Skip to content
This repository has been archived by the owner on Mar 5, 2020. It is now read-only.

Commit

Permalink
Addition of system information
Browse files Browse the repository at this point in the history
  • Loading branch information
SimpleMethod committed May 28, 2019
1 parent 9d43736 commit 498d437
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,18 @@ public class ContainersController {
public ContainersController() {
}


public String[] systemInformation() {
String[] returnArray;
returnArray = connectionAPI.getSystemInformation();
if (returnArray[0].equals(String.valueOf(200))) {
return returnArray;
} else {
logger.error("[" + returnArray[0] + "] " + returnArray[2]);
return returnArray;
}
}

public String[] containersPing() {
String[] returnArray;
returnArray = connectionAPI.containersPing();
Expand All @@ -37,7 +49,6 @@ public String[] containersPing() {
public String[] containersJson(boolean all, int limit, String filters) throws NullPointerException {
String[] returnArray;
returnArray = connectionAPI.containersJson(all, limit, filters);

if (returnArray[0].equals(String.valueOf(200))) {
return returnArray;
} else {
Expand Down
47 changes: 31 additions & 16 deletions src/main/java/com/simplemethod/dockerparser/ConnectionAPI.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
import org.apache.logging.log4j.Logger;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Service;
Expand Down Expand Up @@ -64,6 +66,7 @@ public String[] containersJson(boolean all, int limit, String filters) {
.queryString("all", all)
.queryString("limit", limit)
.queryString("filters", filters)
.queryString("size",true)
.asJson();
returnArray[0] = String.valueOf(containersResponse.getStatus());
returnArray[1] = containersResponse.getHeaders().toString();
Expand All @@ -75,6 +78,33 @@ public String[] containersJson(boolean all, int limit, String filters) {
}
}

/**
* https://docs.docker.com/engine/api/v1.39/#operation/SystemInfo
*/
public String[] getSystemInformation() {
String[] returnArray = new String[3];
JSONParser parser = new JSONParser();
org.json.JSONObject body = new org.json.JSONObject();
Object obj = null;
try {
HttpResponse<JsonNode> systemInfo = Unirest.get(DOCKER_SOCKET+"/info").asJson();
obj = parser.parse(systemInfo.getBody().toString());
org.json.simple.JSONObject jsonObject = (org.json.simple.JSONObject) obj;
body.put("Containers",jsonObject.get("Containers") );
body.put("ContainersRunning",jsonObject.get("ContainersRunning"));
body.put("ContainersPaused",jsonObject.get("ContainersPaused"));
body.put("ContainersStopped",jsonObject.get("ContainersStopped"));
body.put("Images",jsonObject.get("Images"));
body.put("MemTotal",jsonObject.get("MemTotal"));
returnArray[0] = String.valueOf(systemInfo.getStatus());
returnArray[1] = systemInfo.getHeaders().toString();
returnArray[2] = body.toString();
return returnArray;
} catch ( NullPointerException | ParseException | org.json.JSONException | UnirestException e) {
logger.error("Cannot connect to the server.");
return ReturnErrors();
}
}
/**
* https://docs.docker.com/engine/api/v1.39/#operation/ContainerList
*/
Expand All @@ -89,7 +119,7 @@ public String[] containersIDJson(String id) {
String[] returnArray = new String[3];
try {
HttpResponse<JsonNode> containersResponse = Unirest.get(DOCKER_SOCKET + "/containers/" + id + "/json")
.header("accept", "application/json").header("Content-Type", "application/json").asJson();
.header("accept", "application/json").queryString("size",true).header("Content-Type", "application/json").asJson();
returnArray[0] = String.valueOf(containersResponse.getStatus());
returnArray[1] = containersResponse.getHeaders().toString();
returnArray[2] = containersResponse.getBody().toString();
Expand Down Expand Up @@ -416,19 +446,4 @@ public String[] execStart(String id) {
}
}


public String shouldReturnStatusOkay() {
HttpResponse<JsonNode> japierdole = null;
try {
japierdole = Unirest.get(" http://192.168.1.55:2137/containers/json")
.header("accept", "application/json").header("Content-Type", "application/json")
.queryString("apiKey", "123").asJson();
} catch (Exception e) {
System.out.println(e);
}
System.out.println(japierdole.getStatus());
JSONArray jsonObj = new JSONArray(japierdole.getBody().toString());
System.out.println(jsonObj.getJSONObject(0).getString("Id"));
return japierdole.getBody().toString();
}
}
18 changes: 18 additions & 0 deletions src/main/java/com/simplemethod/srvclient/SrvController.java
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,24 @@ ResponseEntity<String> handleConstraintViolationException(ConstraintViolationExc




@GetMapping(path = "/info")
public @ResponseBody
ResponseEntity<String> systemInformation() {

String[] returnArray = new String[3];
try {

returnArray = containersController.systemInformation();

} catch (NullPointerException e) {

}
HttpHeaders headers = new HttpHeaders();
headers.add("Content-Type", "application/json");
return new ResponseEntity<>(returnArray[2], headers, HttpStatus.valueOf(Integer.valueOf(returnArray[0])));
}

@GetMapping(path = "/_ping")
public @ResponseBody
ResponseEntity<String> containersPing() {
Expand Down

0 comments on commit 498d437

Please sign in to comment.