Skip to content

build(deps): bump software.amazon.awssdk:bom from 2.42.9 to 2.42.13

173ef45
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Closed

build(deps): bump software.amazon.awssdk:bom from 2.42.9 to 2.42.13 #429

build(deps): bump software.amazon.awssdk:bom from 2.42.9 to 2.42.13
173ef45
Select commit
Loading
Failed to load commit list.
GitHub Actions / Coverage succeeded Mar 16, 2026 in 0s

Code Coverage 67.78 %

This run completed at 03/16/2026 11:28:41

Details

Coverage Report: JaCoCo

  • elearning-module-parser
Outcome Value
Code Coverage % 67.78%
✔️ Number of Lines Covered 6586
❌ Number of Lines Missed 3131
Total Number of Lines 9717

Details:

dev/jcputney/elearning/parser/util

❌ XmlParsingUtils.java

Lines Missed:

        } catch (IOException | XMLStreamException e) {
        } catch (IOException | XMLStreamException e) {
    }
❌ EncodingDetector.java

Lines Missed:

  • Line #487
      } catch (UnsupportedEncodingException | IllegalArgumentException e) {
  • Line #523
      } catch (IllegalArgumentException ex) {
❌ FileUtils.java

Lines Missed:

❌ StreamingUtils.java

Lines Missed:

      } catch (Exception e) {
        } catch (Exception e) {
        }
❌ ScormVersionDetector.java

Lines Missed:

      } catch (SAXException ex) {
    }
    }

dev/jcputney/elearning/parser/validation

❌ Validator.java
❌ ValidationResult.java

Lines Missed:

❌ ValidationCodes.java
✔️ ValidationIssue.java

All Lines Covered!

dev/jcputney/elearning/parser/impl/factory

❌ DefaultModuleParserFactory.java

Lines Missed:

  }

dev/jcputney/elearning/parser/input/aicc/prereq

❌ AiccPrerequisiteNode.java

Lines Missed:

        .isEquals();
        .toHashCode();
✔️ AiccPrerequisiteTokenType.java

All Lines Covered!

❌ AiccPrerequisiteToken.java

Lines Missed:

  }
        .isEquals();
        .toHashCode();
❌ AiccPrerequisiteExpression.java

Lines Missed:

        .isEquals();
        .toHashCode();
✔️ AiccPrerequisiteNodeType.java

All Lines Covered!

❌ AiccPrerequisiteParser.java

Lines Missed:

    } catch (Exception ignored) {
          break;
          break;
          break;
          break;
          break;
      return;
    }
  }
    if (!token
    String op = token
      default -> 0;
      } catch (IllegalArgumentException e) {
        }

dev/jcputney/elearning/parser/input/scorm2004/ims/ss/objective

❌ Scorm2004ObjectiveMapping.java

Lines Missed:

  }
            that.isReadSatisfiedStatus())
        .isEquals();
        .toHashCode();
❌ Scorm2004Objectives.java

Lines Missed:

  }
        .isEquals();
        .toHashCode();
❌ Scorm2004Objective.java

Lines Missed:

  }
        .isEquals();
        .toHashCode();

dev/jcputney/elearning/parser/output/metadata/xapi

❌ XapiMetadata.java

Lines Missed:

  }

dev/jcputney/elearning/parser/validators/rules

❌ ValidationRule.java

dev/jcputney/elearning/parser/input/scorm2004/ims/ss/sequencing

❌ SequencingRules.java

Lines Missed:

  }
        .isEquals();
        .toHashCode();
❌ RuleCondition.java

Lines Missed:

  }
            that.getReferencedObjective())
        .isEquals();
        .toHashCode();
❌ SequencingRule.java

Lines Missed:

        .isEquals();
        .toHashCode();
❌ DeliveryControls.java

Lines Missed:

        .isEquals();
        .toHashCode();
❌ LimitConditions.java

Lines Missed:

  }
  }
  }
  }
  }
  }
  }
        .isEquals();
        .toHashCode();
❌ AuxiliaryResources.java

Lines Missed:

  }
  }
            that.getAuxiliaryResourceList())
        .isEquals();
        .toHashCode();
❌ RuleAction.java

Lines Missed:

        .isEquals();
        .toHashCode();
❌ RuleConditions.java

Lines Missed:

        .isEquals();
        .toHashCode();
❌ AuxiliaryResource.java

Lines Missed:

  }
  }
  }
            that.getAuxiliaryResourceID())
        .isEquals();
        .toHashCode();
❌ Sequencing.java

Lines Missed:

  }
        .isEquals();
        .toHashCode();
❌ ControlMode.java

Lines Missed:

  }
        .isEquals();
        .toHashCode();
❌ SequencingCollection.java

Lines Missed:

    }
        .isEquals();
        .toHashCode();

dev/jcputney/elearning/parser/input/lom/properties

✔️ ScoreRollupType.java

All Lines Covered!

❌ HeuristicSpec.java

Lines Missed:

  }
  }
  }
  }
  }
  }
  }
            that.getIsIncompleteSatisfactionMeaningful())
        .isEquals();
        .toHashCode();
✔️ ReturnToLmsActionType.java

All Lines Covered!

❌ CaptureHistorySpec.java

Lines Missed:

  }
  }
  }
  }
        .isEquals();
        .toHashCode();
✔️ CompletionStatusType.java

All Lines Covered!

❌ BehaviorSpec.java

Lines Missed:

  }
  }
  }
  }
  }
  }
  }
  }
  }
  • Line #475
  }
  • Line #493
  }
  • Line #512
  }
  • Line #530
  }
  • Line #549
  }
  • Line #569
  }
  • Line #607
  }
  • Line #626
  }
  • Line #646
  }
  • Line #684
  }
  • Line #702
  }
  • Line #722
  }
  • Line #741
  }
  • Line #762
  }
  • Line #781
  }
  • Line #801
  }
  • Line #820
  }
  • Line #839
  }
  • Line #858
  }
  • Line #881
  }
  • Line #918
  }
  • Line #936
  }
  • Line #974
            that.getForceObjectiveCompletionSetByContent())
  • Line #984
        .isEquals();
  • Line #1024
        .toHashCode();
✔️ YesNoType.java

All Lines Covered!

❌ StageSpec.java

Lines Missed:

        .isEquals();
        .toHashCode();
❌ ExitTypesSpec.java

Lines Missed:

  }
  }
  }
  }
  }
  }
        .isEquals();
        .toHashCode();
✔️ StatusRollupType.java

All Lines Covered!

❌ LaunchSpec.java

Lines Missed:

  }
  }
  }
  }
  }
        .isEquals();
        .toHashCode();
✔️ OfflineSynchModeType.java

All Lines Covered!

✔️ InvalidMenuItemActionType.java

All Lines Covered!

✔️ LaunchType.java

All Lines Covered!

❌ PackageProperties.java

Lines Missed:

  }
  }
  }
  }
        .isEquals();
        .toHashCode();
❌ AppearanceSpec.java

Lines Missed:

  }
        .isEquals();
        .toHashCode();
❌ DisplayStageSpec.java

Lines Missed:

        .isEquals();
        .toHashCode();
✔️ LookaheadSequencerModeType.java

All Lines Covered!

❌ DebugSpec.java

Lines Missed:

  }
  }
  }
  }
  }
  }
  }
  }
  }
  }
  }
        .isEquals();
        .toHashCode();
❌ CommunicationsSpec.java

Lines Missed:

  }
  }
  }
            that.getMaxFailedSubmissions())
        .isEquals();
        .toHashCode();
✔️ ResetRunTimeDataTimingType.java

All Lines Covered!

❌ ExitActionsSpec.java

Lines Missed:

  }
  }
  }
        .isEquals();
        .toHashCode();
❌ RsopSpec.java

Lines Missed:

  }
  }
        .isEquals();
        .toHashCode();
❌ ControlsSpec.java

Lines Missed:

  }
  }
  }
  }
  }
  }
  }
  }
  }
  }
  }
  }
  }
  }
        .isEquals();
        .toHashCode();
❌ ScoExitActionSpec.java

Lines Missed:

  }
  }
  }
  }
        .isEquals();
        .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:

❌ LaunchableResourceRequiredRule.java

Lines Missed:

      }
❌ DefaultOrganizationValidRule.java

Lines Missed:

❌ ManifestIdentifierRequiredRule.java

Lines Missed:

❌ ResourceHrefRequiredRule.java

Lines Missed:

dev/jcputney/elearning/parser/input/scorm2004/ims/ss/random

❌ RandomizationControls.java

Lines Missed:

        .isEquals();
        .toHashCode();

dev/jcputney/elearning/parser/input/scorm12/ims/cp

❌ Scorm12Resource.java

Lines Missed:

  }
  }
        .isEquals();
        .toHashCode();
❌ Scorm12Resources.java

Lines Missed:

  }
        .isEquals();
        .toHashCode();
❌ Scorm12Metadata.java

Lines Missed:

        .isEquals();
        .toHashCode();
❌ Scorm12Organizations.java

Lines Missed:

  }
            that.getDefaultOrganization())
        .isEquals();
        .toHashCode();
❌ Scorm12File.java

Lines Missed:

  }
  }
        .isEquals();
        .toHashCode();
❌ Scorm12Dependency.java

Lines Missed:

        .isEquals();
        .toHashCode();
❌ Scorm12Item.java

Lines Missed:

  }
  }
  }
  • Line #479
        .isEquals();
  • Line #497
        .toHashCode();
❌ Scorm12Organization.java

Lines Missed:

  }
  }
        .isEquals();
        .toHashCode();

dev/jcputney/elearning/parser/input/scorm2004/adl/navigation

✔️ HideLMSUI.java

All Lines Covered!

❌ Presentation.java

Lines Missed:

        .isEquals();
        .toHashCode();
❌ NavigationInterface.java

Lines Missed:

        .isEquals();
        .toHashCode();

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:

  }
  }
  }
  }
  }
  }
  }
  }
  }
        .isEquals();
        .toHashCode();
❌ ActivityTree.java

Lines Missed:

  }
  }
        .isEquals();
        .toHashCode();

dev/jcputney/elearning/parser/parsers

❌ Scorm2004Parser.java

Lines Missed:

  }
    } catch (IOException e) {
    } catch (XMLStreamException e) {
      return;
    } catch (IOException e) {
    }
  }
      return;
      }
      }
      return;
❌ Scorm12Parser.java

Lines Missed:

  }
      return;
    } catch (IOException e) {
    } catch (XMLStreamException e) {
      } catch (IOException e) {
      return;
      return;
      }
        }
      return;
❌ BaseParser.java

Lines Missed:

  }
  }
    } catch (IOException | XMLStreamException e) {
    } catch (ModuleParsingException e) {
    } catch (XMLStreamException e) {
❌ AiccParser.java

Lines Missed:

  }
  }
    } catch (IOException e) {
            + " more)" : ""));
            String value = rawValue != null ? rawValue.toString() : null;
    } catch (ConfigurationException e) {
          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:

      case XAPI -> XAPI;
      case XAPI -> ModuleType.XAPI;
✔️ ModuleType.java

All Lines Covered!

dev/jcputney/elearning/parser/input/lom/types

❌ OrComposite.java

Lines Missed:

        .toHashCode();
✔️ InteractivityType.java

All Lines Covered!

❌ LangString.java

Lines Missed:

        .toHashCode();
✔️ Structure.java

All Lines Covered!

❌ Resource.java

Lines Missed:

        .toHashCode();
✔️ Difficulty.java

All Lines Covered!

✔️ SemanticDensity.java

All Lines Covered!

✔️ CopyrightAndOtherRestrictions.java

All Lines Covered!

❌ Date.java

Lines Missed:

        .toHashCode();
✔️ Cost.java

All Lines Covered!

✔️ Status.java

All Lines Covered!

✔️ Context.java

All Lines Covered!

❌ Taxon.java

Lines Missed:

        .toHashCode();
❌ CatalogEntry.java

Lines Missed:

        .isEquals();
        .toHashCode();
❌ SingleLangString.java

Lines Missed:

        .toHashCode();
✔️ Purpose.java

All Lines Covered!

❌ UnboundLangString.java

Lines Missed:

        .toHashCode();
❌ LomDuration.java

Lines Missed:

        .toHashCode();
❌ ContributeMeta.java

Lines Missed:

  }
        .toHashCode();
❌ Requirement.java

Lines Missed:

        .toHashCode();
❌ TaxonPath.java

Lines Missed:

  }
        .toHashCode();
✔️ AggregationLevel.java

All Lines Covered!

✔️ LearningResourceType.java

All Lines Covered!

❌ ContributeEntity.java

Lines Missed:

  }
  }
        .append(vCard, that.vCard)
        .isEquals();
        .append(vCard)
        .toHashCode();
✔️ Role.java

All Lines Covered!

✔️ Name.java

All Lines Covered!

❌ SourceValuePair.java

Lines Missed:

        .toHashCode();
✔️ Kind.java

All Lines Covered!

✔️ Type.java

All Lines Covered!

✔️ IntendedEndUserRole.java

All Lines Covered!

✔️ InteractivityLevel.java

All Lines Covered!

❌ Identifier.java

Lines Missed:

        .toHashCode();
✔️ RoleMeta.java

All Lines Covered!

❌ Contribute.java

Lines Missed:

        .toHashCode();

dev/jcputney/elearning/parser/input/aicc

❌ CourseStructure.java

Lines Missed:

      return;
    String normalizedKey = key
        return;
        return;
        return;
        return;
  }
        .isEquals();
        .toHashCode();
      return;
      return;
      return;
      return;
      return;
❌ AiccCourse.java

Lines Missed:

        .isEquals();
        .toHashCode();
  • Line #476
          .isEquals();
  • Line #494
          .toHashCode();
  • Line #648
          .isEquals();
  • Line #658
          .toHashCode();
❌ Descriptor.java

Lines Missed:

        .isEquals();
        .toHashCode();
❌ AiccManifest.java

Lines Missed:

      return;
        continue;
        continue;
    } catch (IllegalArgumentException e) {
      } catch (Exception ignored) {
  • Line #491
        continue;
  • Line #514
        continue;
  • Line #634
                  .equals(this.launchUrl))
  • Line #838
        .isEquals();
  • Line #849
        .toHashCode();
❌ AiccCompletionCriteria.java

Lines Missed:

      return;
        .isEquals();
        .toHashCode();
❌ CourseDescriptionDeserializer.java

Lines Missed:

❌ AssignableUnit.java

Lines Missed:

  • Line #606
        .isEquals();
  • Line #632
        .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

❌ PathSecurityRule.java

Lines Missed:

❌ DuplicateIdentifierRule.java

Lines Missed:

❌ OrphanedResourcesRule.java

Lines Missed:

dev/jcputney/elearning/parser/input/scorm2004/ims/ss/rollup

❌ RollupRule.java

Lines Missed:

        .isEquals();
        .toHashCode();
❌ RollupRules.java

Lines Missed:

  }
            that.isRollupObjectiveSatisfied())
        .isEquals();
        .toHashCode();
❌ RollupAction.java

Lines Missed:

        .isEquals();
        .toHashCode();
❌ RollupConditions.java

Lines Missed:

        .isEquals();
        .toHashCode();
❌ RollupCondition.java

Lines Missed:

        .isEquals();
        .toHashCode();

dev/jcputney/elearning/parser/input/scorm2004/adl/cp

❌ ADLData.java

Lines Missed:

        .isEquals();
        .toHashCode();
❌ CompletionThreshold.java

Lines Missed:

  }
            that.getMinProgressMeasure())
        .isEquals();
        .toHashCode();
❌ DataMap.java

Lines Missed:

        .isEquals();
        .toHashCode();

dev/jcputney/elearning/parser/output/metadata/aicc

❌ AiccMetadata.java

Lines Missed:

      return;
        continue;
        continue;
  • Line #498
    return v != null ? v.trim() : null;
  • Line #526
    } catch (NumberFormatException e) {
  • Line #549
        continue;
  • Line #581
      return;
  • Line #615
      return;
  • Line #665
        continue;
  • Line #804
      return;
  • Line #809
      return;
  • Line #865
    return a != null ? a : b;
  • Line #901
    } catch (NumberFormatException e) {
  • Line #928
      default -> null;
  • Line #969
      return;
  • Line #973
      return;
  • Line #978
      return;
  • Line #1054
        .isEquals();
  • Line #1073
        .append(requiresLevel4)
  • Line #1074
        .toHashCode();
  • Line #1242
        return;
❌ AiccObjectiveMetadata.java

Lines Missed:

❌ AiccPrerequisite.java

Lines Missed:

        .filter(s -> !s.isEmpty())
        .isEquals();
        .toHashCode();

dev/jcputney/elearning/parser/output/metadata/scorm12

❌ Scorm12Metadata.java

Lines Missed:

        .isEquals();
        .toHashCode();

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
❌ ModuleFileProvider.java

Lines Missed:

    }
  }
❌ StreamingProgressListener.java
❌ AbstractArchiveFileAccess.java

Lines Missed:

    return rootPath != null ? rootPath : "";
  }
❌ 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:

❌ SimpleLangString.java

Lines Missed:

        .isEquals();
        .toHashCode();

dev/jcputney/elearning/parser/input/cmi5/types

✔️ MoveOn.java

All Lines Covered!

✔️ LaunchMethod.java

All Lines Covered!

❌ ObjectiveReference.java

Lines Missed:

        .isEquals();
        .toHashCode();
❌ Objective.java

Lines Missed:

        .isEquals();
        .toHashCode();
❌ ReferencesObjectives.java

Lines Missed:

  }
        .isEquals();
        .toHashCode();

dev/jcputney/elearning/parser/input/xapi/tincan

❌ TincanActivity.java

Lines Missed:

  }
        : null;
        : null;
        .isEquals();
        .toHashCode();
❌ TincanManifest.java

Lines Missed:

        .filter(list -> !list.isEmpty())
        .filter(list -> !list.isEmpty())
        .filter(list -> !list.isEmpty())
        .filter(list -> !list.isEmpty())
        .isEquals();
        .toHashCode();

dev/jcputney/elearning/parser/impl/detector

❌ DefaultModuleTypeDetector.java

Lines Missed:

❌ XapiDetectorPlugin.java

Lines Missed:

    } catch (IOException e) {
✔️ 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:

      }
        .isEquals();
        .toHashCode();

dev/jcputney/elearning/parser/input/lom

❌ LifeCycle.java

Lines Missed:

        .toHashCode();
❌ Annotation.java

Lines Missed:

        .toHashCode();
❌ LOM.java

Lines Missed:

        .filter(titles -> !titles.isEmpty())
        .filter(descriptions -> !descriptions.isEmpty())
  • Line #484
        .toHashCode();
❌ Rights.java

Lines Missed:

        .toHashCode();
❌ Relation.java

Lines Missed:

        .toHashCode();
❌ Technical.java

Lines Missed:

  }
        .toHashCode();
❌ Classification.java

Lines Missed:

        .toHashCode();
❌ MetaMetadata.java

Lines Missed:

        .toHashCode();
❌ General.java

Lines Missed:

  }
        .toHashCode();
❌ Educational.java

Lines Missed:

  • Line #554
        .toHashCode();

dev/jcputney/elearning/parser/input/common

❌ LangStringDeserializer.java

Lines Missed:

          .get("@language")
          .get("value")
          .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:

    }
        .filter(x -> !x.isEmpty())
  • Line #498
            .getDuration() != null)
  • Line #529
        .filter(id -> id != null && !id.isEmpty()) // Filter non-null and non-empty IDs
  • Line #759
  }
  • Line #795
  }
  • Line #813
  }
  • Line #865
        .toHashCode();
❌ ADLNav.java
❌ SequencingUsageDetector.java

Lines Missed:

        continue;
      return;
  • Line #556
        || isNotEmpty(objectives.getObjectiveList());
  • Line #650
    return hasRuleList(sequencingRules.getPreConditionRules())
  • Line #689
    return navigationInterface != null && isNotEmpty(navigationInterface.getHideLMSUI());
  • Line #734
        && !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:

❌ Scorm12Manifest.java

Lines Missed:

  • Line #478
            .getDuration() != null)

dev/jcputney/elearning/parser/exception

✔️ ModuleException.java

All Lines Covered!

✔️ RuntimeFileAccessException.java

All Lines Covered!

❌ ManifestParseException.java

Lines Missed:

  }
✔️ ModuleDetectionException.java

All Lines Covered!

✔️ ModuleParsingException.java

All Lines Covered!

❌ FileAccessException.java

Lines Missed:

  }

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:

  }
  }
  }
  }
  }
        .isEquals();
        .toHashCode();
❌ ADLObjective.java

Lines Missed:

  }
  }
  }
        .isEquals();
        .toHashCode();
❌ MapInfo.java

Lines Missed:

  }
  }
  }
  }
  }
  }
  }
  }
  }
  }
  }
  }
        .isEquals();
        .toHashCode();
❌ ConstrainChoiceConsiderations.java

Lines Missed:

  }
  }
        .isEquals();
        .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:

    } catch (NumberFormatException | ArithmeticException e) {
    } catch (NumberFormatException e) {
✔️ DurationIso8601Deserializer.java

All Lines Covered!

❌ Scorm2004SchemaValidator.java

Lines Missed:

    } catch (Exception ignored) {
    } catch (Exception ignored) {
  • Line #166
    } catch (SAXException e) {
  • Line #201
    }
  • Line #225
    }
✔️ InstantDeserializer.java

All Lines Covered!

dev/jcputney/elearning/parser/input/cmi5

❌ Course.java

Lines Missed:

  • Line #109
  }
  }
❌ AU.java

Lines Missed:

  }
  }
  • Line #378
  }
  }
  • Line #492
  }
❌ Block.java

Lines Missed:

  }
  }
  }
  • Line #280
        .isEquals();
  • Line #292
        .toHashCode();
❌ Cmi5Manifest.java

Lines Missed:

  }
        .filter(strings -> !strings.isEmpty())
        .filter(strings -> !strings.isEmpty())
        .filter(units -> !units.isEmpty())
          .filter(blockList -> !blockList.isEmpty())
          .filter(units -> !units.isEmpty())
❌ ObjectivesList.java

Lines Missed:

  }
  • Line #110
  }
        .isEquals();
        .toHashCode();

dev/jcputney/elearning/parser/impl/access

❌ AbstractS3FileAccess.java

Lines Missed:

  }
        } catch (Exception e) {
  • Line #242
        .filter(file -> !smallFileCache.containsKey(file))
  • Line #245
      return;
  • Line #385
          .values()
  • Line #387
          .mapToLong(Long::longValue)
  • Line #388
          .sum();
    }
  • Line #423
      } catch (Exception e) {
      }
  • Line #426
    }
  • Line #519
            .keySet()
  • Line #520
            .iterator()
  • Line #632
        return; // avoid caching failed lookups or empty files
  • Line #639
    } catch (Exception ignored) {
❌ LocalFileAccess.java

Lines Missed:

  • Line #100
      String fileType = Files.isRegularFile(dirPath) ? "regular file" : "special file";
    } catch (IOException e) {
  • Line #157
      } catch (IOException ignored) {
      }
            } catch (IOException e) {
❌ ClasspathFileAccess.java

Lines Missed:

          if (entry
        }
❌ InMemoryFileAccess.java

Lines Missed:

  • Line #320
    } catch (Exception e) {
  • Line #377
          .limit(5)
❌ S3FileAccessV2.java

Lines Missed:

      } catch (IOException e) {
      } catch (IOException e) {
            continue;
  • Line #237
            continue;
    } catch (SdkException e) {
  • Line #290
          .key(fullPath)
  • Line #292
    } catch (S3Exception e) {
  • Line #324
          .prefix();
  • Line #325
    } catch (SdkException e) {
  • Line #359
    return key.equals(rootPath) || key.startsWith(rootPath + "/");
    return key.startsWith(rootPath + "/") ? key.substring(rootPath.length() + 1) : key;
❌ CachedFileAccess.java

Lines Missed:

❌ S3FileAccessV1.java

Lines Missed:

  • Line #73
      } catch (IOException e) {
    } catch (AmazonServiceException e) {
            .filter(key -> !key.endsWith("/")) // Filter out directory markers
  • Line #157
    } catch (AmazonServiceException e) {
    } catch (AmazonServiceException e) {
❌ ZipFileAccess.java

Lines Missed:

    } catch (IOException e) {
  • Line #201
    }

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:

                    .size()),
            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:

        .toHashCode();
❌ Scorm2004Resources.java

Lines Missed:

        .toHashCode();
❌ Scorm2004Item.java

Lines Missed:

  • Line #503
        .toHashCode();
❌ Scorm2004Organizations.java

Lines Missed:

        result = org
            .getItems()
                .equals(itemId))
          break;
      }
  • Line #202
        .toHashCode();
❌ Scorm2004SubMetadata.java

Lines Missed:

        .toHashCode();
❌ Scorm2004CourseMetadata.java

Lines Missed:

        .toHashCode();
❌ Scorm2004Organization.java

Lines Missed:

        .toHashCode();
❌ Scorm2004Dependency.java

Lines Missed:

  • Line #52
  }
        .isEquals();
  • Line #103
        .toHashCode();
❌ Scorm2004File.java

Lines Missed:

        .toHashCode();

dev/jcputney/elearning/parser/output/metadata/scorm2004

❌ Scorm2004Metadata.java

Lines Missed:

      if (adlcpNs != null && adlcpNs
    return collection != null ? collection.stream() : Stream.empty();
  • Line #397
        .toHashCode();
  • Line #637
        .filter(id -> id != null && !id.isEmpty())
  • Line #801
        return;
  • Line #845
        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!