initial commit

This commit is contained in:
Alexander Karpov 2024-10-15 03:01:27 +03:00
commit 9f53fa9ff3
2651 changed files with 611050 additions and 0 deletions

29
.gitignore vendored Normal file
View File

@ -0,0 +1,29 @@
### IntelliJ IDEA ###
out/
!**/src/main/**/out/
!**/src/test/**/out/
### Eclipse ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/
### Mac OS ###
.DS_Store

51
README.md Normal file
View File

@ -0,0 +1,51 @@
## Лабораторная работа #2
![https://new.akarpov.ru/files/loWvbepFAhFyHrnHkBZx](https://new.akarpov.ru/media/files/sanspie/MwNdh/areas.png)
Вариант 544
Разработать веб-приложение на базе сервлетов и JSP, определяющее попадание точки на координатной плоскости в заданную область.
Приложение должно быть реализовано в соответствии с шаблоном MVC и состоять из следующих элементов:
ControllerServlet, определяющий тип запроса, и, в зависимости от того, содержит ли запрос информацию о координатах точки и радиусе, делегирующий его обработку одному из перечисленных ниже компонентов. Все запросы внутри приложения должны передаваться этому сервлету (по методу GET или POST в зависимости от варианта задания), остальные сервлеты с веб-страниц напрямую вызываться не должны.
AreaCheckServlet, осуществляющий проверку попадания точки в область на координатной плоскости и формирующий HTML-страницу с результатами проверки. Должен обрабатывать все запросы, содержащие сведения о координатах точки и радиусе области.
Страница JSP, формирующая HTML-страницу с веб-формой. Должна обрабатывать все запросы, не содержащие сведений о координатах точки и радиусе области.
Разработанная страница JSP должна содержать:
"Шапку", содержащую ФИО студента, номер группы и номер варианта.
Форму, отправляющую данные на сервер.
Набор полей для задания координат точки и радиуса области в соответствии с вариантом задания.
Сценарий на языке JavaScript, осуществляющий валидацию значений, вводимых пользователем в поля формы.
Интерактивный элемент, содержащий изображение области на координатной плоскости (в соответствии с вариантом задания) и реализующий следующую функциональность:
Если радиус области установлен, клик курсором мыши по изображению должен обрабатываться JavaScript-функцией, определяющей координаты точки, по которой кликнул пользователь и отправляющей полученные координаты на сервер для проверки факта попадания.
В противном случае, после клика по картинке должно выводиться сообщение о невозможности определения координат точки.
После проверки факта попадания точки в область изображение должно быть обновлено с учётом результатов этой проверки (т.е., на нём должна появиться новая точка).
Таблицу с результатами предыдущих проверок. Список результатов должен браться из контекста приложения, HTTP-сессии или Bean-компонента в зависимости от варианта.
Страница, возвращаемая AreaCheckServlet, должна содержать:
Таблицу, содержащую полученные параметры.
Результат вычислений - факт попадания или непопадания точки в область.
Ссылку на страницу с веб-формой для формирования нового запроса.
Разработанное веб-приложение необходимо развернуть на сервере WildFly. Сервер должен быть запущен в standalone-конфигурации, порты должны быть настроены в соответствии с выданным portbase, доступ к http listener'у должен быть открыт для всех IP.
Вопросы к защите лабораторной работы:
Java-сервлеты. Особенности реализации, ключевые методы, преимущества и недостатки относительно CGI и FastCGI.
Контейнеры сервлетов. Жизненный цикл сервлета.
Диспетчеризация запросов в сервлетах. Фильтры сервлетов.
HTTP-сессии - назначение, взаимодействие сервлетов с сессией, способы передачи идентификатора сессии.
Контекст сервлета - назначение, способы взаимодействия сервлетов с контекстом.
JavaServer Pages. Особенности, преимущества и недостатки по сравнению с сервлетами, область применения.
Жизненный цикл JSP.
Структура JSP-страницы. Комментарии, директивы, объявления, скриптлеты и выражения.
Правила записи Java-кода внутри JSP. Стандартные переменные, доступные в скриптлетах и выражениях.
Bean-компоненты и их использование в JSP.
Стандартные теги JSP. Использование Expression Language (EL) в JSP.
Параметры конфигурации JSP в дескрипторе развёртывания веб-приложения.
Шаблоны проектирования и архитектурные шаблоны. Использование в веб-приложениях.
Архитектура веб-приложений. Шаблон MVC. Архитектурные модели Model 1 и Model 2 и их реализация на платформе Java EE.

56
pom.xml Normal file
View File

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Maven POM configuration for the project -->
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ru.akarpov</groupId>
<artifactId>web-2</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>
<name>Lab Web 2</name>
<description>Web application for lab 2</description>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- Servlet API -->
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
<scope>provided</scope>
</dependency>
<!-- JSP API -->
<dependency>
<groupId>jakarta.servlet.jsp</groupId>
<artifactId>jakarta.servlet.jsp-api</artifactId>
<version>3.0.0</version>
<scope>provided</scope>
</dependency>
<!-- JSTL Implementation -->
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jakarta.servlet.jsp.jstl</artifactId>
<version>2.0.0</version>
</dependency>
<!-- Gson for JSON conversion -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
<!-- JUnit for testing -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,102 @@
package ru.akarpov.web2;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.*;
import java.io.IOException;
@WebServlet("/check")
public class AreaCheckServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// For GET method processing
response.sendRedirect(request.getContextPath() + "/index.jsp");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
private void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
long startTime = System.nanoTime();
String[] xValues = request.getParameterValues("x");
String yStr = request.getParameter("y");
String rStr = request.getParameter("r");
double y = 0;
double r = 0;
boolean valid = true;
try {
y = Double.parseDouble(yStr);
r = Double.parseDouble(rStr);
} catch (NumberFormatException e) {
valid = false;
}
if (xValues == null || xValues.length == 0) {
valid = false;
}
if (y < -3 || y > 5) {
valid = false;
}
if (r < 2 || r > 5) {
valid = false;
}
if (!valid) {
request.setAttribute("errorMessage", "Invalid input data");
request.getRequestDispatcher("/index.jsp").forward(request, response);
return;
}
String currentTime = new java.text.SimpleDateFormat("HH:mm:ss").format(new java.util.Date());
long executionTime = (System.nanoTime() - startTime) / 1000000; // in milliseconds
// Get or create the ResultBean
HttpSession session = request.getSession();
ResultBean resultBean = (ResultBean) session.getAttribute("resultBean");
if (resultBean == null) {
resultBean = new ResultBean();
session.setAttribute("resultBean", resultBean);
}
for (String xStr : xValues) {
double x = 0;
try {
x = Double.parseDouble(xStr);
} catch (NumberFormatException e) {
continue;
}
boolean hit = checkHit(x, y, r);
Result result = new Result(x, y, r, hit, currentTime, executionTime);
resultBean.addResult(result);
}
// Forward to result.jsp
request.getRequestDispatcher("/result.jsp").forward(request, response);
}
private boolean checkHit(double x, double y, double r) {
if (x <= 0 && y >= 0 && x >= -r && y <= r / 2) {
// Triangle in +Y -X quadrant
return y <= (x + r) / 2;
} else if (x >= 0 && y >= 0 && x <= r && y <= r) {
// Quarter circle in +Y +X quadrant
return (x * x + y * y) <= r * r;
} else if (x >= 0 && y <= 0 && x <= r && y >= -r / 2) {
// Rectangle in -Y +X quadrant
return true;
}
return false;
}
}

View File

@ -0,0 +1,23 @@
package ru.akarpov.web2;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.*;
import java.io.IOException;
@WebServlet("/clear")
public class ClearServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
session.removeAttribute("resultBean");
response.setStatus(HttpServletResponse.SC_OK);
}
// Ensure that GET requests are also handled
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
}

View File

@ -0,0 +1,36 @@
package ru.akarpov.web2;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.*;
import java.io.IOException;
@WebServlet("/controller")
public class ControllerServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// For GET method processing
response.sendRedirect(request.getContextPath() + "/index.jsp");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
private void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String[] xValues = request.getParameterValues("x");
String y = request.getParameter("y");
String r = request.getParameter("r");
if (xValues != null && y != null && r != null) {
System.out.println("ControllerServlet: Forwarding to /check");
request.getRequestDispatcher("/check").forward(request, response);
} else {
System.out.println("ControllerServlet: Missing parameters, redirecting to index.jsp");
response.sendRedirect(request.getContextPath() + "/index.jsp");
}
}
}

View File

@ -0,0 +1,26 @@
package ru.akarpov.web2;
public class Result {
private double x;
private double y;
private double r;
private boolean hit;
private String currentTime;
private long executionTime;
public Result(double x, double y, double r, boolean hit, String currentTime, long executionTime) {
this.x = x;
this.y = y;
this.r = r;
this.hit = hit;
this.currentTime = currentTime;
this.executionTime = executionTime;
}
public double getX() { return x; }
public double getY() { return y; }
public double getR() { return r; }
public boolean isHit() { return hit; }
public String getCurrentTime() { return currentTime; }
public long getExecutionTime() { return executionTime; }
}

View File

@ -0,0 +1,21 @@
package ru.akarpov.web2;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
public class ResultBean implements Serializable {
private List<Result> results;
public ResultBean() {
results = new ArrayList<>();
}
public List<Result> getResults() {
return results;
}
public void addResult(Result result) {
results.add(result);
}
}

120
src/main/webapp/index.jsp Normal file
View File

@ -0,0 +1,120 @@
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Set" %>
<%@ page import="java.util.HashSet" %>
<%@ page import="ru.akarpov.web2.Result" %>
<%@ page import="ru.akarpov.web2.ResultBean" %>
<%@ page import="com.google.gson.Gson" %>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Лабораторная работа №2</title>
<link rel="stylesheet" href="<%= request.getContextPath() %>/styles.css">
</head>
<body>
<header class="header">
<h1>Лабораторная работа №2</h1>
<p>ФИО студента: Карпов Александр Дмитриевич</p>
<p>Группа: P3213</p>
<p>Вариант: 544</p>
</header>
<div class="container">
<div class="form-container">
<canvas id="canvas" width="300" height="300"></canvas>
<%
ResultBean resultBean = (ResultBean) session.getAttribute("resultBean");
List<Result> results = null;
double lastR = 0;
double lastY = 0;
Set<Double> lastXValues = new HashSet<>();
if (resultBean != null) {
results = resultBean.getResults();
if (results != null && !results.isEmpty()) {
Result lastResult = results.get(results.size() - 1);
lastR = lastResult.getR();
lastY = lastResult.getY();
for (Result res : results) {
if (res.getR() == lastR && res.getY() == lastY) {
lastXValues.add(res.getX());
}
}
}
}
%>
<form id="point-form" action="<%= request.getContextPath() %>/controller" method="get">
<table>
<tr>
<td><label>X:</label></td>
<td>
<% for (int i = -4; i <= 4; i++) { %>
<label>
<input type="checkbox" name="x" value="<%= i %>" <%= lastXValues.contains((double)i) ? "checked" : "" %>><%= i %>
</label>
<% } %>
</td>
</tr>
<tr>
<td><label for="y">Y:</label></td>
<td><input type="text" id="y" name="y" required value="<%= lastY != 0 ? lastY : "" %>"></td>
</tr>
<tr>
<td><label for="r">R:</label></td>
<td><input type="text" id="r" name="r" required value="<%= lastR != 0 ? lastR : "" %>"></td>
</tr>
<tr>
<td colspan="2"><input type="button" value="Check" onclick="submitForm()"></td>
</tr>
</table>
</form>
<button id="clear-button">Очистить все</button>
</div>
<div class="result-container">
<h2>Results</h2>
<table id="results">
<tr>
<th>X</th>
<th>Y</th>
<th>R</th>
<th>Result</th>
<th>Timestamp</th>
<th>Execution Time (ms)</th>
</tr>
<%
if (results != null && !results.isEmpty()) {
for (Result res : results) {
%>
<tr>
<td><%= res.getX() %></td>
<td><%= res.getY() %></td>
<td><%= res.getR() %></td>
<td><%= res.isHit() ? "Попадание" : "Промах" %></td>
<td><%= res.getCurrentTime() %></td>
<td><%= res.getExecutionTime() %></td>
</tr>
<%
}
}
%>
</table>
</div>
</div>
<script>
const results = <%
ResultBean resultBeanJson = (ResultBean) session.getAttribute("resultBean");
if (resultBeanJson != null && resultBeanJson.getResults() != null) {
out.print(new Gson().toJson(resultBeanJson.getResults()));
} else {
out.print("[]");
}
%>;
</script>
<script>
const contextPath = '<%= request.getContextPath() %>';
</script>
<script src="<%= request.getContextPath() %>/script.js"></script>
</body>
</html>

View File

@ -0,0 +1,60 @@
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="java.util.List"%>
<%@ page import="ru.akarpov.web2.Result"%>
<%@ page import="ru.akarpov.web2.ResultBean"%>
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Результаты проверки</title>
<link rel="stylesheet" href="<%= request.getContextPath() %>/styles.css">
</head>
<body>
<h1>Результаты проверки</h1>
<table border="1">
<tr>
<th>X</th>
<th>Y</th>
<th>R</th>
<th>Результат</th>
<th>Время</th>
<th>Время выполнения (мс)</th>
</tr>
<%
// Retrieve the ResultBean from the session
ResultBean resultBean = (ResultBean) session.getAttribute("resultBean");
if (resultBean != null) {
List<Result> results = resultBean.getResults();
if (results != null && !results.isEmpty()) {
// Display all results
for (Result res : results) {
%>
<tr>
<td><%= res.getX() %></td>
<td><%= res.getY() %></td>
<td><%= res.getR() %></td>
<td><%= res.isHit() ? "Попадание" : "Промах" %></td>
<td><%= res.getCurrentTime() %></td>
<td><%= res.getExecutionTime() %></td>
</tr>
<%
}
} else {
%>
<tr>
<td colspan="6">No results found.</td>
</tr>
<%
}
} else {
%>
<tr>
<td colspan="6">No results found.</td>
</tr>
<%
}
%>
</table>
<p><a href="<%= request.getContextPath() %>/controller">Вернуться к форме</a></p>
</body>
</html>

282
src/main/webapp/script.js Normal file
View File

@ -0,0 +1,282 @@
function submitForm() {
console.log('submitForm called');
const xElements = document.getElementsByName('x');
const y = document.getElementById('y').value.trim();
const r = document.getElementById('r').value.trim();
let xSelected = false;
for (let i = 0; i < xElements.length; i++) {
if (xElements[i].checked) {
xSelected = true;
break;
}
}
if (!xSelected) {
alert("Пожалуйста, выберите хотя бы одно значение X.");
return;
}
if (!validateInput(y, r)) {
alert("Некорректные данные для Y или R.");
return;
}
document.getElementById('point-form').submit();
}
function validateInput(y, r) {
const yValue = parseFloat(y.replace(',', '.'));
const rValue = parseFloat(r.replace(',', '.'));
if (isNaN(yValue) || isNaN(rValue)) return false;
if (yValue < -3 || yValue > 5) return false; // Include boundaries
if (rValue < 2 || rValue > 5) return false; // Include boundaries
return true;
}
function drawGraph(r) {
if (isNaN(r) || r < 2 || r > 5) {
r = 2;
}
try {
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
// Ensure the canvas is properly initialized
if (!canvas || !ctx) {
console.error('Canvas or context not found.');
return;
}
const width = canvas.width;
const height = canvas.height;
const centerX = width / 2;
const centerY = height / 2;
const scale = (width / 2 - 40) / r;
// Clear the canvas before drawing
ctx.clearRect(0, 0, width, height);
// Draw the area (shaded region)
ctx.fillStyle = 'rgba(0, 0, 255, 0.3)';
// Triangle (+Y -X quadrant)
ctx.beginPath();
ctx.moveTo(centerX, centerY);
ctx.lineTo(centerX - r * scale, centerY);
ctx.lineTo(centerX, centerY - (r / 2) * scale);
ctx.closePath();
ctx.fill();
// Quarter Circle (+Y +X quadrant)
ctx.beginPath();
ctx.moveTo(centerX, centerY);
ctx.arc(centerX, centerY, r * scale, -Math.PI / 2, 0, false);
ctx.closePath();
ctx.fill();
// Rectangle (-Y +X quadrant)
ctx.fillRect(centerX, centerY, r * scale, (r / 2) * scale);
// Draw axes
ctx.strokeStyle = 'black';
ctx.lineWidth = 1;
ctx.beginPath();
// X-axis
ctx.moveTo(0, centerY);
ctx.lineTo(width, centerY);
// Y-axis
ctx.moveTo(centerX, 0);
ctx.lineTo(centerX, height);
ctx.stroke();
// Draw arrows
ctx.beginPath();
// X-axis arrow
ctx.moveTo(width - 10, centerY - 5);
ctx.lineTo(width, centerY);
ctx.lineTo(width - 10, centerY + 5);
// Y-axis arrow
ctx.moveTo(centerX - 5, 10);
ctx.lineTo(centerX, 0);
ctx.lineTo(centerX + 5, 10);
ctx.stroke();
// Draw labels
ctx.fillStyle = 'black';
ctx.font = '12px Arial';
// Labels for X-axis
ctx.fillText('X', width - 15, centerY - 10);
ctx.fillText('-R', centerX - r * scale - 10, centerY + 15);
ctx.fillText('-R/2', centerX - (r / 2) * scale - 15, centerY + 15);
ctx.fillText('R/2', centerX + (r / 2) * scale - 5, centerY + 15);
ctx.fillText('R', centerX + r * scale - 5, centerY + 15);
// Labels for Y-axis
ctx.fillText('Y', centerX + 10, 15);
ctx.fillText('R', centerX + 5, centerY - r * scale + 5);
ctx.fillText('R/2', centerX + 5, centerY - (r / 2) * scale + 5);
ctx.fillText('-R/2', centerX + 5, centerY + (r / 2) * scale + 5);
ctx.fillText('-R', centerX + 5, centerY + r * scale + 5);
// Draw tick marks
ctx.beginPath();
// X-axis ticks
ctx.moveTo(centerX - r * scale, centerY - 5);
ctx.lineTo(centerX - r * scale, centerY + 5);
ctx.moveTo(centerX - (r / 2) * scale, centerY - 5);
ctx.lineTo(centerX - (r / 2) * scale, centerY + 5);
ctx.moveTo(centerX + (r / 2) * scale, centerY - 5);
ctx.lineTo(centerX + (r / 2) * scale, centerY + 5);
ctx.moveTo(centerX + r * scale, centerY - 5);
ctx.lineTo(centerX + r * scale, centerY + 5);
// Y-axis ticks
ctx.moveTo(centerX - 5, centerY - r * scale);
ctx.lineTo(centerX + 5, centerY - r * scale);
ctx.moveTo(centerX - 5, centerY - (r / 2) * scale);
ctx.lineTo(centerX + 5, centerY - (r / 2) * scale);
ctx.moveTo(centerX - 5, centerY + (r / 2) * scale);
ctx.lineTo(centerX + 5, centerY + (r / 2) * scale);
ctx.moveTo(centerX - 5, centerY + r * scale);
ctx.lineTo(centerX + 5, centerY + r * scale);
ctx.stroke();
} catch (e) {
console.error('Error in drawGraph:', e);
}
}
function drawPoints(results, currentR) {
try {
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
const width = canvas.width;
const height = canvas.height;
const centerX = width / 2;
const centerY = height / 2;
const scale = (width / 2 - 40) / currentR;
results.forEach(result => {
const x = parseFloat(result.x);
const y = parseFloat(result.y);
const pointR = parseFloat(result.r);
const hit = result.hit;
if (pointR === 0) return;
const scaleFactor = scale * (currentR / pointR);
const canvasX = centerX + x * scaleFactor;
const canvasY = centerY - y * scaleFactor;
ctx.beginPath();
ctx.arc(canvasX, canvasY, 3, 0, 2 * Math.PI);
ctx.fillStyle = hit ? 'green' : 'red'; // Green if hit, red if miss
ctx.fill();
});
} catch (e) {
console.error('Error in drawPoints:', e);
}
}
function updateGraph() {
try {
console.log('updateGraph called');
let rInput = document.getElementById('r').value.trim();
if (rInput === '') {
console.log('R is empty, skipping graph update.');
return;
}
let rValue = parseFloat(rInput);
if (isNaN(rValue) || rValue < 2 || rValue > 5) {
console.log('Invalid R value, using default R = 2');
rValue = 2; // Default R value
}
drawGraph(rValue);
if (typeof results !== 'undefined' && results.length > 0) {
drawPoints(results, rValue);
}
} catch (e) {
console.error('Error in updateGraph:', e);
}
}
let debounceTimer;
window.onload = function() {
console.log('window.onload called');
updateGraph();
const canvas = document.getElementById('canvas');
canvas.addEventListener('click', function(event) {
console.log('Canvas clicked');
let rValue = parseFloat(document.getElementById('r').value.trim());
if (isNaN(rValue) || rValue < 2 || rValue > 5) {
alert("Введите корректное значение R перед выбором точки на графике.");
return;
}
const rect = canvas.getBoundingClientRect();
const xClick = event.clientX - rect.left;
const yClick = event.clientY - rect.top;
const width = canvas.width;
const height = canvas.height;
const centerX = width / 2;
const centerY = height / 2;
const scale = (width / 2 - 40) / rValue;
const x = (xClick - centerX) / scale;
const y = (centerY - yClick) / scale;
const xRounded = Math.round(x);
const yRounded = Math.round(y * 1000) / 1000;
const xElements = document.getElementsByName('x');
for (let i = 0; i < xElements.length; i++) {
xElements[i].checked = false;
}
let closestX = Math.max(-4, Math.min(4, xRounded));
for (let i = 0; i < xElements.length; i++) {
if (parseInt(xElements[i].value) === closestX) {
xElements[i].checked = true;
break;
}
}
document.getElementById('y').value = yRounded;
document.getElementById('r').value = rValue;
submitForm();
});
document.getElementById('r').addEventListener('input', function() {
clearTimeout(debounceTimer);
debounceTimer = setTimeout(function() {
console.log('R input changed');
updateGraph();
}, 300);
});
document.getElementById('clear-button').addEventListener('click', function() {
console.log('Clear button clicked');
fetch(contextPath + '/clear', { method: 'POST', credentials: 'include' })
.then(() => {
document.getElementById('results').innerHTML = `
<tr>
<th>X</th>
<th>Y</th>
<th>R</th>
<th>Result</th>
<th>Timestamp</th>
<th>Execution Time (ms)</th>
</tr>`;
results = [];
updateGraph();
});
});
};

View File

@ -0,0 +1,54 @@
body {
font-family: Arial, sans-serif;
background-color: #f0f0f0;
}
.header {
background-color: #333;
color: white;
text-align: center;
padding: 1em;
font-family: cursive;
}
.container {
display: flex;
justify-content: space-around;
margin-top: 2em;
}
.form-container, .result-container {
background-color: white;
padding: 2em;
border-radius: 8px;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
text-align: left;
}
th {
background-color: #f2f2f2;
}
input[type="text"], input[type="button"] {
margin: 10px 0;
padding: 5px;
}
#canvas {
border: 1px solid #000;
margin-bottom: 20px;
}
input[type="radio"] {
margin-right: 10px;
}

View File

@ -0,0 +1,4 @@
appclient.xml
532495c876209d571f74d5a3300d22536f9746a1
logging.properties
f23d8fbead4340131038bf8f07af607f9b73134b

View File

@ -0,0 +1,2 @@
README.md
a503e1f53e876dff2dabbb5e0dfccd4c9b07192f

View File

@ -0,0 +1,6 @@
wildfly-init-debian.sh
fa501ea0a2a20b75eb537c3ba0f56c8be6dbd6a3
wildfly-init-redhat.sh
62b0e3f39cf470646f4ac06a2e9e903f95bb5054
wildfly.conf
c9137d05357cfb2c33feb3b01ae666d254057623

View File

@ -0,0 +1,2 @@
wildfly-service.exe
b62a0082e9780327ff7681b9c05da2d706476e42

View File

@ -0,0 +1,6 @@
service.bat
d849c6b71473cb85d5079cfc5eb2bc6735ed5650
wildfly-mgr.exe
39cd9893df296428257366dce25110f0eff4c07b
wildfly-service.exe
6e4a3a72fb9bd66b6f6755ea3c1fa922a3073453

View File

@ -0,0 +1,8 @@
README
ea7d8cf2c8a88751a1681275d4d7e3191140647d
launch.sh
296ca556f9627ca313528d8e53a400d42241b5e5
wildfly.conf
41f6c8dcfe4fad4aa43f8aed8f1eb78c58ffb71f
wildfly.service
152a4416c489fca0f8b6a4b474fc8f7efd484665

View File

@ -0,0 +1,30 @@
domain-ec2.xml
e96f4a06598c812dae96ae3564aa0b9d9fb7d0fe
standalone-activemq-colocated.xml
5f1570cf40a906228aac7b72ae6516a13b8cb356
standalone-azure-full-ha.xml
016f30a17a8d718917bbd334a2e2020eb2ca280c
standalone-azure-ha.xml
d53551afe579e2b698d1f00bee968c41838b358c
standalone-core-microprofile.xml
5fbd781fee684f74f9d06e9504e087ee117df40d
standalone-core.xml
6e354b6db6b11e5458606da11c85dfe425d48bc7
standalone-ec2-full-ha.xml
68e8eacbcc8fee7ab4a5df643a66980d77e899ee
standalone-ec2-ha.xml
b60e10d467d12b629aaefb323b9da3dab2ea04fe
standalone-genericjms.xml
87b88458623939078129c148d74328cfef6e0cd3
standalone-gossip-full-ha.xml
9d1f0893b328d55a882c277e8be607cd12ff2a83
standalone-gossip-ha.xml
fea615fa07d0914d884af32be1eadb05f5eef35a
standalone-jts.xml
17587b6dece2646dacce5b36fa023b5a2eac324f
standalone-minimalistic.xml
5c218b78a243c0ccd02b0bbce90a946a0981bf8a
standalone-rts.xml
34dc75ebc42e844df9f23be9775d614b1a763b25
standalone-xts.xml
f2861b8fdd8d5654dfdcddc5c6c678deb5e8476a

View File

@ -0,0 +1,2 @@
enable-microprofile.cli
2dd0552bcfc0007fd139808b3fc99fc741f17de1

View File

@ -0,0 +1,56 @@
MIT_CONTRIBUTORS.txt
c40dbd2dbcd064fd5e2e6e48e2c986ed9db9f1f1
apache license 2.0.txt
2b8b815229aa8a61e483fb4ba0588b8b6c491890
bsd 2-clause simplified license.html
257a88e5266e7383d43e66a62b25d14f8e9d5731
bsd 3-clause new or revised license.html
ea037166f736172dfcb91ab34e211b325c787823
common public license 1.0.txt
7cdb9c36e1d419e07f88628cd016c0481796b89e
creative commons attribution 2.5.html
a3f15d06f44729420d7ab2d87ca9bee7cf2820fe
eclipse distribution license, version 1.0.txt
d520e5d0b7b10f2d36f17ba00b7ea38704f3eed7
eclipse public license 1.0.txt
77a188d578cd71a45134542ea192f93064d1ebf1
eclipse public license 2.0.txt
b086d72d0fe9af38418dab524fe76eea3cb1eec3
fsf all permissive license.html
fcf4e258a3d90869c3a2e7fc55154559318b8eb4
gnu general public license v2.0 only, with classpath exception.txt
cef61f92dbf47fb27b16d36a4146ec7df7dced6d
gnu lesser general public license v2.1 only.txt
01a6b4bf79aca9b556822601186afab86e8c4fbf
gnu lesser general public license v2.1 or later.txt
46dee26f31cce329fa13eacb74f8ac5e52723380
gnu lesser general public license v3.0 only.txt
e7d563f52bf5295e6dba1d67ac23e9f6a160fab9
gnu lesser general public license v3.0 or later.txt
e7d563f52bf5295e6dba1d67ac23e9f6a160fab9
gnu library general public license v2 only.txt
44f7289042b71631acac29b2f143330d2da2479e
indiana university extreme lab software license 1.1.1.html
451bc145d38a999eab098ca1e10ef74a5db08654
licenses.css
b4bdad965c7c9487b8390ea9d910df591b62a680
licenses.html
cb41c851cf6d7c9ec4a074d67059f48aa8942d5c
licenses.xml
7cfe1231224cc32de446afdd5fb768b8f791fae4
licenses.xsl
bdf6fbb28dce0e2eed2a2bf1a3e4e030f03536b2
mit license.txt
19eff4fc59155a9343582148816eeb9ffb244279
mit-0.html
50ac12745b7d3674089f3dc1cf326ee0365ef249
mozilla public license 2.0.html
c541f06ec7085d6074c6599f38b11ae4a2a31050
wildfly-ee-feature-pack-licenses.html
f2d63b2af07dc5331748a92ffb7e136c6eedb829
wildfly-ee-feature-pack-licenses.xml
1b5777ba1ae36633ad89d9111eae0d6775e0cb5e
wildfly-feature-pack-licenses.html
2942724a34de6587b489a4893efb6bb89e972aae
wildfly-feature-pack-licenses.xml
51966be64e342f872f2e8c7b06b12ece79bc544e

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,20 @@
application-roles.properties
2339b5b3b5544b9a54b2a17a077a43277f4becac
application-users.properties
0cdb9ca548eca6503a3cb0e4c7ce80f5336a1c82
default-server-logging.properties
f79da20ce3f13ecf153f75c77bf9d9cb7870509d
domain.xml
daaecccdabe0ae4bd03815b2bbae7f922803efb9
host-primary.xml
925039b4ddb39e39840e77ae069ca505c93392d4
host-secondary.xml
a1e167d1161fa1dac7793729144d850514726e9f
host.xml
730c4b5bac2ef744b0127ac57df7e526c5e1ab17
logging.properties
1138aa7e1af0a0a93f0dc8754773b19dcbc7a68e
mgmt-groups.properties
8a5ca3eeb904c2b6f2bc60f12e7cefed4b5d09b0
mgmt-users.properties
b79a69eb57c60d16a626e20256c7531e2e22fe21

View File

@ -0,0 +1,8 @@
LICENSE.txt
58853eb8199b5afe72a73a25fd8cf8c94285174b
README.txt
4e02800d2609dc82e957cfcf5eae12eeb1120349
copyright.txt
165a59628b050f2faa2477a2a62a92aa024ca1e3
jboss-modules.jar
ad33a0ca75c8189ebbfd8eedbb489a1453b96dea

View File

@ -0,0 +1,6 @@
asm-9.7.jar
073d7b3086e14beb604ced229c302feff6449723
asm-util-9.7.jar
c0655519f24d92af2202cb681cd7c1569df6ead6
module.xml
2fdd92766986752fe05bf9e499a5b89fbfed4b5a

View File

@ -0,0 +1,4 @@
hppc-0.8.1.jar
ffc7ba8f289428b9508ab484b8001dea944ae603
module.xml
7ff9b09d68ddb811bca586f99c7e4895fc11cc99

View File

@ -0,0 +1,4 @@
classmate-1.5.1.jar
3fe0bed568c62df5e89f4f174c101eab25345b6c
module.xml
2c2407d2d12a8b2cd853b25ca0592659cf961c23

View File

@ -0,0 +1,4 @@
jackson-annotations-2.17.0.jar
880a742337010da4c851f843d8cac150e22dff9f
module.xml
e4a8dbea35ecf4bdb108eefc4f7a5fefc2bd8ad0

View File

@ -0,0 +1,4 @@
jackson-core-2.17.0.jar
a6e5058ef9720623c517252d17162f845306ff3a
module.xml
68cdc0d521772e10b6bd0ed00f8e9d5d1a8fa58c

View File

@ -0,0 +1,4 @@
jackson-databind-2.17.0.jar
7173e9e1d4bc6d7ca03bc4eeedcd548b8b580b34
module.xml
afae2e2a7304f640bd4c77db1e7013cb48e6fbce

View File

@ -0,0 +1,4 @@
jackson-dataformat-yaml-2.17.0.jar
57a963c6258c49febc11390082d8503f71bb15a9
module.xml
43440d6ca1b0a4d926a413a73f59c4adae389922

View File

@ -0,0 +1,4 @@
jackson-datatype-jdk8-2.17.0.jar
95519a116d909faec29da76cf6b944b4a84c2c26
module.xml
4f672ef5b562b6de8be01280e228d87f3cdab036

View File

@ -0,0 +1,4 @@
jackson-datatype-jsr310-2.17.0.jar
3fab507bba9d477e52ed2302dc3ddbd23cbae339
module.xml
f3e236cbeb6c19474f74c1798dd38dbc66b7a4a6

View File

@ -0,0 +1,8 @@
jackson-jakarta-rs-base-2.17.0.jar
191c316a3951956fb982b7965cea7e142d9fb87e
jackson-jakarta-rs-json-provider-2.17.0.jar
2f86fc40907f018a45c4d5dd2a5ba43b526fa0cb
jackson-module-jakarta-xmlbind-annotations-2.17.0.jar
0e652f73b9c3d897b51336d9e17c2267bb716917
module.xml
68d13970e8c3a97f5e048798554507fd12b72081

View File

@ -0,0 +1,2 @@
module.xml
09257ddbe3ca160f3ccae184177749efb82a72ce

View File

@ -0,0 +1,4 @@
caffeine-3.1.8.jar
24795585df8afaf70a2cd534786904ea5889c047
module.xml
b5d5c01752d3997d117ec900faa1f167a9b1c285

View File

@ -0,0 +1,4 @@
btf-1.2.jar
9e66651022eb86301b348d57e6f59459effc343b
module.xml
25ed39b0eb6131b1b16f5ad02344a2c4a6bce80c

View File

@ -0,0 +1,4 @@
jackson-coreutils-1.8.jar
491a6e1130a180c153df9f2b7aabd7a700282c67
module.xml
edd282e5b4a283be2818d75ca8d9f12147a5f241

View File

@ -0,0 +1,4 @@
json-patch-1.9.jar
0a4c3c97a0f5965dec15795acf40d3fbc897af4b
module.xml
d617d8be6e99f49dbf75754fb3b4568b38237e6b

View File

@ -0,0 +1,4 @@
module.xml
55470daae6c253ebf9e114335255bd209e7a4c1e
msg-simple-1.1.jar
f261263e13dd4cfa93cc6b83f1f58f619097a2c4

View File

@ -0,0 +1,4 @@
module.xml
d614911cd191a7d479ffa4ac976e043eb963a02e
zstd-jni-1.5.6-5.jar
6b0abf5f2e68df5ffac02cba09fc2d84f7ebd631

View File

@ -0,0 +1,4 @@
gson-2.8.9.jar
8a432c1d6825781e21a02db2e2c33c5fde2833b9
module.xml
e9fece80c079e4436e45267429813501f4852b2d

View File

@ -0,0 +1,4 @@
failureaccess-1.0.2.jar
c4a06a64e650562f30b7bf9aaec1bfed43aca12b
module.xml
7d7ad1fd8299119798c90c5915e4993f56711804

View File

@ -0,0 +1,4 @@
guava-33.0.0-jre.jar
161ba27964a62f241533807a46b8711b13c1d94b
module.xml
5b9a85ab34e0fe19c3a3b31f4954ae40db2b600f

View File

@ -0,0 +1,10 @@
module.xml
eca834efdc39015b90e7129b01d7b1fa6ba5d064
perfmark-api-0.23.0.jar
0b813b7539fae6550541da8caafd6add86d4e22f
proto-google-common-protos-2.0.1.jar
20827628ea2b9f69ae22987b2aedb0050e9c470d
protobuf-java-3.25.5.jar
5ae5c9ec39930ae9b5a61b32b93288818ec05ec1
protobuf-java-util-3.25.5.jar
38cc5ce479603e36466feda2a9f1dfdb2210ef00

View File

@ -0,0 +1,4 @@
JavaEWAH-1.2.3.jar
13a27c856e0c8808cee9a64032c58eee11c3adc9
module.xml
cbc42f2e507993437ba185fdd71dd24fc070c32d

View File

@ -0,0 +1,4 @@
h2-2.2.224.jar
7bdade27d8cd197d9b5ce9dc251f41d2edc5f7ad
module.xml
8f9bda63c7655da79d2d54a359bcadc474b66143

View File

@ -0,0 +1,4 @@
asyncutil-0.1.0.jar
440941c382166029a299602e6c9ff5abde1b5143
module.xml
4a7d1e02072bbab6c935aa93fc915c26b7c5feae

View File

@ -0,0 +1,4 @@
azure-storage-8.6.6.jar
49d84b103a4700134ce56d73b4195f18fd226729
module.xml
0c37ed43810e653e80519241466019e2ee2d8f82

View File

@ -0,0 +1,4 @@
module.xml
0d381cde567d8896a94fe44993a10758ed433b49
nimbus-jose-jwt-9.37.3.jar
700f71ffefd60c16bd8ce711a956967ea9071cec

View File

@ -0,0 +1,4 @@
module.xml
29f238d58ebc8744f45165df41858bf9c0ca4782
protoparser-4.0.3.jar
e61ee0b108059d97f43143eb2ee7a1be8059a30e

View File

@ -0,0 +1,2 @@
module.xml
863fd9eefeafd585ab00c7c1d91a8b16c82f7ab9

View File

@ -0,0 +1,4 @@
FastInfoset-2.1.1.jar
650c84348bbcf4461bd24d38e67f7a7ce687de24
module.xml
a18a415193ecb4584702dba76cff75e83b457330

View File

@ -0,0 +1,6 @@
module.xml
4036fdadd18b5ac952d374077e9e8c43ae7deba9
saaj-impl-3.0.0.jar
592e76b886471149217e4090b02e3d36fd702777
stax-ex-2.1.0.jar
33160568d70c01da407f8ba982bacf283d00ad4a

View File

@ -0,0 +1,4 @@
module.xml
c62ca7298e8392d9d3e0405e6ee250e523cb3ac3
pem-keystore-2.4.0.jar
a4ba3c7b740b9dada642e1b219d537bafd8c237c

View File

@ -0,0 +1,4 @@
java-getopt-1.0.13.jar
bb29ac2c2ab8b92945f01706de4b56c97989c6a9
module.xml
5b1ec5d7710dff2dbc3beceda959bcc47ddbec8e

View File

@ -0,0 +1,2 @@
module.xml
7f680a09778318f400ff51232088d954c87c4c6f

View File

@ -0,0 +1,4 @@
jakarta.json-1.1.6.jar
a39aba0ef0a70c3f54a44a2c539a4f11c9bb07e8
module.xml
2abfebbc96fe44e75ccc1d75cb3e3ecd7ba206a2

View File

@ -0,0 +1,8 @@
agroal-api-2.0.jar
9fd418b07a6563b68034688ca7dce74f5b83d233
agroal-narayana-2.0.jar
38261488606baf55ea34b71ce14918ea7a5dac88
agroal-pool-2.0.jar
a299e789a67d04dca63afe03a1778db184c32962
module.xml
9b810fce6660bd1ab7c730f86721e23229dac58e

View File

@ -0,0 +1,4 @@
grpc-api-1.58.0.jar
1f761949cdfd418a5f662e0d22d2c95f60099c0b
module.xml
70fcff9cd43b97454103ad68cadaa7837f826861

View File

@ -0,0 +1,8 @@
micrometer-commons-1.12.4.jar
a57f10c78956b38087f97beae66cf14cb8b08d34
micrometer-core-1.12.4.jar
d5b91e2847de7c1213889c532789743eb2f96337
micrometer-registry-otlp-1.12.4.jar
9aa2c330c53bb34994474ea7e4af2ea4bde00071
module.xml
a70e6656b7cf14699801149b23974bfe91e16861

View File

@ -0,0 +1,4 @@
module.xml
925e1b23b45dd66458558cef75bdae902ea4fe13
netty-buffer-4.1.112.Final.jar
bdc12df04bb6858890b8aa108060b5b365a26102

View File

@ -0,0 +1,4 @@
module.xml
e59675e52c0c00b202387e7b6fb4dfa176f0f0a3
netty-codec-dns-4.1.112.Final.jar
06724b184ee870ecc4d8fc36931beeb3c387b0ee

View File

@ -0,0 +1,4 @@
module.xml
cd1a7e08b5553c3db9337136a723b8c43a481d25
netty-codec-http-4.1.112.Final.jar
81af1040bfa977f98dd0e1bd9639513ea862ca04

View File

@ -0,0 +1,4 @@
module.xml
bc195e36f7b6f0602bd7a334709399f7320b1fb7
netty-codec-http2-4.1.112.Final.jar
7fa28b510f0f16f4d5d7188b86bef59e048f62f9

View File

@ -0,0 +1,4 @@
module.xml
1cebdee3eb95c6ca79cf9b9ce3271f6318acc807
netty-codec-socks-4.1.112.Final.jar
9aed7e78c467d06a47a45b5b27466380a6427e2f

View File

@ -0,0 +1,4 @@
module.xml
e90cb28d30b63ea5fdd53e0f9fe8754014de2808
netty-codec-4.1.112.Final.jar
c87f2ec3d9a97bd2b793d16817abb2bab93a7fc3

View File

@ -0,0 +1,4 @@
module.xml
ad45835c0c9fae924beafbef4ffebaacbf8e142d
netty-common-4.1.112.Final.jar
b2798069092a981a832b7510d0462ee9efb7a80e

View File

@ -0,0 +1,4 @@
module.xml
2c4b2b0499cd6b2e17cd4ba88eb1fe907a9e4f3f
netty-handler-proxy-4.1.112.Final.jar
b23c87a85451b3b0e7c3e8e89698cea6831a8418

View File

@ -0,0 +1,4 @@
module.xml
d0527c530e1a3f31681c8696a5e59bb3bdfb4e23
netty-handler-4.1.112.Final.jar
3d5e2d5bcc6baeeb8c13a230980c6132a778e036

View File

@ -0,0 +1,4 @@
module.xml
d6cb4a71e47f9f14b34d452f602a203fe2fbea4f
netty-resolver-dns-4.1.112.Final.jar
375872f1c16bb51aac016ff6ee4f5d28b1288d4d

View File

@ -0,0 +1,4 @@
module.xml
0a32d197a9185d7b58033a081a9eeb9793c1579f
netty-resolver-4.1.112.Final.jar
58a631d9d44c4ed7cc0dcc9cffa6641da9374d72

View File

@ -0,0 +1,4 @@
module.xml
863e4219a1dfc002dcf1994b6cd2f769c19cb9ea
netty-transport-classes-epoll-4.1.112.Final.jar
67e590356eb53c20aaabd67f61ae66f628e62e3d

View File

@ -0,0 +1,4 @@
libnetty_transport_native_epoll_aarch_64.so
d91245bbfc0a28956ac3ff4462e6538258d61549
libnetty_transport_native_epoll_x86_64.so
ac0a9a606bad55960a9eee49abb0c3e5d6f9b6ec

View File

@ -0,0 +1,4 @@
module.xml
4dc70a8a40c219dcf7e13578fd0a43f2bc9ede16
netty-transport-classes-kqueue-4.1.112.Final.jar
c3dffba44e055e3b26df6ab0373a95cc869aa1a5

View File

@ -0,0 +1,4 @@
libnetty_transport_native_kqueue_aarch_64.jnilib
b516398cee63916f2ae9f6a3466c8cd294dfa057
libnetty_transport_native_kqueue_x86_64.jnilib
41324ce328616888f599b871e34a4682b6dae7c4

View File

@ -0,0 +1,10 @@
module.xml
f2abb9553117379fa9b2c31f4ada68f1bcb266a0
netty-transport-native-unix-common-4.1.112.Final-linux-aarch_64.jar
40af10f2e9d2f880fa0483aba72fe1dcc9cae7c1
netty-transport-native-unix-common-4.1.112.Final-linux-x86_64.jar
ac9a4b5356bc670876b8b4f6168cdcd36e754c97
netty-transport-native-unix-common-4.1.112.Final-osx-aarch_64.jar
5e0581a5c6fa67fe60de9aced9cb1e7f72760a3f
netty-transport-native-unix-common-4.1.112.Final-osx-x86_64.jar
f0f3d7fb98730167563f46ed3a28de350020ade1

View File

@ -0,0 +1,4 @@
module.xml
0fc10d2d691968f00f250fee76a68990c8731705
netty-transport-4.1.112.Final.jar
77cd136dd3843f5e7cbcf68c824975d745c49ddb

View File

@ -0,0 +1,4 @@
module.xml
b72dd90eba7b4b30a1b6300e38586291d964b9e5
opentelemetry-api-events-1.29.0-alpha.jar
cdc6b637c6374d4ae4be5cad381f6a566fb4310e

View File

@ -0,0 +1,4 @@
module.xml
5ae30518f673e863225d06b9f09e02b59e999f7a
opentelemetry-api-1.29.0.jar
45010687a1181dc886fd12403e48cf76e94c65b1

View File

@ -0,0 +1,4 @@
module.xml
e10b8c675381e92b7420d16a33ee4ec582a66a61
opentelemetry-context-1.29.0.jar
a4cf6857f268b9637ea330fffc70c1e6421d1d55

View File

@ -0,0 +1,6 @@
jackson-jr-objects-2.17.0.jar
6cb65146f087913a83c45b6ac545a14abab87f5d
module.xml
af28c92284c884561f7af1c551cca1d79346e21c
opentelemetry-exporter-common-1.29.0.jar
7fa947205c2e85383c5b24139325f36a9e474067

View File

@ -0,0 +1,6 @@
module.xml
d66d51ec88bc115ef02e7b89624373fc41b9cf88
opentelemetry-instrumentation-annotations-1.29.0.jar
6edb53b63c1f46226225eb133fc07d260e1e17e8
opentelemetry-instrumentation-annotations-support-1.29.0-alpha.jar
73caf0c51d7ef8020b247b6e412cd7558a2c9669

View File

@ -0,0 +1,6 @@
module.xml
12eadfa399dd92c79c2fb402fca9614f48f71c44
opentelemetry-instrumentation-api-1.29.0.jar
3b556416c538d67851a93f4504fff927a6d4e259
opentelemetry-instrumentation-api-semconv-1.29.0-alpha.jar
8535f5de435a6fd30022ff7ab5aefabadd39fa6d

View File

@ -0,0 +1,6 @@
module.xml
c9d82787b8d2ceabe922cdfa51fbbca1b056c1a4
opentelemetry-exporter-otlp-1.29.0.jar
471956f2773b5409355a09da6ef4cb8976c82db2
opentelemetry-exporter-otlp-common-1.29.0.jar
992edd4ba5d473abcd6b4ca126f11149b2bdba0c

View File

@ -0,0 +1,4 @@
module.xml
a19996c9d304145ff01fc6990002248660855fc1
opentelemetry-proto-0.20.0-alpha.jar
08771bb034e6a5bdb54f665015dd70989f3af1dd

View File

@ -0,0 +1,16 @@
module.xml
844e4bba65c9dd94701d30bd02ffbc652459582c
opentelemetry-sdk-1.29.0.jar
5d3a0e83ab6a2849c5b4123d539f994a721ddcd5
opentelemetry-sdk-common-1.29.0.jar
a4a84b83c226c91a54bd0e9244d49908875cea3a
opentelemetry-sdk-extension-autoconfigure-1.29.0.jar
36bd08550cbdcc4f58a4949e0f97f97443220a2d
opentelemetry-sdk-extension-autoconfigure-spi-1.29.0.jar
b810dedc1fc8b28892eca5fa945e1c82cb95be4f
opentelemetry-sdk-logs-1.29.0.jar
68151d4465c12183db8edc4f9d8f0a878bada16b
opentelemetry-sdk-metrics-1.29.0.jar
6bb59616f1180286bc2ccf40e34d636984581ba9
opentelemetry-sdk-trace-1.29.0.jar
1008bf3794f6fc10238b1f63d0546ae817ad1783

View File

@ -0,0 +1,4 @@
module.xml
4e5edb8b00f2b4c37507095bc1e27e7c441eb96b
opentelemetry-semconv-1.29.0-alpha.jar
8ee51f51d9c1c959b537c8dba67d7a524204b974

View File

@ -0,0 +1,4 @@
module.xml
419aba5903f8f4bd9fe8c0d6058b0eefa09acc52
rxjava-2.2.21.jar
6f13f24c44567fc660aab94d639cda9f0fe95628

View File

@ -0,0 +1,4 @@
module.xml
acbfff5ca0bb8621e85525b180c2d8350625f4ef
rxjava-3.1.9.jar
48e7bf08885ac9b539cd0632a4cb0cdbc119d7cd

View File

@ -0,0 +1,4 @@
module.xml
df62c8cf2d8994ea6d785bd6402eabba6cd31a4c
smallrye-common-annotation-2.5.0.jar
54575b7610b6b189ef7c37f0f6168c87b25d21b7

View File

@ -0,0 +1,4 @@
module.xml
9fdb2784d97e1aa8b53575ee27baf3aac094a092
smallrye-common-classloader-2.5.0.jar
78b0875cf23df5484abf936bf4f7b88b818a6cb1

View File

@ -0,0 +1,4 @@
module.xml
c0517e0d53f41de17600852ada2b3f16516749b3
smallrye-common-constraint-2.5.0.jar
9f4db695157c32d3e2f57e839e6ee26c62ffb0c5

View File

@ -0,0 +1,4 @@
module.xml
0d6620464c806375a51128510b3f22801fea4e30
smallrye-common-expression-2.5.0.jar
642efea7327a3a629be98b91d64cf0460379a0de

View File

@ -0,0 +1,4 @@
module.xml
08924090aae6bc1a39b1a97a6ddef8dca72a6281
smallrye-common-function-2.5.0.jar
2446bbfb678b8714773c63a8817029f4e10d710d

View File

@ -0,0 +1,4 @@
module.xml
3de044dcb13eefee2a7f2391f271c9414a3d389c
smallrye-common-vertx-context-2.5.0.jar
80bcc663ff7bfd0a836ec2d5a51e450b1431480b

View File

@ -0,0 +1,10 @@
module.xml
2671ffa5db8aaa296864f7a45f6a7d9529aa0c3e
smallrye-config-3.9.1.jar
db69e3239e5a75d6928d86400e2afb751a3acbbd
smallrye-config-common-3.9.1.jar
de6d57980444f662c42c2c39e8f9186c445560fb
smallrye-config-core-3.9.1.jar
b2343758437289cd9d7ffb5401b8526378bf8e73
smallrye-config-source-file-system-3.9.1.jar
cf4652740e690ad3556aed0bd03a1e9c92d5a7dc

View File

@ -0,0 +1,10 @@
module.xml
fd273b82ac66aaf34d865a2de6d46ef12e08b84d
smallrye-fault-tolerance-6.4.0.jar
0662eecac1bae3c4f6ee901a21381478625f5c50
smallrye-fault-tolerance-api-6.4.0.jar
b2bdc0f633a1204c1ea8a5b80f1182b7172c2bc3
smallrye-fault-tolerance-autoconfig-core-6.4.0.jar
472db528556bf83bad4a2174e06582c25188c7be
smallrye-fault-tolerance-core-6.4.0.jar
a2bc5aee3ec05844361fc82f767e2d73d5340839

View File

@ -0,0 +1,4 @@
module.xml
68b20823132b0a2ce1dedfb6aca4f39826c8ce72
smallrye-health-4.0.4.jar
58314c5b3234c68ec3b7a218adc8f620648036b5

View File

@ -0,0 +1,4 @@
jandex-3.2.2.jar
fc728e126caef7ce1f83872758c07e98b465e2c1
module.xml
fa16560ba2e5b936f0fdd7ffc2b6da769dc27476

Some files were not shown because too many files have changed in this diff Show More