SLING-10201 fix unclosed JCR session

fix some typos in logging
diff --git a/src/main/java/org/apache/sling/jcr/packageinit/impl/ExecutionPlanRepoInitializer.java b/src/main/java/org/apache/sling/jcr/packageinit/impl/ExecutionPlanRepoInitializer.java
index 4d88d8a..828763c 100644
--- a/src/main/java/org/apache/sling/jcr/packageinit/impl/ExecutionPlanRepoInitializer.java
+++ b/src/main/java/org/apache/sling/jcr/packageinit/impl/ExecutionPlanRepoInitializer.java
@@ -43,6 +43,7 @@
 import java.io.FileReader;
 import java.io.FileWriter;
 import java.io.IOException;
+import java.nio.charset.StandardCharsets;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.ArrayList;
@@ -61,7 +62,7 @@
     private File statusFile;
 
     @ObjectClassDefinition(
-            name = "Executionplan based Repository Initializer"
+            name = "Execution plan based Repository Initializer"
     )
     @interface Config {
         
@@ -151,21 +152,19 @@
                 st.open();
                 logger.info("Waiting for PackageRegistry.");
                 PackageRegistry registry = (PackageRegistry) st.waitForService(0);
-                logger.info("PackageRegistry found - starting execution of executionplan");
+                logger.info("PackageRegistry found - starting execution of execution plan");
                 
+                ExecutionPlanBuilder builder = registry.createExecutionPlan();
                 @SuppressWarnings("deprecation")
                 Session session = slingRepository.loginAdministrative(null);
-                ExecutionPlanBuilder builder = registry.createExecutionPlan();
-                BufferedWriter writer = null;
-                try {
-                    writer = new BufferedWriter(new FileWriter(statusFile));
+                try (BufferedWriter writer = new BufferedWriter(new FileWriter(statusFile))) {
                     for (String plan : executionPlans) {
-                        builder.load(new ByteArrayInputStream(plan.getBytes("UTF-8")));
+                        builder.load(new ByteArrayInputStream(plan.getBytes(StandardCharsets.UTF_8)));
                         builder.with(session);
                         ExecutionPlan xplan = builder.execute();
                         if (xplan.getTasks().size() > 0) {
                             if (xplan.hasErrors()) {
-                                IllegalStateException ex = new IllegalStateException("Excecutionplan execution contained errors - cannot complete repository initialization.");
+                                IllegalStateException ex = new IllegalStateException("Execution plan contained errors - cannot complete repository initialization.");
                                 for (PackageTask task : xplan.getTasks()) {
                                     if (PackageTask.State.ERROR.equals(task.getState())){
                                         ex.addSuppressed(task.getError());
@@ -173,9 +172,9 @@
                                 }
                                 throw ex;
                             }
-                            logger.info("executionplan executed with {} entries", xplan.getTasks().size());
+                            logger.info("Execution plan executed with {} entries", xplan.getTasks().size());
                         } else {
-                            logger.info("No tasks found in executionplan - no additional packages installed.");
+                            logger.info("No tasks found in execution plan - no additional packages installed.");
                         }
                         
                         // save hashes to file for crosscheck on subsequent startup to avoid double processing
@@ -184,15 +183,13 @@
 
                     }
                 } finally {
-                    if (writer != null) {
-                        writer.close();
-                    }
+                    session.logout();
                 }
             } finally {
                 st.close();
             }
         } else {
-            logger.info("No executionplans configured skipping init.");
+            logger.info("No execution plans configured - skipping init.");
         }
     }
 }
diff --git a/src/test/java/org/apache/sling/jcr/packageinit/ExecutionPlanRepoInitializerTest.java b/src/test/java/org/apache/sling/jcr/packageinit/ExecutionPlanRepoInitializerTest.java
index 123a3cd..3627f52 100644
--- a/src/test/java/org/apache/sling/jcr/packageinit/ExecutionPlanRepoInitializerTest.java
+++ b/src/test/java/org/apache/sling/jcr/packageinit/ExecutionPlanRepoInitializerTest.java
@@ -39,6 +39,10 @@
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 
+import javax.jcr.LoginException;
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+
 import org.apache.commons.io.IOUtils;
 import org.apache.jackrabbit.vault.packaging.PackageException;
 import org.apache.jackrabbit.vault.packaging.PackageId;
@@ -97,6 +101,9 @@
     @Mock
     SlingRepository slingRepo;
 
+    @Mock
+    Session adminSession;
+
     @Spy
     PackageRegistry registry = new FSPackageRegistry();
 
@@ -117,7 +124,7 @@
     
 
     @Before
-    public void setup() throws IOException, PackageException {
+    public void setup() throws IOException, PackageException, LoginException, RepositoryException {
         when(registry.createExecutionPlan()).thenReturn(builder);
         when(builder.execute()).thenReturn(xplan);
         this.statusFile = temporaryFolder.newFile(STATUSFILE_NAME + UUID.randomUUID());
@@ -126,6 +133,7 @@
         listAppender.start();
         logger.addAppender(listAppender);
         foundExceptions = new ArrayList<Exception>();
+        when(slingRepo.loginAdministrative(null)).thenReturn(adminSession);
     }
 
     @After
@@ -141,7 +149,7 @@
         initializer.processRepository(slingRepo);
         List<ILoggingEvent> logsList = listAppender.list;
         assertThat(logsList.get(0).getFormattedMessage(),
-                is("No executionplans configured skipping init."));
+                is("No execution plans configured - skipping init."));
     }
 
 
@@ -224,7 +232,7 @@
         List<ILoggingEvent> logsList = listAppender.list;
         assertEquals("Waiting for PackageRegistry.", logsList.get(0)
                                       .getMessage());
-        assertEquals("PackageRegistry found - starting execution of executionplan", logsList.get(1)
+        assertEquals("PackageRegistry found - starting execution of execution plan", logsList.get(1)
             .getMessage());
     }