build(deps-dev): bump ch.qos.logback:logback-classic from 1.5.33 to 1.5.34#502
Merged
github-actions[bot] merged 1 commit intoJun 2, 2026
GitHub Actions / Coverage
succeeded
Jun 2, 2026 in 0s
Code Coverage 68.11 %
This run completed at 06/02/2026 08:21:43
Details
Coverage Report: JaCoCo
- elearning-module-parser
| Outcome | Value |
|---|---|
| Code Coverage % | 68.11% |
| ✔️ Number of Lines Covered | 6720 |
| ❌ Number of Lines Missed | 3146 |
| Total Number of Lines | 9866 |
Details:
dev/jcputney/elearning/parser/util
❌ XmlParsingUtils.java
Lines Missed:
- Line #108
} catch (NumberFormatException e) {
- Line #270
} catch (IOException | XMLStreamException e) {
- Line #323
} catch (IOException | XMLStreamException e) {
- Line #398
}
❌ EncodingDetector.java
Lines Missed:
- Line #480
} catch (UnsupportedEncodingException | IllegalArgumentException e) {
- Line #516
} catch (IllegalArgumentException ex) {
❌ FileUtils.java
Lines Missed:
❌ StreamingUtils.java
Lines Missed:
- Line #271
} catch (Exception e) {
- Line #293
} catch (Exception e) {
- Line #295
}
❌ ScormVersionDetector.java
Lines Missed:
- Line #167
} catch (SAXException ex) {
- Line #170
}
- Line #288
} catch (IllegalArgumentException ignored) {
- Line #328
}
dev/jcputney/elearning/parser/validation
❌ Validator.java
❌ ValidationResult.java
Lines Missed:
❌ ValidationCodes.java
✔️ ValidationIssue.java
All Lines Covered!
dev/jcputney/elearning/parser/impl/factory
dev/jcputney/elearning/parser/input/aicc/prereq
✔️ AiccPrerequisiteTokenType.java
All Lines Covered!
❌ AiccPrerequisiteToken.java
Lines Missed:
- Line #84
}
- Line #159
.isEquals();
- Line #169
.toHashCode();
✔️ AiccPrerequisiteNodeType.java
All Lines Covered!
❌ AiccPrerequisiteParser.java
Lines Missed:
- Line #94
} catch (Exception ignored) {
- Line #129
break;
- Line #134
break;
- Line #139
break;
- Line #144
break;
- Line #149
break;
- Line #180
return;
- Line #280
}
- Line #304
}
- Line #335
if (!token
- Line #340
String op = token
- Line #347
default -> 0;
- Line #379
} catch (IllegalArgumentException e) {
- Line #391
}
dev/jcputney/elearning/parser/input/scorm2004/ims/ss/objective
❌ Scorm2004ObjectiveMapping.java
Lines Missed:
- Line #144
}
- Line #305
that.isReadSatisfiedStatus())
- Line #312
.isEquals();
- Line #325
.toHashCode();
dev/jcputney/elearning/parser/output/metadata/xapi
❌ XapiMetadata.java
Lines Missed:
- Line #74
}
- Line #98
.filter(activities -> !activities.isEmpty())
- Line #160
}
- Line #178
}
- Line #196
}
- Line #217
}
- Line #238
}
- Line #262
.isEquals();
- Line #274
.toHashCode();
dev/jcputney/elearning/parser/validators/rules
❌ ValidationRule.java
dev/jcputney/elearning/parser/input/scorm2004/ims/ss/sequencing
❌ RuleCondition.java
Lines Missed:
- Line #95
}
- Line #198
that.getReferencedObjective())
- Line #202
.isEquals();
- Line #212
.toHashCode();
❌ LimitConditions.java
Lines Missed:
- Line #176
}
- Line #225
}
- Line #247
}
- Line #269
}
- Line #292
}
- Line #312
}
- Line #331
}
- Line #351
.isEquals();
- Line #364
.toHashCode();
❌ AuxiliaryResources.java
Lines Missed:
- Line #61
}
- Line #86
}
- Line #100
that.getAuxiliaryResourceList())
- Line #101
.isEquals();
- Line #108
.toHashCode();
❌ AuxiliaryResource.java
Lines Missed:
- Line #61
}
- Line #79
}
- Line #101
}
- Line #115
that.getAuxiliaryResourceID())
- Line #117
.isEquals();
- Line #125
.toHashCode();
❌ SequencingCollection.java
Lines Missed:
- Line #99
}
- Line #115
.isEquals();
- Line #122
.toHashCode();
dev/jcputney/elearning/parser/input/lom/properties
✔️ ScoreRollupType.java
All Lines Covered!
❌ HeuristicSpec.java
Lines Missed:
- Line #94
}
- Line #104
}
- Line #123
}
- Line #142
}
- Line #161
}
- Line #182
}
- Line #203
}
- Line #221
that.getIsIncompleteSatisfactionMeaningful())
- Line #222
.isEquals();
- Line #233
.toHashCode();
✔️ ReturnToLmsActionType.java
All Lines Covered!
❌ CaptureHistorySpec.java
Lines Missed:
- Line #61
}
- Line #72
}
- Line #92
}
- Line #113
}
- Line #128
.isEquals();
- Line #136
.toHashCode();
✔️ CompletionStatusType.java
All Lines Covered!
❌ BehaviorSpec.java
Lines Missed:
- Line #301
}
- Line #319
}
- Line #337
}
- Line #355
}
- Line #373
}
- Line #392
}
- Line #411
}
- Line #430
}
- Line #449
}
- Line #468
}
- Line #486
}
- Line #505
}
- Line #523
}
- Line #542
}
- Line #562
}
- Line #600
}
- Line #619
}
- Line #639
}
- Line #677
}
- Line #695
}
- Line #715
}
- Line #734
}
- Line #755
}
- Line #774
}
- Line #794
}
- Line #813
}
- Line #832
}
- Line #851
}
- Line #874
}
- Line #911
}
- Line #929
}
- Line #967
that.getForceObjectiveCompletionSetByContent())
- Line #977
.isEquals();
- Line #1017
.toHashCode();
✔️ YesNoType.java
All Lines Covered!
❌ ExitTypesSpec.java
Lines Missed:
- Line #79
}
- Line #90
}
- Line #108
}
- Line #126
}
- Line #144
}
- Line #162
}
- Line #179
.isEquals();
- Line #189
.toHashCode();
✔️ StatusRollupType.java
All Lines Covered!
❌ LaunchSpec.java
Lines Missed:
- Line #70
}
- Line #80
}
- Line #100
}
- Line #120
}
- Line #142
}
- Line #158
.isEquals();
- Line #167
.toHashCode();
✔️ OfflineSynchModeType.java
All Lines Covered!
✔️ InvalidMenuItemActionType.java
All Lines Covered!
✔️ LaunchType.java
All Lines Covered!
❌ PackageProperties.java
Lines Missed:
- Line #99
}
- Line #128
}
- Line #188
}
- Line #207
}
- Line #225
.isEquals();
- Line #236
.toHashCode();
✔️ LookaheadSequencerModeType.java
All Lines Covered!
❌ DebugSpec.java
Lines Missed:
- Line #112
}
- Line #130
}
- Line #149
}
- Line #167
}
- Line #186
}
- Line #205
}
- Line #224
}
- Line #243
}
- Line #262
}
- Line #281
}
- Line #300
}
- Line #323
.isEquals();
- Line #339
.toHashCode();
❌ CommunicationsSpec.java
Lines Missed:
- Line #58
}
- Line #77
}
- Line #95
}
- Line #109
that.getMaxFailedSubmissions())
- Line #111
.isEquals();
- Line #119
.toHashCode();
✔️ ResetRunTimeDataTimingType.java
All Lines Covered!
❌ ExitActionsSpec.java
Lines Missed:
- Line #57
}
- Line #77
}
- Line #97
}
- Line #112
.isEquals();
- Line #120
.toHashCode();
❌ ControlsSpec.java
Lines Missed:
- Line #133
}
- Line #154
}
- Line #176
}
- Line #198
}
- Line #220
}
- Line #242
}
- Line #264
}
- Line #287
}
- Line #309
}
- Line #330
}
- Line #350
}
- Line #368
}
- Line #386
}
- Line #405
}
- Line #431
.isEquals();
- Line #450
.toHashCode();
❌ ScoExitActionSpec.java
Lines Missed:
- Line #62
}
- Line #70
}
- Line #89
}
- Line #108
}
- Line #123
.isEquals();
- Line #131
.toHashCode();
✔️ StatusDisplayType.java
All Lines Covered!
✔️ ExitActionType.java
All Lines Covered!
✔️ EnabledDisabledType.java
All Lines Covered!
dev/jcputney/elearning/parser/validators/rules/scorm12
❌ ResourceReferenceValidRule.java
Lines Missed:
❌ OrganizationsRequiredRule.java
Lines Missed:
❌ ResourcesRequiredRule.java
Lines Missed:
❌ DefaultOrganizationValidRule.java
Lines Missed:
❌ ManifestIdentifierRequiredRule.java
Lines Missed:
❌ ResourceHrefRequiredRule.java
Lines Missed:
dev/jcputney/elearning/parser/input/scorm2004/ims/ss/random
dev/jcputney/elearning/parser/input/scorm12/ims/cp
❌ Scorm12Resource.java
Lines Missed:
- Line #153
}
- Line #239
}
- Line #310
.isEquals();
- Line #324
.toHashCode();
❌ Scorm12Organizations.java
Lines Missed:
- Line #75
}
- Line #177
that.getDefaultOrganization())
- Line #179
.isEquals();
- Line #187
.toHashCode();
❌ Scorm12File.java
Lines Missed:
- Line #121
}
- Line #141
}
- Line #157
.isEquals();
- Line #166
.toHashCode();
❌ Scorm12Item.java
Lines Missed:
- Line #208
}
- Line #418
}
- Line #447
}
- Line #472
.isEquals();
- Line #490
.toHashCode();
❌ Scorm12Organization.java
Lines Missed:
- Line #114
}
- Line #200
}
- Line #237
.isEquals();
- Line #248
.toHashCode();
dev/jcputney/elearning/parser/input/scorm2004/adl/navigation
✔️ HideLMSUI.java
All Lines Covered!
dev/jcputney/elearning/parser/input/scorm2004/adl/types
✔️ TimeLimitAction.java
All Lines Covered!
✔️ RollupConsiderationType.java
All Lines Covered!
✔️ ScormType.java
All Lines Covered!
dev/jcputney/elearning/parser/input/scorm2004/sequencing
❌ ActivityNode.java
Lines Missed:
- Line #81
}
- Line #170
}
- Line #188
}
- Line #206
}
- Line #224
}
- Line #242
}
- Line #260
}
- Line #278
}
- Line #296
}
- Line #317
.isEquals();
- Line #331
.toHashCode();
❌ ActivityTree.java
Lines Missed:
- Line #125
}
- Line #144
}
- Line #159
.isEquals();
- Line #167
.toHashCode();
dev/jcputney/elearning/parser/parsers
❌ Scorm2004Parser.java
Lines Missed:
- Line #79
}
- Line #121
} catch (IOException e) {
- Line #124
} catch (XMLStreamException e) {
- Line #140
return;
- Line #208
} catch (IOException e) {
- Line #210
}
- Line #211
}
- Line #246
return;
- Line #275
}
- Line #290
}
- Line #309
return;
❌ Scorm12Parser.java
Lines Missed:
- Line #77
}
- Line #88
return;
- Line #178
} catch (IOException e) {
- Line #196
return;
- Line #214
return;
- Line #225
}
- Line #237
}
- Line #257
return;
❌ BaseParser.java
Lines Missed:
- Line #81
}
- Line #92
}
- Line #147
} catch (IOException | XMLStreamException e) {
- Line #152
} catch (ModuleParsingException e) {
- Line #209
} catch (XMLStreamException e) {
❌ AiccParser.java
Lines Missed:
- Line #112
}
- Line #173
}
- Line #219
} catch (IOException e) {
- Line #327
+ " more)" : ""));
- Line #381
String value = rawValue != null ? rawValue.toString() : null;
- Line #401
} catch (ConfigurationException e) {
- Line #437
break;
❌ XapiParser.java
Lines Missed:
❌ Cmi5Parser.java
Lines Missed:
dev/jcputney/elearning/parser/validators/rules/xapi
❌ LaunchUrlRequiredRule.java
Lines Missed:
❌ ActivitiesRequiredRule.java
Lines Missed:
dev/jcputney/elearning/parser/enums
❌ ModuleEditionType.java
Lines Missed:
- Line #90
case XAPI -> XAPI;
- Line #119
case XAPI -> ModuleType.XAPI;
✔️ ModuleType.java
All Lines Covered!
dev/jcputney/elearning/parser/input/lom/types
✔️ InteractivityType.java
All Lines Covered!
✔️ Structure.java
All Lines Covered!
✔️ Difficulty.java
All Lines Covered!
✔️ SemanticDensity.java
All Lines Covered!
✔️ CopyrightAndOtherRestrictions.java
All Lines Covered!
✔️ Cost.java
All Lines Covered!
✔️ Status.java
All Lines Covered!
✔️ Context.java
All Lines Covered!
✔️ Purpose.java
All Lines Covered!
✔️ AggregationLevel.java
All Lines Covered!
✔️ LearningResourceType.java
All Lines Covered!
❌ ContributeEntity.java
Lines Missed:
- Line #68
}
- Line #87
}
- Line #100
.append(vCard, that.vCard)
- Line #101
.isEquals();
- Line #107
.append(vCard)
- Line #108
.toHashCode();
✔️ Role.java
All Lines Covered!
✔️ Name.java
All Lines Covered!
✔️ Kind.java
All Lines Covered!
✔️ Type.java
All Lines Covered!
✔️ IntendedEndUserRole.java
All Lines Covered!
✔️ InteractivityLevel.java
All Lines Covered!
✔️ RoleMeta.java
All Lines Covered!
dev/jcputney/elearning/parser/input/aicc
❌ CourseStructure.java
Lines Missed:
- Line #259
return;
- Line #261
String normalizedKey = key
- Line #267
return;
- Line #271
return;
- Line #275
return;
- Line #279
return;
- Line #287
}
- Line #360
.isEquals();
- Line #372
.toHashCode();
- Line #385
return;
- Line #412
return;
- Line #420
return;
- Line #425
return;
- Line #443
return;
❌ AiccCourse.java
Lines Missed:
- Line #130
.isEquals();
- Line #139
.toHashCode();
- Line #469
.isEquals();
- Line #487
.toHashCode();
- Line #641
.isEquals();
- Line #651
.toHashCode();
❌ AiccManifest.java
Lines Missed:
- Line #244
return;
- Line #328
continue;
- Line #357
continue;
- Line #457
} catch (IllegalArgumentException e) {
- Line #460
} catch (Exception ignored) {
- Line #484
continue;
- Line #507
continue;
- Line #627
.equals(this.launchUrl))
- Line #831
.isEquals();
- Line #842
.toHashCode();
❌ AiccCompletionCriteria.java
Lines Missed:
- Line #162
return;
- Line #182
.isEquals();
- Line #192
.toHashCode();
❌ CourseDescriptionDeserializer.java
Lines Missed:
❌ AssignableUnit.java
Lines Missed:
- Line #599
.isEquals();
- Line #625
.toHashCode();
dev/jcputney/elearning/parser/validators
✔️ XapiValidator.java
All Lines Covered!
✔️ AiccValidator.java
All Lines Covered!
✔️ Cmi5Validator.java
All Lines Covered!
✔️ Scorm2004ResourceValidator.java
All Lines Covered!
✔️ Scorm12ResourceValidator.java
All Lines Covered!
dev/jcputney/elearning/parser/output
❌ ModuleMetadata.java
Lines Missed:
dev/jcputney/elearning/parser/validators/rules/common
❌ PathValidationUtils.java
Lines Missed:
❌ PathSecurityRule.java
Lines Missed:
❌ DuplicateIdentifierRule.java
Lines Missed:
❌ OrphanedResourcesRule.java
Lines Missed:
dev/jcputney/elearning/parser/input/scorm2004/ims/ss/rollup
❌ RollupRules.java
Lines Missed:
- Line #109
}
- Line #206
that.isRollupObjectiveSatisfied())
- Line #210
.isEquals();
- Line #220
.toHashCode();
dev/jcputney/elearning/parser/input/scorm2004/adl/cp
❌ CompletionThreshold.java
Lines Missed:
- Line #83
}
- Line #173
that.getMinProgressMeasure())
- Line #176
.isEquals();
- Line #185
.toHashCode();
dev/jcputney/elearning/parser/output/metadata/aicc
❌ AiccMetadata.java
Lines Missed:
- Line #317
return;
- Line #347
continue;
- Line #447
continue;
- Line #492
return v != null ? v.trim() : null;
- Line #520
} catch (NumberFormatException e) {
- Line #543
continue;
- Line #575
return;
- Line #609
return;
- Line #659
continue;
- Line #798
return;
- Line #803
return;
- Line #859
return a != null ? a : b;
- Line #895
} catch (NumberFormatException e) {
- Line #922
default -> null;
- Line #963
return;
- Line #967
return;
- Line #972
return;
- Line #1048
.isEquals();
- Line #1067
.append(requiresLevel4)
- Line #1068
.toHashCode();
- Line #1236
return;
❌ AiccObjectiveMetadata.java
Lines Missed:
❌ AiccPrerequisite.java
Lines Missed:
- Line #167
.filter(s -> !s.isEmpty())
- Line #277
.isEquals();
- Line #292
.toHashCode();
dev/jcputney/elearning/parser/output/metadata/scorm12
dev/jcputney/elearning/parser/output/metadata
❌ BaseModuleMetadata.java
Lines Missed:
dev/jcputney/elearning/parser/input
✔️ PackageManifest.java
All Lines Covered!
dev/jcputney/elearning/parser/api
❌ ModuleParserFactory.java
❌ StreamingProgressListener.java
❌ AbstractArchiveFileAccess.java
Lines Missed:
- Line #74
return rootPath != null ? rootPath : "";
- Line #87
}
❌ ModuleTypeDetector.java
❌ ParserOptions.java
Lines Missed:
❌ ModuleTypeDetectorPlugin.java
❌ FileAccess.java
Lines Missed:
❌ ModuleParser.java
✔️ ParseResult.java
All Lines Covered!
❌ LoadableMetadata.java
dev/jcputney/elearning/parser/config
❌ FileExistenceValidator.java
Lines Missed:
❌ ModuleSizeCalculator.java
Lines Missed:
dev/jcputney/elearning/parser/input/xapi/types
❌ TextType.java
Lines Missed:
❌ LangString.java
Lines Missed:
dev/jcputney/elearning/parser/input/cmi5/types
✔️ MoveOn.java
All Lines Covered!
✔️ LaunchMethod.java
All Lines Covered!
❌ ReferencesObjectives.java
Lines Missed:
- Line #65
}
- Line #108
.isEquals();
- Line #115
.toHashCode();
dev/jcputney/elearning/parser/input/xapi/tincan
❌ TincanActivity.java
Lines Missed:
- Line #98
}
- Line #165
: null;
- Line #197
: null;
- Line #246
.isEquals();
- Line #257
.toHashCode();
❌ TincanManifest.java
Lines Missed:
- Line #82
.filter(list -> !list.isEmpty())
- Line #98
.filter(list -> !list.isEmpty())
- Line #114
.filter(list -> !list.isEmpty())
- Line #130
.filter(list -> !list.isEmpty())
- Line #186
.isEquals();
- Line #193
.toHashCode();
dev/jcputney/elearning/parser/impl/detector
❌ DefaultModuleTypeDetector.java
Lines Missed:
✔️ ScormDetectorPlugin.java
All Lines Covered!
✔️ Cmi5DetectorPlugin.java
All Lines Covered!
✔️ AiccDetectorPlugin.java
All Lines Covered!
dev/jcputney/elearning/parser/output/metadata/cmi5
❌ Cmi5Metadata.java
Lines Missed:
- Line #379
}
- Line #410
.isEquals();
- Line #430
.toHashCode();
- Line #540
}
- Line #564
});
- Line #566
}
- Line #587
}
dev/jcputney/elearning/parser/input/lom
❌ LOM.java
Lines Missed:
- Line #246
.filter(titles -> !titles.isEmpty())
- Line #264
.filter(descriptions -> !descriptions.isEmpty())
- Line #477
.toHashCode();
❌ Educational.java
Lines Missed:
- Line #547
.toHashCode();
dev/jcputney/elearning/parser/input/common
❌ LangStringDeserializer.java
Lines Missed:
- Line #58
.get("@language")
- Line #64
.get("value")
- Line #68
.get("#text")
✔️ LangStringListDeserializer.java
All Lines Covered!
❌ TrimAndPreserveIndentationDeserializer.java
Lines Missed:
❌ PercentTypeSerializer.java
Lines Missed:
✔️ PercentType.java
All Lines Covered!
✔️ PercentTypeDeserializer.java
All Lines Covered!
dev/jcputney/elearning/parser/input/scorm2004
❌ ADLCP.java
❌ Scorm2004Manifest.java
Lines Missed:
- Line #425
}
- Line #460
.filter(x -> !x.isEmpty())
- Line #492
.getDuration() != null)
- Line #523
.filter(id -> id != null && !id.isEmpty()) // Filter non-null and non-empty IDs
- Line #754
}
- Line #790
}
- Line #808
}
- Line #860
.toHashCode();
❌ ADLNav.java
❌ SequencingUsageDetector.java
Lines Missed:
- Line #181
continue;
- Line #320
return;
- Line #567
|| isNotEmpty(objectives.getObjectiveList());
- Line #661
return hasRuleList(sequencingRules.getPreConditionRules())
- Line #700
return navigationInterface != null && isNotEmpty(navigationInterface.getHideLMSUI());
- Line #745
&& !deliveryControls.isCompletionSetByContent()
❌ ADLSeq.java
❌ IMSSS.java
dev/jcputney/elearning/parser/validators/rules/cmi5
❌ TitleRequiredRule.java
Lines Missed:
❌ CourseRequiredRule.java
Lines Missed:
❌ LaunchUrlRequiredRule.java
Lines Missed:
dev/jcputney/elearning/parser/input/scorm12/adl
❌ Scorm12Prerequisites.java
Lines Missed:
dev/jcputney/elearning/parser/input/scorm12
❌ Scorm12ADLCP.java
Lines Missed:
dev/jcputney/elearning/parser/exception
✔️ ModuleException.java
All Lines Covered!
✔️ RuntimeFileAccessException.java
All Lines Covered!
✔️ ModuleDetectionException.java
All Lines Covered!
✔️ ModuleParsingException.java
All Lines Covered!
dev/jcputney/elearning/parser/input/scorm12/adl/prerequisite
✔️ PrerequisiteParser.java
All Lines Covered!
❌ ParseError.java
Lines Missed:
❌ OrExpression.java
Lines Missed:
❌ ItemReference.java
Lines Missed:
❌ AndExpression.java
Lines Missed:
❌ PrerequisiteExpression.java
❌ NotExpression.java
Lines Missed:
dev/jcputney/elearning/parser/input/scorm2004/adl/sequencing
❌ RollupConsiderations.java
Lines Missed:
- Line #99
}
- Line #120
}
- Line #141
}
- Line #162
}
- Line #182
}
- Line #200
.isEquals();
- Line #211
.toHashCode();
❌ ADLObjective.java
Lines Missed:
- Line #62
}
- Line #81
}
- Line #101
}
- Line #116
.isEquals();
- Line #124
.toHashCode();
❌ MapInfo.java
Lines Missed:
- Line #137
}
- Line #155
}
- Line #174
}
- Line #193
}
- Line #212
}
- Line #232
}
- Line #251
}
- Line #270
}
- Line #289
}
- Line #308
}
- Line #328
}
- Line #348
}
- Line #372
.isEquals();
- Line #389
.toHashCode();
❌ ConstrainChoiceConsiderations.java
Lines Missed:
- Line #76
}
- Line #94
}
- Line #109
.isEquals();
- Line #117
.toHashCode();
dev/jcputney/elearning/parser/validators/rules/aicc
❌ CourseRequiredRule.java
Lines Missed:
❌ LaunchUrlRequiredRule.java
Lines Missed:
❌ TitleRequiredRule.java
Lines Missed:
dev/jcputney/elearning/parser/input/common/serialization
❌ DurationHHMMSSDeserializer.java
Lines Missed:
- Line #154
} catch (NumberFormatException | ArithmeticException e) {
- Line #183
} catch (NumberFormatException e) {
✔️ DurationIso8601Deserializer.java
All Lines Covered!
❌ Scorm2004SchemaValidator.java
Lines Missed:
- Line #127
} catch (Exception ignored) {
- Line #132
} catch (Exception ignored) {
- Line #161
} catch (SAXException e) {
- Line #196
}
- Line #220
}
✔️ InstantDeserializer.java
All Lines Covered!
dev/jcputney/elearning/parser/input/cmi5
❌ Course.java
Lines Missed:
- Line #115
}
- Line #195
}
❌ AU.java
Lines Missed:
- Line #278
}
- Line #347
}
❌ Block.java
Lines Missed:
- Line #136
}
- Line #198
}
- Line #236
}
- Line #273
.isEquals();
- Line #285
.toHashCode();
❌ Cmi5Manifest.java
Lines Missed:
- Line #115
}
- Line #137
.filter(strings -> !strings.isEmpty())
- Line #155
.filter(strings -> !strings.isEmpty())
- Line #173
.filter(units -> !units.isEmpty())
- Line #182
.filter(blockList -> !blockList.isEmpty())
- Line #185
.filter(units -> !units.isEmpty())
❌ ObjectivesList.java
Lines Missed:
- Line #83
}
- Line #103
}
- Line #117
.isEquals();
- Line #124
.toHashCode();
dev/jcputney/elearning/parser/impl/access
❌ AbstractS3FileAccess.java
Lines Missed:
- Line #155
} catch (InterruptedException e) {
- Line #228
} catch (Exception e) {
- Line #256
.filter(file -> !smallFileCache.containsKey(file))
- Line #259
return;
- Line #399
.values()
- Line #401
.mapToLong(Long::longValue)
- Line #402
.sum();
- Line #431
}
- Line #437
} catch (Exception e) {
- Line #439
}
- Line #440
}
- Line #527
.keySet()
- Line #528
.iterator()
- Line #640
return; // avoid caching failed lookups or empty files
- Line #647
} catch (Exception ignored) {
❌ LocalFileAccess.java
Lines Missed:
- Line #89
String fileType = Files.isRegularFile(dirPath) ? "regular file" : "special file";
- Line #102
} catch (IOException e) {
- Line #146
} catch (IOException ignored) {
- Line #148
}
- Line #188
} catch (IOException e) {
❌ ClasspathFileAccess.java
Lines Missed:
- Line #75
if (entry
- Line #80
}
❌ InMemoryFileAccess.java
Lines Missed:
- Line #321
} catch (ZipException e) {
- Line #396
.limit(5)
❌ S3FileAccessV2.java
Lines Missed:
- Line #68
} catch (IOException e) {
- Line #85
} catch (IOException e) {
- Line #221
continue;
- Line #226
continue;
- Line #239
} catch (SdkException e) {
- Line #279
.key(fullPath)
- Line #281
} catch (S3Exception e) {
- Line #313
.prefix();
- Line #314
} catch (SdkException e) {
- Line #348
return key.equals(rootPath) || key.startsWith(rootPath + "/");
- Line #364
return key.startsWith(rootPath + "/") ? key.substring(rootPath.length() + 1) : key;
❌ CachedFileAccess.java
Lines Missed:
- Line #335
double hitRatio = total > 0 ? (double) cacheHits.get() / total : 0.0;
❌ S3FileAccessV1.java
Lines Missed:
- Line #62
} catch (IOException e) {
- Line #80
} catch (AmazonServiceException e) {
- Line #132
.filter(key -> !key.endsWith("/")) // Filter out directory markers
- Line #146
} catch (AmazonServiceException e) {
- Line #204
} catch (AmazonServiceException e) {
❌ ZipFileAccess.java
Lines Missed:
- Line #162
} catch (IOException e) {
- Line #190
}
dev/jcputney/elearning/parser/validators/rules/scorm2004
❌ Scorm2004PathSecurityRule.java
Lines Missed:
❌ OrganizationsRequiredRule.java
Lines Missed:
❌ Scorm2004OrphanedResourcesRule.java
Lines Missed:
❌ ResourceHrefRequiredRule.java
Lines Missed:
❌ DefaultOrganizationValidRule.java
Lines Missed:
❌ ResourceReferenceValidRule.java
Lines Missed:
❌ Scorm2004DuplicateIdentifierRule.java
Lines Missed:
- Line #98
.size()),
- Line #100
String.format("Rename duplicate identifiers to be unique. Locations: %s",
dev/jcputney/elearning/parser/impl/provider
✔️ DefaultModuleFileProvider.java
All Lines Covered!
dev/jcputney/elearning/parser/input/scorm2004/ims/cp
❌ Scorm2004Resource.java
Lines Missed:
- Line #294
.toHashCode();
❌ Scorm2004Resources.java
Lines Missed:
- Line #135
.toHashCode();
❌ Scorm2004Item.java
Lines Missed:
- Line #496
.toHashCode();
❌ Scorm2004Organizations.java
Lines Missed:
- Line #118
result = org
- Line #119
.getItems()
- Line #123
.equals(itemId))
- Line #128
break;
- Line #130
}
- Line #195
.toHashCode();
❌ Scorm2004SubMetadata.java
Lines Missed:
- Line #130
.toHashCode();
❌ Scorm2004CourseMetadata.java
Lines Missed:
- Line #187
.toHashCode();
❌ Scorm2004Organization.java
Lines Missed:
- Line #289
.toHashCode();
❌ Scorm2004Dependency.java
Lines Missed:
- Line #45
}
- Line #89
.isEquals();
- Line #96
.toHashCode();
❌ Scorm2004File.java
Lines Missed:
- Line #138
.toHashCode();
dev/jcputney/elearning/parser/output/metadata/scorm2004
❌ Scorm2004Metadata.java
Lines Missed:
- Line #178
if (adlcpNs != null && adlcpNs
- Line #251
return collection != null ? collection.stream() : Stream.empty();
- Line #390
.toHashCode();
- Line #630
.filter(id -> id != null && !id.isEmpty())
- Line #794
return;
- Line #838
return;
dev/jcputney/elearning/parser/input/scorm2004/ims/ss/types
✔️ ConditionCombinationType.java
All Lines Covered!
❌ MeasureTypeSerializer.java
Lines Missed:
✔️ RollupActionType.java
All Lines Covered!
✔️ RandomizationTiming.java
All Lines Covered!
✔️ ConditionOperatorType.java
All Lines Covered!
❌ MeasureTypeDeserializer.java
Lines Missed:
✔️ SequencingRuleConditionType.java
All Lines Covered!
❌ MeasureType.java
Lines Missed:
✔️ RollupRuleConditionType.java
All Lines Covered!
✔️ ChildActivitySet.java
All Lines Covered!
Loading