SLING-9663 - Properly set authentication information when performing pre-authenticated login

Minor cleanups
diff --git a/src/main/java/org/apache/sling/jcr/oak/server/internal/OakSlingRepository.java b/src/main/java/org/apache/sling/jcr/oak/server/internal/OakSlingRepository.java
index 0e70d9b..22db92f 100644
--- a/src/main/java/org/apache/sling/jcr/oak/server/internal/OakSlingRepository.java
+++ b/src/main/java/org/apache/sling/jcr/oak/server/internal/OakSlingRepository.java
@@ -18,10 +18,8 @@
  */
 package org.apache.sling.jcr.oak.server.internal;
 
-import java.security.Principal;
 import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Iterator;
@@ -66,31 +64,22 @@
     @Override
     protected Session createAdministrativeSession(String workspace) throws RepositoryException {
         // TODO: use principal provider to retrieve admin principal
-        Set<? extends Principal> principals = singleton(new AdminPrincipal() {
-            @Override
-            public String getName() {
-                return OakSlingRepository.this.adminId;
-            }
-        });
-        AuthInfo authInfo = new AuthInfoImpl(this.adminId, Collections.<String, Object> emptyMap(), principals);
-        Subject subject = new Subject(true, principals, singleton(authInfo), Collections.<Object> emptySet());
-        Session adminSession;
+        Set<AdminPrincipal> principals = singleton(() -> OakSlingRepository.this.adminId);
+        AuthInfo authInfo = new AuthInfoImpl(this.adminId, emptyMap(), principals);
+        Subject subject = new Subject(true, principals, singleton(authInfo), emptySet());
         try {
-            adminSession = Subject.doAsPrivileged(subject, new PrivilegedExceptionAction<Session>() {
+            return Subject.doAsPrivileged(subject, new PrivilegedExceptionAction<Session>() {
                 @Override
                 public Session run() throws Exception {
                     Map<String, Object> attrs = new HashMap<String, Object>();
                     attrs.put("oak.refresh-interval", 0);
                     // TODO OAK-803: Backwards compatibility of long-lived sessions
-                	JackrabbitRepository repo = (JackrabbitRepository) getRepository();
-                    return repo.login(null, null, attrs);
+                    return getJackrabbitRepository().login(null, null, attrs);
                 }
             }, null);
         } catch (PrivilegedActionException e) {
             throw new RepositoryException("failed to retrieve admin session.", e);
         }
-
-        return adminSession;
     }
 
     @Override
@@ -114,4 +103,8 @@
             throw new RepositoryException("failed to retrieve service session.", e);
         }
     }
+
+    private JackrabbitRepository getJackrabbitRepository() {
+        return (JackrabbitRepository) super.getRepository();
+    }
 }