/
timpson
/
k8_loader_vaadin
Обзор
Документация
Войти
/
timpson
/
k8_loader_vaadin
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main/java/web/kubernetes/controllers/CommonController.java
257 строк
12 KB
root
last changes
14 июл 2022, 18:14
14 июл 2022, 18:14
b655311
Код
Авторство
О чём код?
package web.kubernetes.controllers; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.vaadin.flow.server.VaadinService; import io.kubernetes.client.openapi.models.V1DaemonSet; import io.kubernetes.client.openapi.models.V1Deployment; import io.kubernetes.client.openapi.models.V1StatefulSet; import web.kubernetes.payloads.responses.*; import web.kubernetes.utils.CookieUtils; import web.kubernetes.utils.JsonUtils; import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.util.ArrayList; import java.util.HashMap; public class CommonController<T> { public CommonObjectsResponse<T> getObjectsByNamespace(String namespace, String urlPath, Class<T> clazz) { HttpClient client = HttpClient.newHttpClient(); String authStr = CookieUtils.getAuth(VaadinService.getCurrentRequest()); HttpRequest request = HttpRequest .newBuilder(URI.create(urlPath + "?namespace=" + namespace)) .header("accept", "application/json") .header("Authorization", authStr) .GET().build(); try { HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); int status = response.statusCode(); if (status == 200) { ArrayList<T> list = JsonUtils.parseStrToJsonList(response.body().toString(), clazz); return new CommonObjectsResponse<>(status, "", list); } else if (status == 401) { return new CommonObjectsResponse<T>(status, "Authorization error", null); } else { return new CommonObjectsResponse<T>(status, "Unknown response", null); } } catch (Exception e) { return new CommonObjectsResponse(0, e.getMessage(), null); } } public CommonObjectsResponse<T> getObjectsByObjects(String name, String namespace, String urlPath, Class<T> clazz) { HttpClient client = HttpClient.newHttpClient(); String authStr = CookieUtils.getAuth(VaadinService.getCurrentRequest()); HttpRequest request = HttpRequest .newBuilder(URI.create(urlPath + "?namespace=" + namespace + "&name=" + name)) .header("accept", "application/json") .header("Authorization", authStr) .GET().build(); try { HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); int status = response.statusCode(); if (status == 200) { ArrayList<T> list = JsonUtils.parseStrToJsonList(response.body().toString(), clazz); return new CommonObjectsResponse<>(status, "", list); } else if (status == 401) { return new CommonObjectsResponse<T>(status, "Authorization error", null); } else { return new CommonObjectsResponse<T>(status, "Unknown response", null); } } catch (Exception e) { return new CommonObjectsResponse(0, e.getMessage(), null); } } public CommonObjectsResponse<T> getObjectsByName(String namespace, String name, String urlPath, Class<T> clazz) { HttpClient client = HttpClient.newHttpClient(); String authStr = CookieUtils.getAuth(VaadinService.getCurrentRequest()); HttpRequest request = HttpRequest .newBuilder(URI.create(urlPath + "?namespace=" + namespace + "&name=" + name)) .header("accept", "application/json") .header("Authorization", authStr) .GET().build(); try { HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); int status = response.statusCode(); if (status == 200) { ArrayList<T> list = JsonUtils.parseStrToJsonList(response.body().toString(), clazz); return new CommonObjectsResponse<>(status, "", list); } else if (status == 401) { return new CommonObjectsResponse<T>(status, "Authorization error", null); } else { return new CommonObjectsResponse<T>(status, "Unknown response", null); } } catch (Exception e) { return new CommonObjectsResponse(0, e.getMessage(), null); } } public CommonObjectsResponse<T> getObjects(String urlPath, Class<T> clazz) { HttpClient client = HttpClient.newHttpClient(); String authStr = CookieUtils.getAuth(VaadinService.getCurrentRequest()); HttpRequest request = HttpRequest .newBuilder(URI.create(urlPath)) .header("accept", "application/json") .header("Authorization", authStr) .GET().build(); try { HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); int status = response.statusCode(); if (status == 200) { ArrayList<T> list = JsonUtils.parseStrToJsonList(response.body().toString(), clazz); return new CommonObjectsResponse<>(status, "", list); } else if (status == 401) { return new CommonObjectsResponse<T>(status, "Authorization error", null); } else { return new CommonObjectsResponse<T>(status, "Unknown response", null); } } catch (Exception e) { return new CommonObjectsResponse(0, e.getMessage(), null); } } public CommonObjectResponse<T> getObjectByName(String name, String namespace, String urlPath, Class<T> clazz) { HttpClient client = HttpClient.newHttpClient(); String authStr = CookieUtils.getAuth(VaadinService.getCurrentRequest()); HttpRequest request = HttpRequest .newBuilder(URI.create(urlPath + "?namespace=" + namespace + "&name=" + name)) .header("accept", "application/json") .header("Authorization", authStr) .GET().build(); try { HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); String jsonObject= response.body().toString(); int status = response.statusCode(); if (status == 200) { try { T object = JsonUtils.parseStrToJsonObject(jsonObject, clazz); return new CommonObjectResponse<T>(status, "", object, jsonObject); }catch (Exception e){ return new CommonObjectResponse<T>(500, jsonObject, null, null); } } else if (status == 401) { return new CommonObjectResponse<T>(status, "Authorization error", null); } else { return new CommonObjectResponse<T>(status, "Unknown response", null); } } catch (Exception e) { return new CommonObjectResponse<T>(0, e.getMessage(), null); } } public CommonObjectResponse<T> getObject(String name, String urlPath, Class<T> clazz) { HttpClient client = HttpClient.newHttpClient(); String authStr = CookieUtils.getAuth(VaadinService.getCurrentRequest()); HttpRequest request = HttpRequest .newBuilder(URI.create(urlPath + "?name=" + name)) .header("accept", "application/json") .header("Authorization", authStr) .GET().build(); try { HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); String jsonObject= response.body().toString(); int status = response.statusCode(); if (status == 200) { T object = JsonUtils.parseStrToJsonObject(jsonObject, clazz); return new CommonObjectResponse<T>(status, "", object, jsonObject); } else if (status == 401) { return new CommonObjectResponse<T>(status, "Authorization error", null); } else { return new CommonObjectResponse<T>(status, "Unknown response", null); } } catch (Exception e) { return new CommonObjectResponse<T>(0, e.getMessage(), null); } } public CommonObjectResponse<T> scaleObjectByName(String name, String namespace, int replicas, String urlPath, Class<T> clazz ) { HttpClient client = HttpClient.newHttpClient(); var values = new HashMap<String, String>() {{ put("name", name); put("namespace", namespace); put("replicas", Integer.toString(replicas)); }}; var objectMapper = new ObjectMapper(); String requestBody = null; try { requestBody = objectMapper.writeValueAsString(values); } catch (JsonProcessingException e) { e.printStackTrace(); } String authStr = CookieUtils.getAuth(VaadinService.getCurrentRequest()); HttpRequest request = HttpRequest .newBuilder(URI.create(urlPath)) .header("accept", "*/*") .header("Authorization", authStr) .header("Content-type", "application/json") .POST(HttpRequest.BodyPublishers.ofString(requestBody)).build(); try { HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); String json = response.body().toString(); int status = response.statusCode(); if (status == 200) { T object = JsonUtils.parseStrToJsonObject(json, clazz); return new CommonObjectResponse<T>(status, "", object, json); } else if (status == 401) { return new CommonObjectResponse<T>(status, "Authorization error", null); } else { return new CommonObjectResponse<T>(status, "Unknown response", null); } } catch (Exception e) { return new CommonObjectResponse<T>(0, e.getMessage(), null); } } public CommonDeleteResponse deleteObjectByName(String name, String namespace, String urlPath, Class<T> clazz) { var values = new HashMap<String,String>(){{ put ("name", name); put("namespace", namespace); }}; var objectMapper = new ObjectMapper(); String requestBody = null; try { requestBody = objectMapper.writeValueAsString(values); } catch (JsonProcessingException e) { e.printStackTrace(); } HttpClient client = HttpClient.newHttpClient(); String authStr = CookieUtils.getAuth(VaadinService.getCurrentRequest()); HttpRequest request = HttpRequest .newBuilder(URI.create(urlPath)) .header("accept", "*/*") .header("Authorization", authStr) .header("Content-type","application/json") .POST(HttpRequest.BodyPublishers.ofString(requestBody)).build(); try { HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofString()); String json = response.body().toString(); int status = response.statusCode(); if (status == 200) { boolean result = Boolean.valueOf(json); return new CommonDeleteResponse(status, "", result); } else if (status == 401) { return new CommonDeleteResponse(status, "Authorization error", false); } else { return new CommonDeleteResponse(status, "Unknown response", false); } } catch (Exception e) { return new CommonDeleteResponse(0, e.getMessage(), false); } } }