chore(assets): Upload report assets
Some checks failed
Polyglot CI / tests (push) Has been cancelled

This commit is contained in:
js0ny 2026-01-22 12:36:30 +00:00
parent f013955bc2
commit 32cd6bcb21
119 changed files with 4531 additions and 1 deletions

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,114 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>ApiController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">ilp-coursework</a> &gt; <a href="index.source.html" class="el_package">io.github.js0ny.ilp_coursework.controller</a> &gt; <span class="el_source">ApiController.java</span></div><h1>ApiController.java</h1><pre class="source lang-java linenums">package io.github.js0ny.ilp_coursework.controller;
import io.github.js0ny.ilp_coursework.data.common.Angle;
import io.github.js0ny.ilp_coursework.data.common.LngLat;
import io.github.js0ny.ilp_coursework.data.common.Region;
import io.github.js0ny.ilp_coursework.data.request.DistanceRequest;
import io.github.js0ny.ilp_coursework.data.request.MovementRequest;
import io.github.js0ny.ilp_coursework.data.request.RegionCheckRequest;
import io.github.js0ny.ilp_coursework.service.GpsCalculationService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Main REST Controller for the ILP Coursework 1 application.
*
* &lt;p&gt;This class handles incoming HTTP requests for the API under {@code /api/v1} path (defined in
* CW1) This is responsible for mapping requests to the appropriate service method and returning the
* results as responses. The business logic is delegated to {@link GpsCalculationService}
*/
@RestController
@RequestMapping(&quot;/api/v1&quot;)
public class ApiController {
<span class="fc" id="L30"> private static final Logger log = LoggerFactory.getLogger(ApiController.class);</span>
private final GpsCalculationService gpsService;
/**
* Constructor of the {@code ApiController} with the business logic dependency {@code
* GpsCalculationService}
*
* @param gpsService The service component that contains all business logic, injected by
* Spring's DI.
*/
<span class="fc" id="L41"> public ApiController(GpsCalculationService gpsService) {</span>
<span class="fc" id="L42"> this.gpsService = gpsService;</span>
<span class="fc" id="L43"> }</span>
/**
* Handles GET requests to retrieve the student's Unique ID
*
* @return A string representing the student ID starting with s
*/
@GetMapping(&quot;/uid&quot;)
public String getUid() {
<span class="fc" id="L52"> log.info(&quot;GET /api/v1/uid&quot;);</span>
<span class="fc" id="L53"> return &quot;s2522255&quot;;</span>
}
/**
* Handles POST requests to get the distance between two positions
*
* @param request A {@link DistanceRequest} containing the two coordinates
* @return A {@code double} representing the calculated distance
*/
@PostMapping(&quot;/distanceTo&quot;)
public double getDistance(@RequestBody DistanceRequest request) {
<span class="fc" id="L64"> LngLat position1 = request.position1();</span>
<span class="fc" id="L65"> LngLat position2 = request.position2();</span>
<span class="fc" id="L66"> log.info(&quot;POST /api/v1/distanceTo position1={} position2={}&quot;, position1, position2);</span>
<span class="fc" id="L67"> return gpsService.calculateDistance(position1, position2);</span>
}
/**
* Handles POST requests to check if the two coordinates are close to each other
*
* @param request A {@link DistanceRequest} containing the two coordinates
* @return {@code true} if the distance is less than the predefined threshold, {@code false}
* otherwise
*/
@PostMapping(&quot;/isCloseTo&quot;)
public boolean getIsCloseTo(@RequestBody DistanceRequest request) {
<span class="fc" id="L79"> LngLat position1 = request.position1();</span>
<span class="fc" id="L80"> LngLat position2 = request.position2();</span>
<span class="fc" id="L81"> log.info(&quot;POST /api/v1/isCloseTo position1={} position2={}&quot;, position1, position2);</span>
<span class="fc" id="L82"> return gpsService.isCloseTo(position1, position2);</span>
}
/**
* Handles POST requests to get the next position after an angle of movement
*
* @param request A {@link MovementRequest} containing the start coordinate and angle of the
* movement.
* @return A {@link LngLat} representing the destination
*/
@PostMapping(&quot;/nextPosition&quot;)
public LngLat getNextPosition(@RequestBody MovementRequest request) {
<span class="fc" id="L94"> LngLat start = request.start();</span>
<span class="fc" id="L95"> Angle angle = new Angle(request.angle());</span>
<span class="fc" id="L96"> log.info(&quot;POST /api/v1/nextPosition start={} angle={}&quot;, start, angle);</span>
<span class="fc" id="L97"> return gpsService.nextPosition(start, angle);</span>
}
/**
* Handles POST requests to check if a point is inside a given region
*
* @param request A {@link RegionCheckRequest} containing the coordinate and the region
* @return {@code true} if the coordinate is inside the region, {@code false} otherwise
*/
@PostMapping(&quot;/isInRegion&quot;)
public boolean getIsInRegion(@RequestBody RegionCheckRequest request) {
<span class="fc" id="L108"> LngLat position = request.position();</span>
<span class="fc" id="L109"> Region region = request.region();</span>
<span class="fc" id="L110"> log.info(&quot;POST /api/v1/isInRegion position={} region={}&quot;, position, region);</span>
<span class="fc" id="L111"> return gpsService.checkIsInRegion(position, region);</span>
}
}
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,128 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>DroneController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">ilp-coursework</a> &gt; <a href="index.source.html" class="el_package">io.github.js0ny.ilp_coursework.controller</a> &gt; <span class="el_source">DroneController.java</span></div><h1>DroneController.java</h1><pre class="source lang-java linenums">package io.github.js0ny.ilp_coursework.controller;
import io.github.js0ny.ilp_coursework.data.external.Drone;
import io.github.js0ny.ilp_coursework.data.request.AttrQueryRequest;
import io.github.js0ny.ilp_coursework.data.request.MedDispatchRecRequest;
import io.github.js0ny.ilp_coursework.data.response.DeliveryPathResponse;
import io.github.js0ny.ilp_coursework.service.DroneAttrComparatorService;
import io.github.js0ny.ilp_coursework.service.DroneInfoService;
import io.github.js0ny.ilp_coursework.service.PathFinderService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* Main Rest Controller for the ILP Coursework 2 application.
*
* &lt;p&gt;This class handles incoming HTTP requests for the API under {@code /api/v1} path (defined in
* CW2) The business logic is delegated to {@link DroneInfoService}
*/
@RestController
@RequestMapping(&quot;/api/v1&quot;)
public class DroneController {
<span class="fc" id="L28"> private static final Logger log = LoggerFactory.getLogger(DroneController.class);</span>
private final DroneInfoService droneInfoService;
private final DroneAttrComparatorService droneAttrComparatorService;
private final PathFinderService pathFinderService;
/**
* Constructor of the {@code DroneController} with the business logic dependency {@code
* DroneInfoService}
*
* &lt;p&gt;We handle the {@code baseUrl} here. Use a predefined URL if the environment variable
* {@code ILP_ENDPOINT} is not given.
*
* @param droneService The service component that contains all business logic
*/
public DroneController(
DroneInfoService droneService,
DroneAttrComparatorService droneAttrComparatorService,
<span class="fc" id="L46"> PathFinderService pathFinderService) {</span>
<span class="fc" id="L47"> this.droneInfoService = droneService;</span>
<span class="fc" id="L48"> this.droneAttrComparatorService = droneAttrComparatorService;</span>
<span class="fc" id="L49"> this.pathFinderService = pathFinderService;</span>
<span class="fc" id="L50"> }</span>
/**
* Handles GET requests to retrieve an array of drones (identified by id) that has the
* capability of cooling
*
* @param state The path variable that indicates the return should have or not have the
* capability
* @return An array of drone id with cooling capability.
*/
@GetMapping(&quot;/dronesWithCooling/{state}&quot;)
public List&lt;String&gt; getDronesWithCoolingCapability(@PathVariable boolean state) {
<span class="fc" id="L62"> log.info(&quot;GET /api/v1/dronesWithCooling/{}&quot;, state);</span>
<span class="fc" id="L63"> return droneInfoService.dronesWithCooling(state);</span>
}
/**
* Handles GET requests to retrieve the drone detail identified by id
*
* @param id The id of the drone to be queried.
* @return 200 with {@link Drone}-style json if success, 404 if {@code id} not found, 400
* otherwise
*/
@GetMapping(&quot;/droneDetails/{id}&quot;)
public ResponseEntity&lt;Drone&gt; getDroneDetail(@PathVariable String id) {
try {
<span class="fc" id="L76"> log.info(&quot;GET /api/v1/droneDetails/{}&quot;, id);</span>
<span class="fc" id="L77"> Drone drone = droneInfoService.droneDetail(id);</span>
<span class="fc" id="L78"> return ResponseEntity.ok(drone);</span>
<span class="fc" id="L79"> } catch (IllegalArgumentException ex) {</span>
<span class="fc" id="L80"> log.warn(&quot;GET /api/v1/droneDetails/{} not found&quot;, id);</span>
<span class="fc" id="L81"> return ResponseEntity.notFound().build();</span>
}
}
/**
* Handles GET requests to retrieve an array of drone ids that {@code capability.attrName =
* attrVal}
*
* @param attrName The name of the attribute to be queried
* @param attrVal The value of the attribute to be queried
* @return An array of drone id that matches the attribute name and value
*/
@GetMapping(&quot;/queryAsPath/{attrName}/{attrVal}&quot;)
public List&lt;String&gt; getIdByAttrMap(
@PathVariable String attrName, @PathVariable String attrVal) {
<span class="fc" id="L96"> log.info(&quot;GET /api/v1/queryAsPath/{}/{}&quot;, attrName, attrVal);</span>
<span class="fc" id="L97"> return droneAttrComparatorService.dronesWithAttribute(attrName, attrVal);</span>
}
@PostMapping(&quot;/query&quot;)
public List&lt;String&gt; getIdByAttrMapPost(@RequestBody AttrQueryRequest[] attrComparators) {
<span class="pc bpc" id="L102" title="1 of 2 branches missed."> int count = attrComparators == null ? 0 : attrComparators.length;</span>
<span class="fc" id="L103"> log.info(&quot;POST /api/v1/query comparators={}&quot;, count);</span>
<span class="fc" id="L104"> return droneAttrComparatorService.dronesSatisfyingAttributes(attrComparators);</span>
}
@PostMapping(&quot;/queryAvailableDrones&quot;)
public List&lt;String&gt; queryAvailableDrones(@RequestBody MedDispatchRecRequest[] records) {
<span class="pc bpc" id="L109" title="1 of 2 branches missed."> int count = records == null ? 0 : records.length;</span>
<span class="fc" id="L110"> log.info(&quot;POST /api/v1/queryAvailableDrones records={}&quot;, count);</span>
<span class="fc" id="L111"> return droneInfoService.dronesMatchesRequirements(records);</span>
}
@PostMapping(&quot;/calcDeliveryPath&quot;)
public DeliveryPathResponse calculateDeliveryPath(@RequestBody MedDispatchRecRequest[] record) {
<span class="pc bpc" id="L116" title="1 of 2 branches missed."> int count = record == null ? 0 : record.length;</span>
<span class="fc" id="L117"> log.info(&quot;POST /api/v1/calcDeliveryPath records={}&quot;, count);</span>
<span class="fc" id="L118"> return pathFinderService.calculateDeliveryPath(record);</span>
}
@PostMapping(&quot;/calcDeliveryPathAsGeoJson&quot;)
public String calculateDeliveryPathAsGeoJson(@RequestBody MedDispatchRecRequest[] record) {
<span class="pc bpc" id="L123" title="1 of 2 branches missed."> int count = record == null ? 0 : record.length;</span>
<span class="fc" id="L124"> log.info(&quot;POST /api/v1/calcDeliveryPathAsGeoJson records={}&quot;, count);</span>
<span class="fc" id="L125"> return pathFinderService.calculateDeliveryPathAsGeoJson(record);</span>
}
}
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MapMetaController</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">ilp-coursework</a> &gt; <a href="index.html" class="el_package">io.github.js0ny.ilp_coursework.controller</a> &gt; <span class="el_class">MapMetaController</span></div><h1>MapMetaController</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">0 of 24</td><td class="ctr2">100%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">0</td><td class="ctr2">4</td><td class="ctr1">0</td><td class="ctr2">8</td><td class="ctr1">0</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="MapMetaController.java.html#L29" class="el_method">getRestrictedAreas()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="7" alt="7"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">0</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a1"><a href="MapMetaController.java.html#L35" class="el_method">getServicePoints()</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="120" height="10" title="7" alt="7"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i2">2</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="MapMetaController.java.html#L23" class="el_method">MapMetaController(DroneInfoService)</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="102" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="MapMetaController.java.html#L19" class="el_method">static {...}</a></td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" width="68" height="10" title="4" alt="4"/></td><td class="ctr2" id="c3">100%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">0</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">0</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">0</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>

View file

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>MapMetaController.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">ilp-coursework</a> &gt; <a href="index.source.html" class="el_package">io.github.js0ny.ilp_coursework.controller</a> &gt; <span class="el_source">MapMetaController.java</span></div><h1>MapMetaController.java</h1><pre class="source lang-java linenums">package io.github.js0ny.ilp_coursework.controller;
import io.github.js0ny.ilp_coursework.data.external.RestrictedArea;
import io.github.js0ny.ilp_coursework.data.external.ServicePoint;
import io.github.js0ny.ilp_coursework.service.DroneInfoService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
@RequestMapping(&quot;/api/v1&quot;)
public class MapMetaController {
<span class="fc" id="L19"> private static final Logger log = LoggerFactory.getLogger(MapMetaController.class);</span>
private final DroneInfoService droneInfoService;
<span class="fc" id="L23"> public MapMetaController(DroneInfoService droneInfoService) {</span>
<span class="fc" id="L24"> this.droneInfoService = droneInfoService;</span>
<span class="fc" id="L25"> }</span>
@GetMapping(&quot;/restrictedAreas&quot;)
public List&lt;RestrictedArea&gt; getRestrictedAreas() {
<span class="fc" id="L29"> log.info(&quot;GET /api/v1/restrictedAreas&quot;);</span>
<span class="fc" id="L30"> return droneInfoService.fetchRestrictedAreas();</span>
}
@GetMapping(&quot;/servicePoints&quot;)
public List&lt;ServicePoint&gt; getServicePoints() {
<span class="fc" id="L35"> log.info(&quot;GET /api/v1/servicePoints&quot;);</span>
<span class="fc" id="L36"> return droneInfoService.fetchServicePoints();</span>
}
}
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>io.github.js0ny.ilp_coursework.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.source.html" class="el_source">Source Files</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">ilp-coursework</a> &gt; <span class="el_package">io.github.js0ny.ilp_coursework.controller</span></div><h1>io.github.js0ny.ilp_coursework.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 235</td><td class="ctr2">96%</td><td class="bar">4 of 8</td><td class="ctr2">50%</td><td class="ctr1">4</td><td class="ctr2">24</td><td class="ctr1">0</td><td class="ctr2">58</td><td class="ctr1">0</td><td class="ctr2">20</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="DroneController.html" class="el_class">DroneController</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="8" alt="8"/><img src="../jacoco-resources/greenbar.gif" width="112" height="10" title="117" alt="117"/></td><td class="ctr2" id="c2">93%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="4" alt="4"/><img src="../jacoco-resources/greenbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">50%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">28</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">9</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="ApiController.html" class="el_class">ApiController</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="82" height="10" title="86" alt="86"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">22</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">7</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="MapMetaController.html" class="el_class">MapMetaController</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="23" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">4</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>

View file

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>io.github.js0ny.ilp_coursework.controller</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">ilp-coursework</a> &gt; <span class="el_package">io.github.js0ny.ilp_coursework.controller</span></div><h1>io.github.js0ny.ilp_coursework.controller</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">8 of 235</td><td class="ctr2">96%</td><td class="bar">4 of 8</td><td class="ctr2">50%</td><td class="ctr1">4</td><td class="ctr2">24</td><td class="ctr1">0</td><td class="ctr2">58</td><td class="ctr1">0</td><td class="ctr2">20</td><td class="ctr1">0</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="DroneController.java.html" class="el_source">DroneController.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="7" height="10" title="8" alt="8"/><img src="../jacoco-resources/greenbar.gif" width="112" height="10" title="117" alt="117"/></td><td class="ctr2" id="c2">93%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="60" height="10" title="4" alt="4"/><img src="../jacoco-resources/greenbar.gif" width="60" height="10" title="4" alt="4"/></td><td class="ctr2" id="e0">50%</td><td class="ctr1" id="f0">4</td><td class="ctr2" id="g0">13</td><td class="ctr1" id="h0">0</td><td class="ctr2" id="i0">28</td><td class="ctr1" id="j0">0</td><td class="ctr2" id="k0">9</td><td class="ctr1" id="l0">0</td><td class="ctr2" id="m0">1</td></tr><tr><td id="a0"><a href="ApiController.java.html" class="el_source">ApiController.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/greenbar.gif" width="82" height="10" title="86" alt="86"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">0</td><td class="ctr2" id="g1">7</td><td class="ctr1" id="h1">0</td><td class="ctr2" id="i1">22</td><td class="ctr1" id="j1">0</td><td class="ctr2" id="k1">7</td><td class="ctr1" id="l1">0</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a2"><a href="MapMetaController.java.html" class="el_source">MapMetaController.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/greenbar.gif" width="23" height="10" title="24" alt="24"/></td><td class="ctr2" id="c1">100%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">0</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h2">0</td><td class="ctr2" id="i2">8</td><td class="ctr1" id="j2">0</td><td class="ctr2" id="k2">4</td><td class="ctr1" id="l2">0</td><td class="ctr2" id="m2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>