| org.opencastproject.mediapackage |   | 60% |   | 49% | 439 | 925 | 805 | 2,037 | 123 | 446 | 2 | 45 |
| org.opencastproject.util |   | 51% |   | 47% | 440 | 782 | 834 | 1,721 | 218 | 453 | 16 | 64 |
| org.opencastproject.serviceregistry.api |   | 19% |   | 13% | 368 | 410 | 854 | 1,037 | 233 | 262 | 17 | 24 |
| org.opencastproject.mediapackage.track |   | 23% |   | 10% | 159 | 199 | 364 | 442 | 74 | 108 | 2 | 14 |
| org.opencastproject.security.api |   | 47% |   | 35% | 157 | 279 | 302 | 614 | 78 | 177 | 11 | 30 |
| org.opencastproject.job.api |   | 63% |   | 52% | 113 | 247 | 276 | 689 | 59 | 176 | 9 | 28 |
| org.opencastproject.mediapackage.elementbuilder |   | 34% |   | 26% | 90 | 135 | 236 | 368 | 15 | 51 | 0 | 6 |
| org.opencastproject.rest |  | 1% |  | 0% | 57 | 59 | 144 | 146 | 33 | 35 | 3 | 4 |
| org.opencastproject.security.util |  | 7% |  | 9% | 55 | 60 | 110 | 118 | 45 | 49 | 2 | 3 |
| org.opencastproject.util.data |   | 55% |   | 46% | 78 | 145 | 88 | 190 | 67 | 129 | 5 | 25 |
| org.opencastproject.util.doc |  | 0% |  | 0% | 30 | 30 | 77 | 77 | 14 | 14 | 2 | 2 |
| org.opencastproject.db |   | 63% |   | 62% | 48 | 104 | 68 | 205 | 32 | 79 | 0 | 9 |
| org.opencastproject.util.jaxb |  | 27% | | 0% | 19 | 26 | 45 | 59 | 16 | 23 | 4 | 6 |
| org.opencastproject.util.data.functions |   | 43% |   | 44% | 35 | 51 | 26 | 50 | 24 | 32 | 1 | 4 |
| org.opencastproject.mediapackage.selector |   | 73% |   | 77% | 18 | 59 | 22 | 102 | 4 | 23 | 2 | 5 |
| org.opencastproject.mediapackage.attachment |  | 41% |  | 28% | 12 | 21 | 25 | 43 | 6 | 14 | 2 | 5 |
| org.opencastproject.util.function |  | 0% | | n/a | 14 | 14 | 17 | 17 | 14 | 14 | 2 | 2 |
| org.opencastproject.cleanup |  | 68% |  | 66% | 6 | 17 | 18 | 47 | 1 | 8 | 0 | 1 |
| org.opencastproject.util.doc.rest | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 2 | 2 |
| org.opencastproject.mediapackage.identifier | | 80% | | 50% | 6 | 16 | 3 | 21 | 0 | 10 | 0 | 2 |
| org.opencastproject.util.requests |  | 94% |  | 68% | 7 | 19 | 3 | 29 | 0 | 8 | 0 | 2 |