test_class.declarator: testOutDir = new File("target/test-out/WebsterPlanTest")
test_class.modifier: final
test_class.original_string: final File testOutDir = new File("target/test-out/WebsterPlanTest");
test_class.type: File
test_class.var_name: testOutDir
test_class.file: webster/src/test/java/net/adamcin/oakpal/webster/WebsterPlanTest.java
test_class.identifier: WebsterPlanTest
test_case.body: @Test
      public void testCreateArchive_noMetaInfVault() throws Exception {
          final File testBase = new File(testOutDir, "testCreateArchive_noMetaInfVault");
          final File archiveSrc = new File("src/test/resources/filevault/noMetaInfVault");
          final File archiveRoot = new File(testBase, "noMetaInfVault");
          FileUtils.deleteDirectory(archiveRoot);
          FileUtils.copyDirectory(archiveSrc, archiveRoot);
          WebsterPlan.Builder builder = new WebsterPlan.Builder();
          builder.withArchiveRoot(archiveRoot);
          assertTrue("archiveRoot/jcr_root should exist", new File(archiveRoot, "jcr_root").exists());
          assertFalse("archiveRoot/META-INF/vault should not exist", new File(archiveRoot, "META-INF/vault").exists());
          builder.build().createArchive();
          assertTrue("archiveRoot/META-INF/vault should exist now", new File(archiveRoot, "META-INF/vault").exists());
      }
test_case.class_method_signature: WebsterPlanTest.testCreateArchive_noMetaInfVault()
test_case.full_signature: @Test public void testCreateArchive_noMetaInfVault()
test_case.identifier: testCreateArchive_noMetaInfVault
test_case.invocations: deleteDirectory copyDirectory withArchiveRoot assertTrue exists assertFalse exists createArchive build assertTrue exists
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testCreateArchive_noMetaInfVault()
focal_class.declarator: LOGGER = LoggerFactory.getLogger(WebsterPlan.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger LOGGER = LoggerFactory.getLogger(WebsterPlan.class);
focal_class.type: Logger
focal_class.var_name: LOGGER
focal_class.declarator: DEFAULT_FIXTURE_PROVIDER = new FixtureProvider() {
          @Override
          public NodeStoreFixture openFixture() throws Exception {
              throw new IllegalStateException("A fixture provider must be supplied to the builder.");
          }
      }
focal_class.modifier: private static final
focal_class.original_string: private static final FixtureProvider DEFAULT_FIXTURE_PROVIDER = new FixtureProvider() {
          @Override
          public NodeStoreFixture openFixture() throws Exception {
              throw new IllegalStateException("A fixture provider must be supplied to the builder.");
          }
      };
focal_class.type: FixtureProvider
focal_class.var_name: DEFAULT_FIXTURE_PROVIDER
focal_class.declarator: fixtureProvider
focal_class.modifier: private final
focal_class.original_string: private final FixtureProvider fixtureProvider;
focal_class.type: FixtureProvider
focal_class.var_name: fixtureProvider
focal_class.declarator: globalSegmentStore
focal_class.modifier: private final
focal_class.original_string: private final File globalSegmentStore;
focal_class.type: File
focal_class.var_name: globalSegmentStore
focal_class.declarator: targets
focal_class.modifier: private final
focal_class.original_string: private final List<WebsterTarget> targets;
focal_class.type: List<WebsterTarget>
focal_class.var_name: targets
focal_class.declarator: archiveRoot
focal_class.modifier: private final
focal_class.original_string: private final File archiveRoot;
focal_class.type: File
focal_class.var_name: archiveRoot
focal_class.file: webster/src/main/java/net/adamcin/oakpal/webster/WebsterPlan.java
focal_class.identifier: WebsterPlan
focal_class.class_method_signature: WebsterPlan.WebsterPlan(final @NotNull FixtureProvider fixtureProvider,
                  final @NotNull List<WebsterTarget> targets,
                  final @Nullable File globalSegmentStore,
                  final @Nullable File archiveRoot)
focal_class.full_signature:   WebsterPlan(final @NotNull FixtureProvider fixtureProvider,
                  final @NotNull List<WebsterTarget> targets,
                  final @Nullable File globalSegmentStore,
                  final @Nullable File archiveRoot)
focal_class.identifier: WebsterPlan
focal_class.parameters: (final @NotNull FixtureProvider fixtureProvider,
                  final @NotNull List<WebsterTarget> targets,
                  final @Nullable File globalSegmentStore,
                  final @Nullable File archiveRoot)
focal_class.signature:  WebsterPlan(final @NotNull FixtureProvider fixtureProvider,
                  final @NotNull List<WebsterTarget> targets,
                  final @Nullable File globalSegmentStore,
                  final @Nullable File archiveRoot)
focal_class.class_method_signature: WebsterPlan.performWithGlobalSegment()
focal_class.full_signature: private void performWithGlobalSegment()
focal_class.identifier: performWithGlobalSegment
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void performWithGlobalSegment()
focal_class.class_method_signature: WebsterPlan.performWithGlobalMemory()
focal_class.full_signature: private void performWithGlobalMemory()
focal_class.identifier: performWithGlobalMemory
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void performWithGlobalMemory()
focal_class.class_method_signature: WebsterPlan.internalPerform(final Session session)
focal_class.full_signature:  void internalPerform(final Session session)
focal_class.identifier: internalPerform
focal_class.parameters: (final Session session)
focal_class.return: void
focal_class.signature: void internalPerform(final Session session)
focal_class.class_method_signature: WebsterPlan.createArchive()
focal_class.full_signature:  Archive createArchive()
focal_class.identifier: createArchive
focal_class.parameters: ()
focal_class.return: Archive
focal_class.signature: Archive createArchive()
focal_class.class_method_signature: WebsterPlan.perform()
focal_class.full_signature: public void perform()
focal_class.identifier: perform
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void perform()
focal_method.body: Archive createArchive() throws IOException {
          if (archiveRoot == null || !archiveRoot.isDirectory()) {
              throw new IllegalArgumentException("archiveRoot must be an existing directory");
          }
  
          final FileArchive archive = new FileArchive(archiveRoot);
          if (!new File(archiveRoot, Constants.ROOT_DIR).exists()) {
              throw new IllegalArgumentException("archiveRoot must have a child jcr_root directory");
          }
  
          final File archiveMetaInfVault = new File(archiveRoot, Constants.META_DIR);
          if (!archiveMetaInfVault.isDirectory()) {
              archiveMetaInfVault.mkdirs();
          }
  
          archive.open(false);
  
          return archive;
      }
focal_method.class_method_signature: WebsterPlan.createArchive()
focal_method.full_signature:  Archive createArchive()
focal_method.identifier: createArchive
focal_method.invocations: isDirectory exists isDirectory mkdirs open
focal_method.parameters: ()
focal_method.return: Archive
focal_method.signature: Archive createArchive()