container/src/main/java/com/streamsets/datacollector/stagelibrary/ClassLoaderStageLibraryTask.java
@VisibleForTesting void validateRequiredStageLibraries() {
    // Name of all installed libraries
    Set<String> installedLibraries = stageLibraries.stream()
      .map(StageLibraryDefinition::getName)
      .collect(Collectors.toSet());

    // Required libraries
    Set<String> requiredLibraries = new HashSet<>();
    String config = configuration.get(SdcConfiguration.REQUIRED_STAGELIBS, DEFAULT_REQUIRED_STAGELIBS);
    for(String stageLib : config.split(",")) {
      if(!stageLib.isEmpty()) {
        requiredLibraries.add(stageLib);
      }
    }

    Set<String> missingLibraries = Sets.difference(requiredLibraries, installedLibraries);
    if(!missingLibraries.isEmpty()) {
      throw new RuntimeException(Utils.format(
        "Some required stage libraries are missing: {}",
        StringUtils.join(missingLibraries, ", ")
      ));
    }
  }
@VisibleForTesting void validateRequiredStageLibraries() {
    // Name of all installed libraries
    Set<String> installedLibraries = stageLibraries.stream()
      .map(StageLibraryDefinition::getName)
      .collect(Collectors.toSet());

    // Required libraries
    Set<String> requiredLibraries = new HashSet<>();
    String config = configuration.get(SdcConfiguration.REQUIRED_STAGELIBS, DEFAULT_REQUIRED_STAGELIBS);
    for(String stageLib : config.split(",")) {
      if(!stageLib.isEmpty()) {
        requiredLibraries.add(stageLib);
      }
    }

    Set<String> missingLibraries = Sets.difference(requiredLibraries, installedLibraries);
    if(!missingLibraries.isEmpty()) {
      throw new RuntimeException(Utils.format(
        "Some required stage libraries are missing: {}",
        StringUtils.join(missingLibraries, ", ")
      ));
    }
  }
@ VisibleForTesting void validateRequiredStageLibraries ( ) { // Name of all installed libraries Set < String > installedLibraries = stageLibraries . stream ( ) . map ( StageLibraryDefinition :: getName ) . collect ( Collectors . toSet ( ) ) ; // Required libraries Set < String > requiredLibraries = new HashSet <> ( ) ; String config = configuration . get ( SdcConfiguration . REQUIRED_STAGELIBS , DEFAULT_REQUIRED_STAGELIBS ) ; for ( String stageLib : config . split ( "," ) ) { if ( ! stageLib . isEmpty ( ) ) { requiredLibraries . add ( stageLib ) ; } } Set < String > missingLibraries = Sets . difference ( requiredLibraries , installedLibraries ) ; if ( ! missingLibraries . isEmpty ( ) ) { throw new RuntimeException ( Utils . format ( "Some required stage libraries are missing: {}" , StringUtils . join ( missingLibraries , ", " ) ) ) ; } }
Validate that all required libraries are available and loaded.
Validate that all required libraries are available and loaded .