test_class.declarator: MODULE_ALPHA = "alpha"
test_class.modifier: private static final
test_class.original_string: private static final String MODULE_ALPHA = "alpha";
test_class.type: String
test_class.var_name: MODULE_ALPHA
test_class.declarator: MODULE_BRAVO = "bravo"
test_class.modifier: private static final
test_class.original_string: private static final String MODULE_BRAVO = "bravo";
test_class.type: String
test_class.var_name: MODULE_BRAVO
test_class.declarator: MODULE_CHARLIE = "charlie"
test_class.modifier: private static final
test_class.original_string: private static final String MODULE_CHARLIE = "charlie";
test_class.type: String
test_class.var_name: MODULE_CHARLIE
test_class.declarator: CKL_NAME_ALPHA = "alpha"
test_class.modifier: private static final
test_class.original_string: private static final String CKL_NAME_ALPHA = "alpha";
test_class.type: String
test_class.var_name: CKL_NAME_ALPHA
test_class.declarator: CKL_ID_ALPHA = MODULE_ALPHA + "/" + CKL_NAME_ALPHA
test_class.modifier: private static final
test_class.original_string: private static final String CKL_ID_ALPHA = MODULE_ALPHA + "/" + CKL_NAME_ALPHA;
test_class.type: String
test_class.var_name: CKL_ID_ALPHA
test_class.declarator: CKL_NAME_BRAVO_1 = "bravo-1"
test_class.modifier: private static final
test_class.original_string: private static final String CKL_NAME_BRAVO_1 = "bravo-1";
test_class.type: String
test_class.var_name: CKL_NAME_BRAVO_1
test_class.declarator: CKL_ID_BRAVO_1 = MODULE_BRAVO + "/" + CKL_NAME_BRAVO_1
test_class.modifier: private static final
test_class.original_string: private static final String CKL_ID_BRAVO_1 = MODULE_BRAVO + "/" + CKL_NAME_BRAVO_1;
test_class.type: String
test_class.var_name: CKL_ID_BRAVO_1
test_class.declarator: CKL_NAME_BRAVO_2 = "bravo-2"
test_class.modifier: private static final
test_class.original_string: private static final String CKL_NAME_BRAVO_2 = "bravo-2";
test_class.type: String
test_class.var_name: CKL_NAME_BRAVO_2
test_class.declarator: CKL_ID_BRAVO_2 = MODULE_BRAVO + "/" + CKL_NAME_BRAVO_2
test_class.modifier: private static final
test_class.original_string: private static final String CKL_ID_BRAVO_2 = MODULE_BRAVO + "/" + CKL_NAME_BRAVO_2;
test_class.type: String
test_class.var_name: CKL_ID_BRAVO_2
test_class.declarator: CKL_NAME_CHARLIE = "charlie"
test_class.modifier: private static final
test_class.original_string: private static final String CKL_NAME_CHARLIE = "charlie";
test_class.type: String
test_class.var_name: CKL_NAME_CHARLIE
test_class.declarator: CKL_ID_CHARLIE = MODULE_CHARLIE + "/" + CKL_NAME_CHARLIE
test_class.modifier: private static final
test_class.original_string: private static final String CKL_ID_CHARLIE = MODULE_CHARLIE + "/" + CKL_NAME_CHARLIE;
test_class.type: String
test_class.var_name: CKL_ID_CHARLIE
test_class.declarator: ALL_CKL_IDS = Arrays.asList(
              CKL_ID_ALPHA, CKL_ID_BRAVO_1, CKL_ID_BRAVO_2, CKL_ID_CHARLIE)
test_class.modifier: private static final
test_class.original_string: private static final List<String> ALL_CKL_IDS = Arrays.asList(
              CKL_ID_ALPHA, CKL_ID_BRAVO_1, CKL_ID_BRAVO_2, CKL_ID_CHARLIE);
test_class.type: List<String>
test_class.var_name: ALL_CKL_IDS
test_class.declarator: resourceDir = new File("src/test/resources/ChecklistPlannerTest")
test_class.modifier: private final
test_class.original_string: private final File resourceDir = new File("src/test/resources/ChecklistPlannerTest");
test_class.type: File
test_class.var_name: resourceDir
test_class.declarator: alphaDir = new File(resourceDir, MODULE_ALPHA)
test_class.modifier: private final
test_class.original_string: private final File alphaDir = new File(resourceDir, MODULE_ALPHA);
test_class.type: File
test_class.var_name: alphaDir
test_class.declarator: bravoDir = new File(resourceDir, MODULE_BRAVO)
test_class.modifier: private final
test_class.original_string: private final File bravoDir = new File(resourceDir, MODULE_BRAVO);
test_class.type: File
test_class.var_name: bravoDir
test_class.declarator: charlieDir = new File(resourceDir, MODULE_CHARLIE)
test_class.modifier: private final
test_class.original_string: private final File charlieDir = new File(resourceDir, MODULE_CHARLIE);
test_class.type: File
test_class.var_name: charlieDir
test_class.declarator: zuluDir = new File(resourceDir, "zulu")
test_class.modifier: private final
test_class.original_string: private final File zuluDir = new File(resourceDir, "zulu");
test_class.type: File
test_class.var_name: zuluDir
test_class.declarator: alphaManifest
test_class.modifier: private
test_class.original_string: private URL alphaManifest;
test_class.type: URL
test_class.var_name: alphaManifest
test_class.declarator: bravoManifest
test_class.modifier: private
test_class.original_string: private URL bravoManifest;
test_class.type: URL
test_class.var_name: bravoManifest
test_class.declarator: charlieManifest
test_class.modifier: private
test_class.original_string: private URL charlieManifest;
test_class.type: URL
test_class.var_name: charlieManifest
test_class.declarator: zuluManifest
test_class.modifier: private
test_class.original_string: private URL zuluManifest;
test_class.type: URL
test_class.var_name: zuluManifest
test_class.declarator: alphaFilter = checklist ->
              MODULE_ALPHA.equals(checklist.getModuleName()) && CKL_NAME_ALPHA.equals(checklist.getName())
test_class.modifier: final
test_class.original_string: final Predicate<Checklist> alphaFilter = checklist ->
              MODULE_ALPHA.equals(checklist.getModuleName()) && CKL_NAME_ALPHA.equals(checklist.getName());
test_class.type: Predicate<Checklist>
test_class.var_name: alphaFilter
test_class.declarator: bravo1Filter = checklist ->
              MODULE_BRAVO.equals(checklist.getModuleName()) && CKL_NAME_BRAVO_1.equals(checklist.getName())
test_class.modifier: final
test_class.original_string: final Predicate<Checklist> bravo1Filter = checklist ->
              MODULE_BRAVO.equals(checklist.getModuleName()) && CKL_NAME_BRAVO_1.equals(checklist.getName());
test_class.type: Predicate<Checklist>
test_class.var_name: bravo1Filter
test_class.declarator: bravo2Filter = checklist ->
              MODULE_BRAVO.equals(checklist.getModuleName()) && CKL_NAME_BRAVO_2.equals(checklist.getName())
test_class.modifier: final
test_class.original_string: final Predicate<Checklist> bravo2Filter = checklist ->
              MODULE_BRAVO.equals(checklist.getModuleName()) && CKL_NAME_BRAVO_2.equals(checklist.getName());
test_class.type: Predicate<Checklist>
test_class.var_name: bravo2Filter
test_class.declarator: charlieFilter = checklist ->
              MODULE_CHARLIE.equals(checklist.getModuleName()) && CKL_NAME_CHARLIE.equals(checklist.getName())
test_class.modifier: final
test_class.original_string: final Predicate<Checklist> charlieFilter = checklist ->
              MODULE_CHARLIE.equals(checklist.getModuleName()) && CKL_NAME_CHARLIE.equals(checklist.getName());
test_class.type: Predicate<Checklist>
test_class.var_name: charlieFilter
test_class.file: core/src/test/java/net/adamcin/oakpal/core/ChecklistPlannerTest.java
test_class.identifier: ChecklistPlannerTest
test_case.body: @Test
      public void testBestModuleName() throws Exception {
          final File manifestWithOakpalModuleName = new File("src/test/resources/manifestWithOakpalModuleName.mf");
          final File manifestWithBundleSymbolicName = new File("src/test/resources/manifestWithBundleSymbolicName.mf");
          final File manifestWithAutomaticModuleName = new File("src/test/resources/manifestWithAutomaticModuleName.mf");
          final File manifestWithNoModuleName = new File("src/test/resources/manifestWithNoModuleName.mf");
  
          assertEquals(ChecklistPlanner.OAKPAL_MODULENAME + " takes precedence",
                  "oakpal.moduleName",
                  ChecklistPlanner.bestModuleName(manifestWithOakpalModuleName.toURI().toURL()));
          assertEquals(ChecklistPlanner.BUNDLE_SYMBOLICNAME + " takes precedence over AMN",
                  "bundle.symbolicName",
                  ChecklistPlanner.bestModuleName(manifestWithBundleSymbolicName.toURI().toURL()));
          assertEquals(ChecklistPlanner.AUTOMATIC_MODULE_NAME + " is last resort",
                  "auto.module.name",
                  ChecklistPlanner.bestModuleName(manifestWithAutomaticModuleName.toURI().toURL()));
          assertEquals("empty string if no header is present",
                  "",
                  ChecklistPlanner.bestModuleName(manifestWithNoModuleName.toURI().toURL()));
      }
test_case.class_method_signature: ChecklistPlannerTest.testBestModuleName()
test_case.full_signature: @Test public void testBestModuleName()
test_case.identifier: testBestModuleName
test_case.invocations: assertEquals bestModuleName toURL toURI assertEquals bestModuleName toURL toURI assertEquals bestModuleName toURL toURI assertEquals bestModuleName toURL toURI
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testBestModuleName()
focal_class.declarator: LOGGER = LoggerFactory.getLogger(ChecklistPlanner.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOGGER = LoggerFactory.getLogger(ChecklistPlanner.class);
focal_class.type: Logger
focal_class.var_name: LOGGER
focal_class.declarator: OAKPAL_CHECKLIST = "Oakpal-Checklist"
focal_class.modifier: public static final
focal_class.original_string: public static final String OAKPAL_CHECKLIST = "Oakpal-Checklist";
focal_class.type: String
focal_class.var_name: OAKPAL_CHECKLIST
focal_class.declarator: OAKPAL_MODULENAME = "Oakpal-ModuleName"
focal_class.modifier: public static final
focal_class.original_string: public static final String OAKPAL_MODULENAME = "Oakpal-ModuleName";
focal_class.type: String
focal_class.var_name: OAKPAL_MODULENAME
focal_class.declarator: BUNDLE_SYMBOLICNAME = "Bundle-SymbolicName"
focal_class.modifier: public static final
focal_class.original_string: public static final String BUNDLE_SYMBOLICNAME = "Bundle-SymbolicName";
focal_class.type: String
focal_class.var_name: BUNDLE_SYMBOLICNAME
focal_class.declarator: AUTOMATIC_MODULE_NAME = "Automatic-Module-Name"
focal_class.modifier: public static final
focal_class.original_string: public static final String AUTOMATIC_MODULE_NAME = "Automatic-Module-Name";
focal_class.type: String
focal_class.var_name: AUTOMATIC_MODULE_NAME
focal_class.declarator: activeChecklistIds = new LinkedHashSet<>()
focal_class.modifier: private final
focal_class.original_string: private final Set<String> activeChecklistIds = new LinkedHashSet<>();
focal_class.type: Set<String>
focal_class.var_name: activeChecklistIds
focal_class.declarator: checklists = new ArrayList<>()
focal_class.modifier: private final
focal_class.original_string: private final List<Checklist> checklists = new ArrayList<>();
focal_class.type: List<Checklist>
focal_class.var_name: checklists
focal_class.declarator: inactiveChecklists = new ArrayList<>()
focal_class.modifier: private final
focal_class.original_string: private final List<Checklist> inactiveChecklists = new ArrayList<>();
focal_class.type: List<Checklist>
focal_class.var_name: inactiveChecklists
focal_class.file: core/src/main/java/net/adamcin/oakpal/core/ChecklistPlanner.java
focal_class.identifier: ChecklistPlanner
focal_class.class_method_signature: ChecklistPlanner.ChecklistPlanner(final List<String> activeChecklistIds)
focal_class.full_signature: public  ChecklistPlanner(final List<String> activeChecklistIds)
focal_class.identifier: ChecklistPlanner
focal_class.modifiers: public
focal_class.parameters: (final List<String> activeChecklistIds)
focal_class.signature:  ChecklistPlanner(final List<String> activeChecklistIds)
focal_class.class_method_signature: ChecklistPlanner.provideChecklists(final List<Checklist> constructed)
focal_class.full_signature: public void provideChecklists(final List<Checklist> constructed)
focal_class.identifier: provideChecklists
focal_class.modifiers: public
focal_class.parameters: (final List<Checklist> constructed)
focal_class.return: void
focal_class.signature: void provideChecklists(final List<Checklist> constructed)
focal_class.class_method_signature: ChecklistPlanner.discoverChecklists()
focal_class.full_signature: public void discoverChecklists()
focal_class.identifier: discoverChecklists
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void discoverChecklists()
focal_class.class_method_signature: ChecklistPlanner.discoverChecklists(final ClassLoader classLoader)
focal_class.full_signature: public void discoverChecklists(final ClassLoader classLoader)
focal_class.identifier: discoverChecklists
focal_class.modifiers: public
focal_class.parameters: (final ClassLoader classLoader)
focal_class.return: void
focal_class.signature: void discoverChecklists(final ClassLoader classLoader)
focal_class.class_method_signature: ChecklistPlanner.discoverChecklists(final List<File> files)
focal_class.full_signature: public void discoverChecklists(final List<File> files)
focal_class.identifier: discoverChecklists
focal_class.modifiers: public
focal_class.parameters: (final List<File> files)
focal_class.return: void
focal_class.signature: void discoverChecklists(final List<File> files)
focal_class.class_method_signature: ChecklistPlanner.selectChecklists(final List<Checklist> constructed)
focal_class.full_signature: private void selectChecklists(final List<Checklist> constructed)
focal_class.identifier: selectChecklists
focal_class.modifiers: private
focal_class.parameters: (final List<Checklist> constructed)
focal_class.return: void
focal_class.signature: void selectChecklists(final List<Checklist> constructed)
focal_class.class_method_signature: ChecklistPlanner.isChecklistSelected(final String activeId, final Checklist checklist)
focal_class.full_signature: private boolean isChecklistSelected(final String activeId, final Checklist checklist)
focal_class.identifier: isChecklistSelected
focal_class.modifiers: private
focal_class.parameters: (final String activeId, final Checklist checklist)
focal_class.return: boolean
focal_class.signature: boolean isChecklistSelected(final String activeId, final Checklist checklist)
focal_class.class_method_signature: ChecklistPlanner.getInitStages()
focal_class.full_signature: public List<InitStage> getInitStages()
focal_class.identifier: getInitStages
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<InitStage>
focal_class.signature: List<InitStage> getInitStages()
focal_class.class_method_signature: ChecklistPlanner.getSelectedChecklists()
focal_class.full_signature:  Stream<Checklist> getSelectedChecklists()
focal_class.identifier: getSelectedChecklists
focal_class.parameters: ()
focal_class.return: Stream<Checklist>
focal_class.signature: Stream<Checklist> getSelectedChecklists()
focal_class.class_method_signature: ChecklistPlanner.getAllChecklists()
focal_class.full_signature:  Stream<Checklist> getAllChecklists()
focal_class.identifier: getAllChecklists
focal_class.parameters: ()
focal_class.return: Stream<Checklist>
focal_class.signature: Stream<Checklist> getAllChecklists()
focal_class.class_method_signature: ChecklistPlanner.getEffectiveCheckSpecs(final List<CheckSpec> checkOverrides)
focal_class.full_signature: public List<CheckSpec> getEffectiveCheckSpecs(final List<CheckSpec> checkOverrides)
focal_class.identifier: getEffectiveCheckSpecs
focal_class.modifiers: public
focal_class.parameters: (final List<CheckSpec> checkOverrides)
focal_class.return: List<CheckSpec>
focal_class.signature: List<CheckSpec> getEffectiveCheckSpecs(final List<CheckSpec> checkOverrides)
focal_class.class_method_signature: ChecklistPlanner.applyOverrides(final List<CheckSpec> checkOverrides, final CheckSpec base)
focal_class.full_signature: static CheckSpec applyOverrides(final List<CheckSpec> checkOverrides, final CheckSpec base)
focal_class.identifier: applyOverrides
focal_class.modifiers: static
focal_class.parameters: (final List<CheckSpec> checkOverrides, final CheckSpec base)
focal_class.return: CheckSpec
focal_class.signature: CheckSpec applyOverrides(final List<CheckSpec> checkOverrides, final CheckSpec base)
focal_class.class_method_signature: ChecklistPlanner.constructChecklists(final Map<URL, List<JsonObject>> parsed)
focal_class.full_signature: public static List<Checklist> constructChecklists(final Map<URL, List<JsonObject>> parsed)
focal_class.identifier: constructChecklists
focal_class.modifiers: public static
focal_class.parameters: (final Map<URL, List<JsonObject>> parsed)
focal_class.return: List<Checklist>
focal_class.signature: List<Checklist> constructChecklists(final Map<URL, List<JsonObject>> parsed)
focal_class.class_method_signature: ChecklistPlanner.parseChecklists(final URL manifestUrl)
focal_class.full_signature: public static Map<URL, List<JsonObject>> parseChecklists(final URL manifestUrl)
focal_class.identifier: parseChecklists
focal_class.modifiers: public static
focal_class.parameters: (final URL manifestUrl)
focal_class.return: Map<URL, List<JsonObject>>
focal_class.signature: Map<URL, List<JsonObject>> parseChecklists(final URL manifestUrl)
focal_class.class_method_signature: ChecklistPlanner.parseChecklists(final ClassLoader classLoader)
focal_class.full_signature: public static Map<URL, List<JsonObject>> parseChecklists(final ClassLoader classLoader)
focal_class.identifier: parseChecklists
focal_class.modifiers: public static
focal_class.parameters: (final ClassLoader classLoader)
focal_class.return: Map<URL, List<JsonObject>>
focal_class.signature: Map<URL, List<JsonObject>> parseChecklists(final ClassLoader classLoader)
focal_class.class_method_signature: ChecklistPlanner.parseChecklists(final List<File> files)
focal_class.full_signature: public static Map<URL, List<JsonObject>> parseChecklists(final List<File> files)
focal_class.identifier: parseChecklists
focal_class.modifiers: public static
focal_class.parameters: (final List<File> files)
focal_class.return: Map<URL, List<JsonObject>>
focal_class.signature: Map<URL, List<JsonObject>> parseChecklists(final List<File> files)
focal_class.class_method_signature: ChecklistPlanner.parseChecklists(final Map<URL, List<URL>> manifestLookup)
focal_class.full_signature: static Map<URL, List<JsonObject>> parseChecklists(final Map<URL, List<URL>> manifestLookup)
focal_class.identifier: parseChecklists
focal_class.modifiers: static
focal_class.parameters: (final Map<URL, List<URL>> manifestLookup)
focal_class.return: Map<URL, List<JsonObject>>
focal_class.signature: Map<URL, List<JsonObject>> parseChecklists(final Map<URL, List<URL>> manifestLookup)
focal_class.class_method_signature: ChecklistPlanner.bestModuleName(final URL manifestUrl)
focal_class.full_signature: static String bestModuleName(final URL manifestUrl)
focal_class.identifier: bestModuleName
focal_class.modifiers: static
focal_class.parameters: (final URL manifestUrl)
focal_class.return: String
focal_class.signature: String bestModuleName(final URL manifestUrl)
focal_method.body: static String bestModuleName(final URL manifestUrl) throws Exception {
          try (InputStream is = manifestUrl.openStream()) {
              final Manifest manifest = new Manifest(is);
              List<String> omns = Util.getManifestHeaderValues(manifest, OAKPAL_MODULENAME);
              if (!omns.isEmpty()) {
                  return omns.get(0);
              }
              List<String> bsns = Util.getManifestHeaderValues(manifest, BUNDLE_SYMBOLICNAME);
              if (!bsns.isEmpty()) {
                  return bsns.get(0);
              }
              List<String> amns = Util.getManifestHeaderValues(manifest, AUTOMATIC_MODULE_NAME);
              if (!amns.isEmpty()) {
                  return amns.get(0);
              }
          }
          return "";
      }
focal_method.class_method_signature: ChecklistPlanner.bestModuleName(final URL manifestUrl)
focal_method.full_signature: static String bestModuleName(final URL manifestUrl)
focal_method.identifier: bestModuleName
focal_method.invocations: openStream getManifestHeaderValues isEmpty get getManifestHeaderValues isEmpty get getManifestHeaderValues isEmpty get
focal_method.modifiers: static
focal_method.parameters: (final URL manifestUrl)
focal_method.return: String
focal_method.signature: String bestModuleName(final URL manifestUrl)