test_class.declarator: testOutDir = new File("target/test-out/OakMachineTest")
test_class.modifier: final
test_class.original_string: final File testOutDir = new File("target/test-out/OakMachineTest");
test_class.type: File
test_class.var_name: testOutDir
test_class.file: core/src/test/java/net/adamcin/oakpal/core/OakMachineTest.java
test_class.identifier: OakMachineTest
test_case.body: @Test
      public void testProcessInstallableQueue_singleRepoInitInstallable_fails() throws Exception {
          final String expectScript = "create user testProcessInstallableQueue_singleRepoInitInstallable";
          final JcrPackageManager manager = mock(JcrPackageManager.class);
          final Session session = mock(Session.class);
          final PackageId root = PackageId.fromString("my_packages:subsubtest");
          final OsgiConfigInstallable installable = new OsgiConfigInstallable(
                  root, "/repoInit",
                  Collections.singletonMap(SlingRepoInitScripts.CONFIG_SCRIPTS,
                          Collections.singletonList(expectScript)),
                  "init", SlingRepoInitScripts.REPO_INIT_FACTORY_PID);
  
          final List<OsgiConfigInstallable> installables = new ArrayList<>();
          installables.add(installable);
          final SlingSimulatorBackend installWatcher = mock(SlingSimulatorBackend.class);
          final List<Optional<OsgiConfigInstallable>> dequeuedValues = new ArrayList<>();
  
          doAnswer(call -> {
              if (installables.isEmpty()) {
                  dequeuedValues.add(Optional.empty());
                  return null;
              } else {
                  OsgiConfigInstallable toReturn = installables.remove(0);
                  dequeuedValues.add(Optional.ofNullable(toReturn));
                  return toReturn;
              }
          }).when(installWatcher).dequeueInstallable();
  
          final CompletableFuture<Reader> readerSlot = new CompletableFuture<>();
          final OakMachine.RepoInitProcessor repoInitProcessor = (Session sess, Reader read) -> {
              readerSlot.complete(read);
              throw new NullPointerException("for some reason");
          };
  
          final CompletableFuture<Throwable> eLatch = new CompletableFuture<>();
          final CompletableFuture<List> scriptsLatch = new CompletableFuture<>();
          final CompletableFuture<String> scriptLatch = new CompletableFuture<>();
          final CompletableFuture<SlingInstallable> installableLatch = new CompletableFuture<>();
          final ErrorListener errorListener = mock(ErrorListener.class);
          doAnswer(call -> {
              eLatch.complete(call.getArgument(0, Throwable.class));
              scriptsLatch.complete(call.getArgument(1, List.class));
              scriptLatch.complete(call.getArgument(2, String.class));
              installableLatch.complete(call.getArgument(3, SlingInstallable.class));
              return true;
          }).when(errorListener).onSlingRepoInitScriptsError(any(Throwable.class), nullable(List.class), nullable(String.class),
                  any(SlingInstallable.class));
  
          new OakMachine.Builder()
                  .withErrorListener(errorListener)
                  .withRepoInitProcesser(repoInitProcessor)
                  .withSlingSimulator(installWatcher)
                  .build().processInstallableQueue(session, manager, root, false);
  
          assertEquals("expect dequeued values",
                  Arrays.asList(Optional.of(installable), Optional.empty()), dequeuedValues);
          assertTrue("expect reader is complete", readerSlot.isDone());
          assertTrue("error is of type", eLatch.getNow(null) instanceof NullPointerException);
          assertEquals("scripts is", Collections.singletonList(expectScript), scriptsLatch.getNow(null));
          assertEquals("failedScript is", expectScript, scriptLatch.getNow(null));
          assertSame("expect same installable in error", installable, installableLatch.getNow(null));
      }
test_case.class_method_signature: OakMachineTest.testProcessInstallableQueue_singleRepoInitInstallable_fails()
test_case.full_signature: @Test public void testProcessInstallableQueue_singleRepoInitInstallable_fails()
test_case.identifier: testProcessInstallableQueue_singleRepoInitInstallable_fails
test_case.invocations: mock mock fromString singletonMap singletonList add mock dequeueInstallable when doAnswer isEmpty add empty remove add ofNullable complete mock onSlingRepoInitScriptsError when doAnswer complete getArgument complete getArgument complete getArgument complete getArgument any nullable nullable any processInstallableQueue build withSlingSimulator withRepoInitProcesser withErrorListener assertEquals asList of empty assertTrue isDone assertTrue getNow assertEquals singletonList getNow assertEquals getNow assertSame getNow
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testProcessInstallableQueue_singleRepoInitInstallable_fails()
focal_class.declarator: NS_URI_OAKPAL = "oakpaltmp"
focal_class.modifier: public static final
focal_class.original_string: public static final String NS_URI_OAKPAL = "oakpaltmp";
focal_class.type: String
focal_class.var_name: NS_URI_OAKPAL
focal_class.declarator: NS_PREFIX_OAKPAL = "oakpaltmp"
focal_class.modifier: public static final
focal_class.original_string: public static final String NS_PREFIX_OAKPAL = "oakpaltmp";
focal_class.type: String
focal_class.var_name: NS_PREFIX_OAKPAL
focal_class.declarator: LN_UNDECLARED = "Undeclared"
focal_class.modifier: public static final
focal_class.original_string: public static final String LN_UNDECLARED = "Undeclared";
focal_class.type: String
focal_class.var_name: LN_UNDECLARED
focal_class.declarator: NT_UNDECLARED = "{" + NS_URI_OAKPAL + "}" + LN_UNDECLARED
focal_class.modifier: public static final
focal_class.original_string: public static final String NT_UNDECLARED = "{" + NS_URI_OAKPAL + "}" + LN_UNDECLARED;
focal_class.type: String
focal_class.var_name: NT_UNDECLARED
focal_class.declarator: packagingService
focal_class.modifier: private final
focal_class.original_string: private final Packaging packagingService;
focal_class.type: Packaging
focal_class.var_name: packagingService
focal_class.declarator: progressChecks
focal_class.modifier: private final
focal_class.original_string: private final List<ProgressCheck> progressChecks;
focal_class.type: List<ProgressCheck>
focal_class.var_name: progressChecks
focal_class.declarator: errorListener
focal_class.modifier: private final
focal_class.original_string: private final ErrorListener errorListener;
focal_class.type: ErrorListener
focal_class.var_name: errorListener
focal_class.declarator: preInstallUrls
focal_class.modifier: private final
focal_class.original_string: private final List<URL> preInstallUrls;
focal_class.type: List<URL>
focal_class.var_name: preInstallUrls
focal_class.declarator: initStages
focal_class.modifier: private final
focal_class.original_string: private final List<InitStage> initStages;
focal_class.type: List<InitStage>
focal_class.var_name: initStages
focal_class.declarator: jcrCustomizer
focal_class.modifier: private final
focal_class.original_string: private final JcrCustomizer jcrCustomizer;
focal_class.type: JcrCustomizer
focal_class.var_name: jcrCustomizer
focal_class.declarator: installHookProcessorFactory
focal_class.modifier: private final
focal_class.original_string: private final InstallHookProcessorFactory installHookProcessorFactory;
focal_class.type: InstallHookProcessorFactory
focal_class.var_name: installHookProcessorFactory
focal_class.declarator: installHookClassLoader
focal_class.modifier: private final
focal_class.original_string: private final ClassLoader installHookClassLoader;
focal_class.type: ClassLoader
focal_class.var_name: installHookClassLoader
focal_class.declarator: enablePreInstallHooks
focal_class.modifier: private final
focal_class.original_string: private final boolean enablePreInstallHooks;
focal_class.type: boolean
focal_class.var_name: enablePreInstallHooks
focal_class.declarator: scanInstallHookPolicy
focal_class.modifier: private final
focal_class.original_string: private final InstallHookPolicy scanInstallHookPolicy;
focal_class.type: InstallHookPolicy
focal_class.var_name: scanInstallHookPolicy
focal_class.declarator: nodeStoreSupplier
focal_class.modifier: private final
focal_class.original_string: private final Supplier<NodeStore> nodeStoreSupplier;
focal_class.type: Supplier<NodeStore>
focal_class.var_name: nodeStoreSupplier
focal_class.declarator: subpackageSilencer
focal_class.modifier: private final
focal_class.original_string: private final SubpackageSilencer subpackageSilencer;
focal_class.type: SubpackageSilencer
focal_class.var_name: subpackageSilencer
focal_class.declarator: repoInitProcessor
focal_class.modifier: private final
focal_class.original_string: private final RepoInitProcessor repoInitProcessor;
focal_class.type: RepoInitProcessor
focal_class.var_name: repoInitProcessor
focal_class.declarator: slingSimulator
focal_class.modifier: private final
focal_class.original_string: private final SlingSimulatorBackend slingSimulator;
focal_class.type: SlingSimulatorBackend
focal_class.var_name: slingSimulator
focal_class.declarator: runModes
focal_class.modifier: private final
focal_class.original_string: private final Set<String> runModes;
focal_class.type: Set<String>
focal_class.var_name: runModes
focal_class.file: core/src/main/java/net/adamcin/oakpal/core/OakMachine.java
focal_class.identifier: OakMachine
focal_class.class_method_signature: OakMachine.OakMachine(final Packaging packagingService,
                         final List<ProgressCheck> progressChecks,
                         final ErrorListener errorListener,
                         final List<URL> preInstallUrls,
                         final List<InitStage> initStages,
                         final JcrCustomizer jcrCustomizer,
                         final InstallHookProcessorFactory installHookProcessorFactory,
                         final ClassLoader installHookClassLoader,
                         final boolean enablePreInstallHooks,
                         final InstallHookPolicy scanInstallHookPolicy,
                         final Supplier<NodeStore> nodeStoreSupplier,
                         final SubpackageSilencer subpackageSilencer,
                         final RepoInitProcessor repoInitProcessor,
                         final SlingSimulatorBackend slingSimulator,
                         final Set<String> runModes)
focal_class.full_signature: private  OakMachine(final Packaging packagingService,
                         final List<ProgressCheck> progressChecks,
                         final ErrorListener errorListener,
                         final List<URL> preInstallUrls,
                         final List<InitStage> initStages,
                         final JcrCustomizer jcrCustomizer,
                         final InstallHookProcessorFactory installHookProcessorFactory,
                         final ClassLoader installHookClassLoader,
                         final boolean enablePreInstallHooks,
                         final InstallHookPolicy scanInstallHookPolicy,
                         final Supplier<NodeStore> nodeStoreSupplier,
                         final SubpackageSilencer subpackageSilencer,
                         final RepoInitProcessor repoInitProcessor,
                         final SlingSimulatorBackend slingSimulator,
                         final Set<String> runModes)
focal_class.identifier: OakMachine
focal_class.modifiers: private
focal_class.parameters: (final Packaging packagingService,
                         final List<ProgressCheck> progressChecks,
                         final ErrorListener errorListener,
                         final List<URL> preInstallUrls,
                         final List<InitStage> initStages,
                         final JcrCustomizer jcrCustomizer,
                         final InstallHookProcessorFactory installHookProcessorFactory,
                         final ClassLoader installHookClassLoader,
                         final boolean enablePreInstallHooks,
                         final InstallHookPolicy scanInstallHookPolicy,
                         final Supplier<NodeStore> nodeStoreSupplier,
                         final SubpackageSilencer subpackageSilencer,
                         final RepoInitProcessor repoInitProcessor,
                         final SlingSimulatorBackend slingSimulator,
                         final Set<String> runModes)
focal_class.signature:  OakMachine(final Packaging packagingService,
                         final List<ProgressCheck> progressChecks,
                         final ErrorListener errorListener,
                         final List<URL> preInstallUrls,
                         final List<InitStage> initStages,
                         final JcrCustomizer jcrCustomizer,
                         final InstallHookProcessorFactory installHookProcessorFactory,
                         final ClassLoader installHookClassLoader,
                         final boolean enablePreInstallHooks,
                         final InstallHookPolicy scanInstallHookPolicy,
                         final Supplier<NodeStore> nodeStoreSupplier,
                         final SubpackageSilencer subpackageSilencer,
                         final RepoInitProcessor repoInitProcessor,
                         final SlingSimulatorBackend slingSimulator,
                         final Set<String> runModes)
focal_class.class_method_signature: OakMachine.getProgressChecks()
focal_class.full_signature: public List<ProgressCheck> getProgressChecks()
focal_class.identifier: getProgressChecks
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<ProgressCheck>
focal_class.signature: List<ProgressCheck> getProgressChecks()
focal_class.class_method_signature: OakMachine.getErrorListener()
focal_class.full_signature: public ErrorListener getErrorListener()
focal_class.identifier: getErrorListener
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: ErrorListener
focal_class.signature: ErrorListener getErrorListener()
focal_class.class_method_signature: OakMachine.getPreInstallFiles()
focal_class.full_signature: @Deprecated public List<File> getPreInstallFiles()
focal_class.identifier: getPreInstallFiles
focal_class.modifiers: @Deprecated public
focal_class.parameters: ()
focal_class.return: List<File>
focal_class.signature: List<File> getPreInstallFiles()
focal_class.class_method_signature: OakMachine.getPreInstallUrls()
focal_class.full_signature: public List<URL> getPreInstallUrls()
focal_class.identifier: getPreInstallUrls
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: List<URL>
focal_class.signature: List<URL> getPreInstallUrls()
focal_class.class_method_signature: OakMachine.initAndInspect(final InspectBody<E> inspectBody)
focal_class.full_signature: @SuppressWarnings("WeakerAccess") public void initAndInspect(final InspectBody<E> inspectBody)
focal_class.identifier: initAndInspect
focal_class.modifiers: @SuppressWarnings("WeakerAccess") public
focal_class.parameters: (final InspectBody<E> inspectBody)
focal_class.return: void
focal_class.signature: void initAndInspect(final InspectBody<E> inspectBody)
focal_class.class_method_signature: OakMachine.adminInitAndInspect(final InspectBody<E> inspectBody)
focal_class.full_signature: public void adminInitAndInspect(final InspectBody<E> inspectBody)
focal_class.identifier: adminInitAndInspect
focal_class.modifiers: public
focal_class.parameters: (final InspectBody<E> inspectBody)
focal_class.return: void
focal_class.signature: void adminInitAndInspect(final InspectBody<E> inspectBody)
focal_class.class_method_signature: OakMachine.initSlingSimulator(final Session admin, final JcrPackageManager manager, final ErrorListener errorListener)
focal_class.full_signature:  void initSlingSimulator(final Session admin, final JcrPackageManager manager, final ErrorListener errorListener)
focal_class.identifier: initSlingSimulator
focal_class.parameters: (final Session admin, final JcrPackageManager manager, final ErrorListener errorListener)
focal_class.return: void
focal_class.signature: void initSlingSimulator(final Session admin, final JcrPackageManager manager, final ErrorListener errorListener)
focal_class.class_method_signature: OakMachine.scanPackage(final @NotNull File... file)
focal_class.full_signature: public List<CheckReport> scanPackage(final @NotNull File... file)
focal_class.identifier: scanPackage
focal_class.modifiers: public
focal_class.parameters: (final @NotNull File... file)
focal_class.return: List<CheckReport>
focal_class.signature: List<CheckReport> scanPackage(final @NotNull File... file)
focal_class.class_method_signature: OakMachine.scanPackages(final List<File> files)
focal_class.full_signature: public List<CheckReport> scanPackages(final List<File> files)
focal_class.identifier: scanPackages
focal_class.modifiers: public
focal_class.parameters: (final List<File> files)
focal_class.return: List<CheckReport>
focal_class.signature: List<CheckReport> scanPackages(final List<File> files)
focal_class.class_method_signature: OakMachine.addOakpalTypes(final Session admin)
focal_class.full_signature: private void addOakpalTypes(final Session admin)
focal_class.identifier: addOakpalTypes
focal_class.modifiers: private
focal_class.parameters: (final Session admin)
focal_class.return: void
focal_class.signature: void addOakpalTypes(final Session admin)
focal_class.class_method_signature: OakMachine.processPackage(Session admin, JcrPackageManager manager, JcrPackage jcrPackage, final boolean preInstall)
focal_class.full_signature: private void processPackage(Session admin, JcrPackageManager manager, JcrPackage jcrPackage, final boolean preInstall)
focal_class.identifier: processPackage
focal_class.modifiers: private
focal_class.parameters: (Session admin, JcrPackageManager manager, JcrPackage jcrPackage, final boolean preInstall)
focal_class.return: void
focal_class.signature: void processPackage(Session admin, JcrPackageManager manager, JcrPackage jcrPackage, final boolean preInstall)
focal_class.class_method_signature: OakMachine.preprocessInstallableSubpackages(final JcrPackageManager manager,
                                                       final PackageId parentPackageId,
                                                       final SubPackageHandling subPackageHandling,
                                                       final List<PackageId> subpacks)
focal_class.full_signature:  List<PackageId> preprocessInstallableSubpackages(final JcrPackageManager manager,
                                                       final PackageId parentPackageId,
                                                       final SubPackageHandling subPackageHandling,
                                                       final List<PackageId> subpacks)
focal_class.identifier: preprocessInstallableSubpackages
focal_class.parameters: (final JcrPackageManager manager,
                                                       final PackageId parentPackageId,
                                                       final SubPackageHandling subPackageHandling,
                                                       final List<PackageId> subpacks)
focal_class.return: List<PackageId>
focal_class.signature: List<PackageId> preprocessInstallableSubpackages(final JcrPackageManager manager,
                                                       final PackageId parentPackageId,
                                                       final SubPackageHandling subPackageHandling,
                                                       final List<PackageId> subpacks)
focal_class.class_method_signature: OakMachine.newProgressCheckEventConsumer(final boolean silenced,
                                    final @NotNull Fun.ThrowingConsumer<ProgressCheck> checkVisitor,
                                    final @NotNull BiConsumer<ProgressCheck, Exception> onError)
focal_class.full_signature: static Consumer<ProgressCheck> newProgressCheckEventConsumer(final boolean silenced,
                                    final @NotNull Fun.ThrowingConsumer<ProgressCheck> checkVisitor,
                                    final @NotNull BiConsumer<ProgressCheck, Exception> onError)
focal_class.identifier: newProgressCheckEventConsumer
focal_class.modifiers: static
focal_class.parameters: (final boolean silenced,
                                    final @NotNull Fun.ThrowingConsumer<ProgressCheck> checkVisitor,
                                    final @NotNull BiConsumer<ProgressCheck, Exception> onError)
focal_class.return: Consumer<ProgressCheck>
focal_class.signature: Consumer<ProgressCheck> newProgressCheckEventConsumer(final boolean silenced,
                                    final @NotNull Fun.ThrowingConsumer<ProgressCheck> checkVisitor,
                                    final @NotNull BiConsumer<ProgressCheck, Exception> onError)
focal_class.class_method_signature: OakMachine.propagateCheckPackageEvent(final boolean silenced,
                                            final @NotNull PackageId packageId,
                                            final @NotNull Fun.ThrowingConsumer<ProgressCheck> checkVisitor)
focal_class.full_signature: final void propagateCheckPackageEvent(final boolean silenced,
                                            final @NotNull PackageId packageId,
                                            final @NotNull Fun.ThrowingConsumer<ProgressCheck> checkVisitor)
focal_class.identifier: propagateCheckPackageEvent
focal_class.modifiers: final
focal_class.parameters: (final boolean silenced,
                                            final @NotNull PackageId packageId,
                                            final @NotNull Fun.ThrowingConsumer<ProgressCheck> checkVisitor)
focal_class.return: void
focal_class.signature: void propagateCheckPackageEvent(final boolean silenced,
                                            final @NotNull PackageId packageId,
                                            final @NotNull Fun.ThrowingConsumer<ProgressCheck> checkVisitor)
focal_class.class_method_signature: OakMachine.propagateCheckPathEvent(final boolean silenced,
                                         final @NotNull PackageId packageId,
                                         final @NotNull String path,
                                         final @NotNull Fun.ThrowingConsumer<ProgressCheck> checkVisitor)
focal_class.full_signature: final void propagateCheckPathEvent(final boolean silenced,
                                         final @NotNull PackageId packageId,
                                         final @NotNull String path,
                                         final @NotNull Fun.ThrowingConsumer<ProgressCheck> checkVisitor)
focal_class.identifier: propagateCheckPathEvent
focal_class.modifiers: final
focal_class.parameters: (final boolean silenced,
                                         final @NotNull PackageId packageId,
                                         final @NotNull String path,
                                         final @NotNull Fun.ThrowingConsumer<ProgressCheck> checkVisitor)
focal_class.return: void
focal_class.signature: void propagateCheckPathEvent(final boolean silenced,
                                         final @NotNull PackageId packageId,
                                         final @NotNull String path,
                                         final @NotNull Fun.ThrowingConsumer<ProgressCheck> checkVisitor)
focal_class.class_method_signature: OakMachine.internalProcessSubpackage(final @NotNull Session admin,
                                           final @NotNull JcrPackageManager manager,
                                           final @NotNull PackageId packageId,
                                           final boolean preInstall,
                                           final @NotNull Fun.ThrowingSupplier<JcrPackage> jcrPackageSupplier,
                                           final @NotNull Fun.ThrowingConsumer<ProgressCheck> identifyEvent,
                                           final @NotNull Consumer<Exception> onError)
focal_class.full_signature: final void internalProcessSubpackage(final @NotNull Session admin,
                                           final @NotNull JcrPackageManager manager,
                                           final @NotNull PackageId packageId,
                                           final boolean preInstall,
                                           final @NotNull Fun.ThrowingSupplier<JcrPackage> jcrPackageSupplier,
                                           final @NotNull Fun.ThrowingConsumer<ProgressCheck> identifyEvent,
                                           final @NotNull Consumer<Exception> onError)
focal_class.identifier: internalProcessSubpackage
focal_class.modifiers: final
focal_class.parameters: (final @NotNull Session admin,
                                           final @NotNull JcrPackageManager manager,
                                           final @NotNull PackageId packageId,
                                           final boolean preInstall,
                                           final @NotNull Fun.ThrowingSupplier<JcrPackage> jcrPackageSupplier,
                                           final @NotNull Fun.ThrowingConsumer<ProgressCheck> identifyEvent,
                                           final @NotNull Consumer<Exception> onError)
focal_class.return: void
focal_class.signature: void internalProcessSubpackage(final @NotNull Session admin,
                                           final @NotNull JcrPackageManager manager,
                                           final @NotNull PackageId packageId,
                                           final boolean preInstall,
                                           final @NotNull Fun.ThrowingSupplier<JcrPackage> jcrPackageSupplier,
                                           final @NotNull Fun.ThrowingConsumer<ProgressCheck> identifyEvent,
                                           final @NotNull Consumer<Exception> onError)
focal_class.class_method_signature: OakMachine.processSubpackage(final @NotNull Session admin,
                                   final @NotNull JcrPackageManager manager,
                                   final @NotNull PackageId packageId,
                                   final @NotNull PackageId parentId,
                                   final boolean preInstall)
focal_class.full_signature: final void processSubpackage(final @NotNull Session admin,
                                   final @NotNull JcrPackageManager manager,
                                   final @NotNull PackageId packageId,
                                   final @NotNull PackageId parentId,
                                   final boolean preInstall)
focal_class.identifier: processSubpackage
focal_class.modifiers: final
focal_class.parameters: (final @NotNull Session admin,
                                   final @NotNull JcrPackageManager manager,
                                   final @NotNull PackageId packageId,
                                   final @NotNull PackageId parentId,
                                   final boolean preInstall)
focal_class.return: void
focal_class.signature: void processSubpackage(final @NotNull Session admin,
                                   final @NotNull JcrPackageManager manager,
                                   final @NotNull PackageId packageId,
                                   final @NotNull PackageId parentId,
                                   final boolean preInstall)
focal_class.class_method_signature: OakMachine.processEmbeddedPackage(final @NotNull Session admin,
                                        final @NotNull JcrPackageManager manager,
                                        final @NotNull EmbeddedPackageInstallable installable,
                                        final boolean preInstall)
focal_class.full_signature: final void processEmbeddedPackage(final @NotNull Session admin,
                                        final @NotNull JcrPackageManager manager,
                                        final @NotNull EmbeddedPackageInstallable installable,
                                        final boolean preInstall)
focal_class.identifier: processEmbeddedPackage
focal_class.modifiers: final
focal_class.parameters: (final @NotNull Session admin,
                                        final @NotNull JcrPackageManager manager,
                                        final @NotNull EmbeddedPackageInstallable installable,
                                        final boolean preInstall)
focal_class.return: void
focal_class.signature: void processEmbeddedPackage(final @NotNull Session admin,
                                        final @NotNull JcrPackageManager manager,
                                        final @NotNull EmbeddedPackageInstallable installable,
                                        final boolean preInstall)
focal_class.class_method_signature: OakMachine.processUploadedPackage(final @NotNull Session admin,
                                          final @NotNull JcrPackageManager manager,
                                          final boolean preInstall,
                                          final @NotNull JcrPackage jcrPackage)
focal_class.full_signature: private void processUploadedPackage(final @NotNull Session admin,
                                          final @NotNull JcrPackageManager manager,
                                          final boolean preInstall,
                                          final @NotNull JcrPackage jcrPackage)
focal_class.identifier: processUploadedPackage
focal_class.modifiers: private
focal_class.parameters: (final @NotNull Session admin,
                                          final @NotNull JcrPackageManager manager,
                                          final boolean preInstall,
                                          final @NotNull JcrPackage jcrPackage)
focal_class.return: void
focal_class.signature: void processUploadedPackage(final @NotNull Session admin,
                                          final @NotNull JcrPackageManager manager,
                                          final boolean preInstall,
                                          final @NotNull JcrPackage jcrPackage)
focal_class.class_method_signature: OakMachine.processInstallableQueue(final @NotNull Session admin,
                                   final @NotNull JcrPackageManager manager,
                                   final @NotNull PackageId lastPackageId,
                                   final boolean preInstall)
focal_class.full_signature:  void processInstallableQueue(final @NotNull Session admin,
                                   final @NotNull JcrPackageManager manager,
                                   final @NotNull PackageId lastPackageId,
                                   final boolean preInstall)
focal_class.identifier: processInstallableQueue
focal_class.parameters: (final @NotNull Session admin,
                                   final @NotNull JcrPackageManager manager,
                                   final @NotNull PackageId lastPackageId,
                                   final boolean preInstall)
focal_class.return: void
focal_class.signature: void processInstallableQueue(final @NotNull Session admin,
                                   final @NotNull JcrPackageManager manager,
                                   final @NotNull PackageId lastPackageId,
                                   final boolean preInstall)
focal_class.class_method_signature: OakMachine.processPackageUrl(final @NotNull Session admin,
                                   final @NotNull JcrPackageManager manager,
                                   final boolean preInstall,
                                   final @NotNull URL url)
focal_class.full_signature: final void processPackageUrl(final @NotNull Session admin,
                                   final @NotNull JcrPackageManager manager,
                                   final boolean preInstall,
                                   final @NotNull URL url)
focal_class.identifier: processPackageUrl
focal_class.modifiers: final
focal_class.parameters: (final @NotNull Session admin,
                                   final @NotNull JcrPackageManager manager,
                                   final boolean preInstall,
                                   final @NotNull URL url)
focal_class.return: void
focal_class.signature: void processPackageUrl(final @NotNull Session admin,
                                   final @NotNull JcrPackageManager manager,
                                   final boolean preInstall,
                                   final @NotNull URL url)
focal_class.class_method_signature: OakMachine.processPackageFile(final @NotNull Session admin,
                                    final @NotNull JcrPackageManager manager,
                                    final boolean preInstall,
                                    final @NotNull File file)
focal_class.full_signature: final void processPackageFile(final @NotNull Session admin,
                                    final @NotNull JcrPackageManager manager,
                                    final boolean preInstall,
                                    final @NotNull File file)
focal_class.identifier: processPackageFile
focal_class.modifiers: final
focal_class.parameters: (final @NotNull Session admin,
                                    final @NotNull JcrPackageManager manager,
                                    final boolean preInstall,
                                    final @NotNull File file)
focal_class.return: void
focal_class.signature: void processPackageFile(final @NotNull Session admin,
                                    final @NotNull JcrPackageManager manager,
                                    final boolean preInstall,
                                    final @NotNull File file)
focal_class.class_method_signature: OakMachine.authzPath(final NodeBuilder parent, final String name)
focal_class.full_signature: private static NodeBuilder authzPath(final NodeBuilder parent, final String name)
focal_class.identifier: authzPath
focal_class.modifiers: private static
focal_class.parameters: (final NodeBuilder parent, final String name)
focal_class.return: NodeBuilder
focal_class.signature: NodeBuilder authzPath(final NodeBuilder parent, final String name)
focal_class.class_method_signature: OakMachine.initRepository()
focal_class.full_signature: private Repository initRepository()
focal_class.identifier: initRepository
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: Repository
focal_class.signature: Repository initRepository()
focal_class.class_method_signature: OakMachine.shutdownRepository(Repository repository)
focal_class.full_signature: private void shutdownRepository(Repository repository)
focal_class.identifier: shutdownRepository
focal_class.modifiers: private
focal_class.parameters: (Repository repository)
focal_class.return: void
focal_class.signature: void shutdownRepository(Repository repository)
focal_class.class_method_signature: OakMachine.loginAdmin(Repository repository)
focal_class.full_signature: private Session loginAdmin(Repository repository)
focal_class.identifier: loginAdmin
focal_class.modifiers: private
focal_class.parameters: (Repository repository)
focal_class.return: Session
focal_class.signature: Session loginAdmin(Repository repository)
focal_class.class_method_signature: OakMachine.installVltNodetypes(final Session admin)
focal_class.full_signature: private void installVltNodetypes(final Session admin)
focal_class.identifier: installVltNodetypes
focal_class.modifiers: private
focal_class.parameters: (final Session admin)
focal_class.return: void
focal_class.signature: void installVltNodetypes(final Session admin)
focal_class.class_method_signature: OakMachine.newOakpalPackagingService()
focal_class.full_signature: public static Packaging newOakpalPackagingService()
focal_class.identifier: newOakpalPackagingService
focal_class.modifiers: public static
focal_class.parameters: ()
focal_class.return: Packaging
focal_class.signature: Packaging newOakpalPackagingService()
focal_class.class_method_signature: OakMachine.newOakpalPackagingService(final @NotNull ClassLoader classLoader)
focal_class.full_signature: public static Packaging newOakpalPackagingService(final @NotNull ClassLoader classLoader)
focal_class.identifier: newOakpalPackagingService
focal_class.modifiers: public static
focal_class.parameters: (final @NotNull ClassLoader classLoader)
focal_class.return: Packaging
focal_class.signature: Packaging newOakpalPackagingService(final @NotNull ClassLoader classLoader)
focal_method.body: void processInstallableQueue(final @NotNull Session admin,
                                   final @NotNull JcrPackageManager manager,
                                   final @NotNull PackageId lastPackageId,
                                   final boolean preInstall) throws RepositoryException {
          final Session inspectSession = Util.wrapSessionReadOnly(admin);
          SlingInstallable dequeued = slingSimulator.dequeueInstallable();
          while (dequeued != null) {
              final SlingInstallable installable = dequeued;
  
              propagateCheckPackageEvent(preInstall, installable.getParentId(),
                      check -> check.beforeSlingInstall(lastPackageId, installable, inspectSession));
  
              Optional<SlingRepoInitScripts> initScriptsResult =
                      Optional.ofNullable(SlingRepoInitScripts.fromSlingInstallable(installable));
  
              initScriptsResult.ifPresent(initScripts -> {
                  for (final String repoInitScript : initScripts.getScripts()) {
                      try (Reader reader = new StringReader(repoInitScript)) {
                          repoInitProcessor.apply(admin, reader);
                          admin.save();
                      } catch (final Exception e) {
                          getErrorListener().onSlingRepoInitScriptsError(e, initScripts.getScripts(),
                                  repoInitScript, installable);
                          Fun.<Session>uncheckVoid1(session -> session.refresh(false)).accept(admin);
                      }
                  }
                  propagateCheckPackageEvent(preInstall, installable.getParentId(),
                          check -> check.appliedRepoInitScripts(lastPackageId, initScripts.getScripts(),
                                  installable, inspectSession));
              });
  
              if (installable instanceof EmbeddedPackageInstallable) {
                  processEmbeddedPackage(admin, manager, (EmbeddedPackageInstallable) installable, preInstall);
              }
  
              // do this at the end of the while scope, obviously.
              dequeued = slingSimulator.dequeueInstallable();
          }
      }
focal_method.class_method_signature: OakMachine.processInstallableQueue(final @NotNull Session admin,
                                   final @NotNull JcrPackageManager manager,
                                   final @NotNull PackageId lastPackageId,
                                   final boolean preInstall)
focal_method.full_signature:  void processInstallableQueue(final @NotNull Session admin,
                                   final @NotNull JcrPackageManager manager,
                                   final @NotNull PackageId lastPackageId,
                                   final boolean preInstall)
focal_method.identifier: processInstallableQueue
focal_method.invocations: wrapSessionReadOnly dequeueInstallable propagateCheckPackageEvent getParentId beforeSlingInstall ofNullable fromSlingInstallable ifPresent getScripts apply save onSlingRepoInitScriptsError getErrorListener getScripts accept uncheckVoid1 refresh propagateCheckPackageEvent getParentId appliedRepoInitScripts getScripts processEmbeddedPackage dequeueInstallable
focal_method.parameters: (final @NotNull Session admin,
                                   final @NotNull JcrPackageManager manager,
                                   final @NotNull PackageId lastPackageId,
                                   final boolean preInstall)
focal_method.return: void
focal_method.signature: void processInstallableQueue(final @NotNull Session admin,
                                   final @NotNull JcrPackageManager manager,
                                   final @NotNull PackageId lastPackageId,
                                   final boolean preInstall)