minor logging clean up with slf4j, added root-level javadoc pom config

git-svn-id: https://svn.apache.org/repos/asf/incubator/jsecurity/trunk@766391 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/core/src/main/java/org/apache/ki/authc/AbstractAuthenticator.java b/core/src/main/java/org/apache/ki/authc/AbstractAuthenticator.java
index 099e869..dac3965 100644
--- a/core/src/main/java/org/apache/ki/authc/AbstractAuthenticator.java
+++ b/core/src/main/java/org/apache/ki/authc/AbstractAuthenticator.java
@@ -30,12 +30,12 @@
 /**
  * Superclass for almost all {@link Authenticator} implementations that performs the common work around authentication
  * attempts.
- *
+ * <p/>
  * <p>This class delegates the actual authentication attempt to subclasses but supports notification for
  * successful and failed logins as well as logouts. Notification is sent to one or more registered
  * {@link AuthenticationListener AuthenticationListener}s to allow for custom processing logic
  * when these conditions occur.
- *
+ * <p/>
  * <p>In most cases, the only thing a subclass needs to do (via its {@link #doAuthenticate} implementation)
  * is perform the actual principal/credential verification process for the submitted <tt>AuthenticationToken</tt>.
  *
@@ -96,8 +96,9 @@
      * <code>info</code>.  This implementation merely iterates over the internal <code>listeners</code> collection and
      * calls {@link AuthenticationListener#onSuccess(AuthenticationToken, AuthenticationInfo) onSuccess}
      * for each.
+     *
      * @param token the submitted <code>AuthenticationToken</code> that resulted in a successful authentication.
-     * @param info the returned <code>AuthenticationInfo</code> resulting from the successful authentication.
+     * @param info  the returned <code>AuthenticationInfo</code> resulting from the successful authentication.
      */
     protected void notifySuccess(AuthenticationToken token, AuthenticationInfo info) {
         for (AuthenticationListener listener : this.listeners) {
@@ -112,8 +113,9 @@
      * iterates over the internal <code>listeners</code> collection and calls
      * {@link AuthenticationListener#onFailure(AuthenticationToken, AuthenticationException) onFailure}
      * for each.
+     *
      * @param token the submitted <code>AuthenticationToken</code> that resulted in a failed authentication.
-     * @param ae the resulting <code>AuthenticationException<code> that caused the authentication to fail.
+     * @param ae    the resulting <code>AuthenticationException<code> that caused the authentication to fail.
      */
     protected void notifyFailure(AuthenticationToken token, AuthenticationException ae) {
         for (AuthenticationListener listener : this.listeners) {
@@ -127,6 +129,7 @@
      * iterates over the internal <code>listeners</code> collection and calls
      * {@link AuthenticationListener#onLogout(org.apache.ki.subject.PrincipalCollection) onLogout}
      * for each.
+     *
      * @param principals the identifying principals of the <code>Subject</code>/account logging out.
      */
     protected void notifyLogout(PrincipalCollection principals) {
@@ -139,6 +142,7 @@
      * This implementation merely calls
      * {@link #notifyLogout(org.apache.ki.subject.PrincipalCollection) notifyLogout} to allow any registered listeners
      * to react to the logout.
+     *
      * @param principals the identifying principals of the <code>Subject</code>/account logging out.
      */
     public void onLogout(PrincipalCollection principals) {
@@ -147,7 +151,7 @@
 
     /**
      * Implementation of the {@link Authenticator} interface that functions in the following manner:
-     *
+     * <p/>
      * <ol>
      * <li>Calls template {@link #doAuthenticate doAuthenticate} method for subclass execution of the actual
      * authentication behavior.</li>
@@ -173,9 +177,7 @@
             throw new IllegalArgumentException("Method argumet (authentication token) cannot be null.");
         }
 
-        if (log.isTraceEnabled()) {
-            log.trace("Authentication attempt received for token [" + token + "]");
-        }
+        log.trace("Authentication attempt received for token [{}]", token);
 
         AuthenticationInfo info;
         try {
@@ -196,17 +198,14 @@
                 String msg = "Authentication failed for token submission [" + token + "].  Possible unexpected " +
                         "error? (Typical or expected login exceptions should extend from AuthenticationException).";
                 ae = new AuthenticationException(msg, t);
-                if (log.isWarnEnabled()) {
-                    log.warn(msg, t);
-                }
             }
             try {
                 notifyFailure(token, ae);
             } catch (Throwable t2) {
-                String msg = "Unable to send notification for failed authentication attempt - listener error?.  " +
-                        "Please check your AuthenticationListener implementation(s).  Logging sending exception and " +
-                        "propagating original AuthenticationException instead...";
                 if (log.isWarnEnabled()) {
+                    String msg = "Unable to send notification for failed authentication attempt - listener error?.  " +
+                            "Please check your AuthenticationListener implementation(s).  Logging sending exception " +
+                            "and propagating original AuthenticationException instead...";
                     log.warn(msg, t2);
                 }
             }
@@ -214,10 +213,8 @@
 
             throw ae;
         }
-
-        if (log.isDebugEnabled()) {
-            log.debug("Authentication successful for token [" + token + "].  Returned account: [" + info + "]");
-        }
+        
+        log.debug("Authentication successful for token [{}].  Returned account [{}]", token, info );
 
         notifySuccess(token, info);
 
@@ -226,10 +223,10 @@
 
     /**
      * Template design pattern hook for subclasses to implement specific authentication behavior.
-     *
+     * <p/>
      * <p>Common behavior for most authentication attempts is encapsulated in the
      * {@link #authenticate} method and that method invokes this one for custom behavior.
-     *
+     * <p/>
      * <p><b>N.B.</b> Subclasses <em>should</em> throw some kind of
      * <tt>AuthenticationException</tt> if there is a problem during
      * authentication instead of returning <tt>null</tt>.  A <tt>null</tt> return value indicates
diff --git a/core/src/main/java/org/apache/ki/authc/pam/AllSuccessfulStrategy.java b/core/src/main/java/org/apache/ki/authc/pam/AllSuccessfulStrategy.java
index e5f4543..46e302d 100644
--- a/core/src/main/java/org/apache/ki/authc/pam/AllSuccessfulStrategy.java
+++ b/core/src/main/java/org/apache/ki/authc/pam/AllSuccessfulStrategy.java
@@ -31,7 +31,7 @@
 /**
  * <tt>AuthenticationStrategy</tt> implementation that requires <em>all</em> configured realms to
  * <b>successfully</b> process the submitted <tt>AuthenticationToken</tt> during the log-in attempt.
- *
+ * <p/>
  * <p>If one or more realms do not support the submitted token, or one or more are unable to acquire
  * <tt>AuthenticationInfo</tt> for the token, this implementation will immediately fail the log-in attempt for the
  * associated subject (user).
@@ -94,12 +94,10 @@
             throw new UnknownAccountException(msg);
         }
 
+        log.debug("Account successfully authenticated using realm [{}]", realm);
+
         // If non-null account is returned, then the realm was able to authenticate the
         // user - so merge the account with any accumulated before:
-        if (log.isDebugEnabled()) {
-            log.debug("Account successfully authenticated using realm of type [" + realm.getClass().getName() + "]");
-        }
-
         merge(info, aggregate);
 
         return aggregate;
diff --git a/core/src/main/java/org/apache/ki/authc/pam/AuthenticationStrategy.java b/core/src/main/java/org/apache/ki/authc/pam/AuthenticationStrategy.java
index 152b671..10fc5c9 100644
--- a/core/src/main/java/org/apache/ki/authc/pam/AuthenticationStrategy.java
+++ b/core/src/main/java/org/apache/ki/authc/pam/AuthenticationStrategy.java
@@ -47,8 +47,8 @@
      * specified <tt>token</tt> - called before any <tt>Realm</tt> is actually invoked.
      *
      * <p>The <code>AuthenticationInfo</code> object returned from this method is essentially an empty place holder for
-     * aggregating account data across multiple realms.  It should be populated by the realms over the course of the
-     * authentication attempt across the multiple realms.  It will be passed into the
+     * aggregating account data across multiple realms.  It should be populated by the strategy implementation over the
+     * course of authentication attempts across the multiple realms.  It will be passed into the
      * {@link #beforeAttempt} calls, allowing inspection of the aggregated account data up to that point in the
      * multi-realm authentication, allowing any logic to be executed accordingly.
      *
diff --git a/core/src/main/java/org/apache/ki/authc/pam/ModularRealmAuthenticator.java b/core/src/main/java/org/apache/ki/authc/pam/ModularRealmAuthenticator.java
index b1e1ce5..0aa5409 100644
--- a/core/src/main/java/org/apache/ki/authc/pam/ModularRealmAuthenticator.java
+++ b/core/src/main/java/org/apache/ki/authc/pam/ModularRealmAuthenticator.java
@@ -244,17 +244,14 @@
         AuthenticationInfo aggregate = strategy.beforeAllAttempts(realms, token);
 
         if (log.isDebugEnabled()) {
-            log.debug("Iterating through [" + realms.size() + "] realms for PAM authentication");
+            log.debug("Iterating through {} realms for PAM authentication", realms.size());
         }
 
         for (Realm realm : realms) {
 
             if (realm.supports(token)) {
 
-                if (log.isDebugEnabled()) {
-                    log.debug("Attempting to authenticate token [" + token + "] " +
-                            "using realm of type [" + realm + "]");
-                }
+                log.debug("Attempting to authenticate token [{}] using realm [{}]", token, realm);
 
                 AuthenticationInfo info = null;
                 Throwable t = null;
@@ -271,10 +268,7 @@
                 aggregate = strategy.afterAttempt(realm, token, info, aggregate, t);
 
             } else {
-                if (log.isDebugEnabled()) {
-                    log.debug("Realm of type [" + realm + "] does not support token " +
-                            "[" + token + "].  Skipping realm.");
-                }
+                log.debug("Realm [{}] does not support token {}.  Skipping realm.", realm, token);
             }
         }
 
diff --git a/core/src/main/java/org/apache/ki/config/IniConfiguration.java b/core/src/main/java/org/apache/ki/config/IniConfiguration.java
index fbc288e..94a6886 100644
--- a/core/src/main/java/org/apache/ki/config/IniConfiguration.java
+++ b/core/src/main/java/org/apache/ki/config/IniConfiguration.java
@@ -95,10 +95,7 @@
                 load(configUrl);

             } else {

                 if (ignoreResourceNotFound) {

-                    if (log.isDebugEnabled()) {

-                        log.debug("Ki resource [" + configUrl + "] not found.  Ignoring since " +

-                                "'ignoreResourceNotFound' is set to true.");

-                    }

+                    log.debug("Ki resource [{}] not found.  Ignoring since 'ignoreResourceNotFound' is true.", configUrl);

                 } else {

                     throw new ConfigurationException("Ki resource [" + configUrl + "] specified as a 'configUrl' " +

                             "cannot be found.  If you want to fall back on default configuration specified " +

diff --git a/core/src/main/java/org/apache/ki/config/ReflectionBuilder.java b/core/src/main/java/org/apache/ki/config/ReflectionBuilder.java
index f8bb81f..8022e25 100644
--- a/core/src/main/java/org/apache/ki/config/ReflectionBuilder.java
+++ b/core/src/main/java/org/apache/ki/config/ReflectionBuilder.java
@@ -104,8 +104,8 @@
 

         Object currentInstance = objects.get(name);

         if (currentInstance != null) {

-            log.info("An instance with name [" + name + "] already exists.  " +

-                    "Redefining this object as a new instance of type [" + value + "].");

+            log.info("An instance with name '{}' already exists.  " +

+                    "Redefining this object as a new instance of type []", name, value);

         }

 

         Object instance;//name with no property, assume right hand side of equals sign is the class name:

@@ -209,10 +209,7 @@
 

         if (isReference(stringValue)) {

             String id = getId(stringValue);

-            if (log.isDebugEnabled()) {

-                log.debug("Encountered object reference [" + stringValue + "].  Looking up object " +

-                        "with id [" + id + "]");

-            }

+            log.debug("Encountered object reference '{}'.  Looking up object with id '{}'", stringValue, id);

             value = getReferencedObject(id);

         } else {

             value = unescapeIfNecessary(stringValue);

@@ -220,7 +217,8 @@
 

         try {

             if (log.isTraceEnabled()) {

-                log.trace("Applying property [" + propertyName + "] value [" + value + "] on object of type [" + object.getClass().getName() + "]");

+                log.trace("Applying property [{}] value [{}] on object of type [{}]",

+                        new Object[]{propertyName, value, object.getClass().getName()});

             }

             BeanUtils.setProperty(object, propertyName, value);

         } catch (Exception e) {

diff --git a/core/src/main/java/org/apache/ki/config/TextConfiguration.java b/core/src/main/java/org/apache/ki/config/TextConfiguration.java
index 22f5be8..a7eabc0 100644
--- a/core/src/main/java/org/apache/ki/config/TextConfiguration.java
+++ b/core/src/main/java/org/apache/ki/config/TextConfiguration.java
@@ -33,6 +33,7 @@
 

 /**

  * //TODO - complete JavaDoc

+ *

  * @author Les Hazlewood

  * @since 0.9

  */

@@ -78,9 +79,7 @@
         if (securityManager == null) {

             String config = getConfig();

             if (config != null) {

-                if (log.isInfoEnabled()) {

-                    log.info("Attempting to load Configuration based on 'config' property.");

-                }

+                log.info("Attempting to load Configuration based on 'config' property.");

                 loadTextConfig(config);

             }

         }

diff --git a/core/src/main/java/org/apache/ki/io/ResourceUtils.java b/core/src/main/java/org/apache/ki/io/ResourceUtils.java
index 941887a..289fca8 100644
--- a/core/src/main/java/org/apache/ki/io/ResourceUtils.java
+++ b/core/src/main/java/org/apache/ki/io/ResourceUtils.java
@@ -148,20 +148,13 @@
     }
 
     private static InputStream loadFromUrl(String urlPath) throws IOException {
-
-        if (log.isDebugEnabled()) {
-            log.debug("Opening url [" + urlPath + "]...");
-        }
-
+        log.debug("Opening url {}", urlPath);
         URL url = new URL(urlPath);
         return url.openStream();
     }
 
     private static InputStream loadFromClassPath(String path) {
-        if (log.isDebugEnabled()) {
-            log.debug("Opening resource from class path [" + path + "]...");
-        }
-
+        log.debug("Opening resource from class path [{}]", path);
         return ClassUtils.getResourceAsStream(path);
     }
 
diff --git a/core/src/main/java/org/apache/ki/io/TextResource.java b/core/src/main/java/org/apache/ki/io/TextResource.java
index 5355bbf..3f5f36f 100644
--- a/core/src/main/java/org/apache/ki/io/TextResource.java
+++ b/core/src/main/java/org/apache/ki/io/TextResource.java
@@ -107,10 +107,7 @@
             try {

                 br.close();

             } catch (IOException e) {

-                if (log.isWarnEnabled()) {

-                    log.warn("Unable to cleanly close BufferedReader [" + br + "] after " +

-                            "the doLoad(Reader) call.");

-                }

+                log.warn("Unable to cleanly close BufferedReader [{}] after doLoad(Reader) call.", br);

             }

         }

     }

diff --git a/core/src/main/java/org/apache/ki/jndi/JndiLocator.java b/core/src/main/java/org/apache/ki/jndi/JndiLocator.java
index 8636607..48bf6ce 100644
--- a/core/src/main/java/org/apache/ki/jndi/JndiLocator.java
+++ b/core/src/main/java/org/apache/ki/jndi/JndiLocator.java
@@ -155,9 +155,7 @@
                 throw ex;

             }

         }

-        if (log.isDebugEnabled()) {

-            log.debug("Located object with JNDI name [" + convertedName + "]");

-        }

+        log.debug("Located object with JNDI name '{}'", convertedName);

         return jndiObject;

     }

 

diff --git a/core/src/main/java/org/apache/ki/jndi/JndiTemplate.java b/core/src/main/java/org/apache/ki/jndi/JndiTemplate.java
index a9298e4..3f262d1 100644
--- a/core/src/main/java/org/apache/ki/jndi/JndiTemplate.java
+++ b/core/src/main/java/org/apache/ki/jndi/JndiTemplate.java
@@ -33,7 +33,7 @@
  * Helper class that simplifies JNDI operations. It provides methods to lookup and

  * bind objects, and allows implementations of the {@link JndiCallback} interface

  * to perform any operation they like with a JNDI naming context provided.

- *

+ * <p/>

  * <p>Note that this implementation is an almost exact copy of the Spring Framework's identically named class from

  * their 2.5.4 distribution - we didn't want to re-invent the wheel, but not require a full dependency on the

  * Spring framework, nor does Spring make available only its JNDI classes in a small jar, or we would have used that.

@@ -50,9 +50,7 @@
 

     private Properties environment;

 

-    /**

-     * Create a new JndiTemplate instance.

-     */

+    /** Create a new JndiTemplate instance. */

     public JndiTemplate() {

     }

 

@@ -99,8 +97,7 @@
         finally {

             try {

                 ctx.close();

-            }

-            catch (NamingException ex) {

+            } catch (NamingException ex) {

                 log.debug("Could not close JNDI InitialContext", ex);

             }

         }

@@ -138,9 +135,7 @@
      *                         name bound to JNDI

      */

     public Object lookup(final String name) throws NamingException {

-        if (log.isDebugEnabled()) {

-            log.debug("Looking up JNDI object with name [" + name + "]");

-        }

+        log.debug("Looking up JNDI object with name '{}'", name);

         return execute(new JndiCallback() {

             public Object doInContext(Context ctx) throws NamingException {

                 Object located = ctx.lookup(name);

@@ -185,9 +180,7 @@
      * @throws NamingException thrown by JNDI, mostly name already bound

      */

     public void bind(final String name, final Object object) throws NamingException {

-        if (log.isDebugEnabled()) {

-            log.debug("Binding JNDI object with name [" + name + "]");

-        }

+        log.debug("Binding JNDI object with name '{}'", name);

         execute(new JndiCallback() {

             public Object doInContext(Context ctx) throws NamingException {

                 ctx.bind(name, object);

@@ -205,9 +198,7 @@
      * @throws NamingException thrown by JNDI

      */

     public void rebind(final String name, final Object object) throws NamingException {

-        if (log.isDebugEnabled()) {

-            log.debug("Rebinding JNDI object with name [" + name + "]");

-        }

+        log.debug("Rebinding JNDI object with name '{}'", name);

         execute(new JndiCallback() {

             public Object doInContext(Context ctx) throws NamingException {

                 ctx.rebind(name, object);

@@ -223,9 +214,7 @@
      * @throws NamingException thrown by JNDI, mostly name not found

      */

     public void unbind(final String name) throws NamingException {

-        if (log.isDebugEnabled()) {

-            log.debug("Unbinding JNDI object with name [" + name + "]");

-        }

+        log.debug("Unbinding JNDI object with name '{}'", name);

         execute(new JndiCallback() {

             public Object doInContext(Context ctx) throws NamingException {

                 ctx.unbind(name);

diff --git a/core/src/main/java/org/apache/ki/session/ProxiedSession.java b/core/src/main/java/org/apache/ki/session/ProxiedSession.java
index b6edced..d6b5ca5 100644
--- a/core/src/main/java/org/apache/ki/session/ProxiedSession.java
+++ b/core/src/main/java/org/apache/ki/session/ProxiedSession.java
@@ -38,11 +38,11 @@
     /**

      * The proxied instance

      */

-    protected final Session proxy;

+    protected final Session delegate;

 

     /**

      * Constructs an instance that proxies the specified <code>target</code>.  Subclasses may access this

-     * target via the <code>protected final 'proxy'</code> attribute, i.e. <code>this.proxy</code>.

+     * target via the <code>protected final 'delegate'</code> attribute, i.e. <code>this.delegate</code>.

      *

      * @param target the specified target <code>Session</code> to proxy.

      */

@@ -50,91 +50,91 @@
         if (target == null) {

             throw new IllegalArgumentException("Target session to proxy cannot be null.");

         }

-        proxy = target;

+        delegate = target;

     }

 

     /**

      * Immediately delegates to the underlying proxied session.

      */

     public Serializable getId() {

-        return proxy.getId();

+        return delegate.getId();

     }

 

     /**

      * Immediately delegates to the underlying proxied session.

      */

     public Date getStartTimestamp() {

-        return proxy.getStartTimestamp();

+        return delegate.getStartTimestamp();

     }

 

     /**

      * Immediately delegates to the underlying proxied session.

      */

     public Date getLastAccessTime() {

-        return proxy.getLastAccessTime();

+        return delegate.getLastAccessTime();

     }

 

     /**

      * Immediately delegates to the underlying proxied session.

      */

     public long getTimeout() throws InvalidSessionException {

-        return proxy.getTimeout();

+        return delegate.getTimeout();

     }

 

     /**

      * Immediately delegates to the underlying proxied session.

      */

     public void setTimeout(long maxIdleTimeInMillis) throws InvalidSessionException {

-        proxy.setTimeout(maxIdleTimeInMillis);

+        delegate.setTimeout(maxIdleTimeInMillis);

     }

 

     /**

      * Immediately delegates to the underlying proxied session.

      */

     public InetAddress getHostAddress() {

-        return proxy.getHostAddress();

+        return delegate.getHostAddress();

     }

 

     /**

      * Immediately delegates to the underlying proxied session.

      */

     public void touch() throws InvalidSessionException {

-        proxy.touch();

+        delegate.touch();

     }

 

     /**

      * Immediately delegates to the underlying proxied session.

      */

     public void stop() throws InvalidSessionException {

-        proxy.stop();

+        delegate.stop();

     }

 

     /**

      * Immediately delegates to the underlying proxied session.

      */

     public Collection<Object> getAttributeKeys() throws InvalidSessionException {

-        return proxy.getAttributeKeys();

+        return delegate.getAttributeKeys();

     }

 

     /**

      * Immediately delegates to the underlying proxied session.

      */

     public Object getAttribute(Object key) throws InvalidSessionException {

-        return proxy.getAttribute(key);

+        return delegate.getAttribute(key);

     }

 

     /**

      * Immediately delegates to the underlying proxied session.

      */

     public void setAttribute(Object key, Object value) throws InvalidSessionException {

-        proxy.setAttribute(key, value);

+        delegate.setAttribute(key, value);

     }

 

     /**

      * Immediately delegates to the underlying proxied session.

      */

     public Object removeAttribute(Object key) throws InvalidSessionException {

-        return proxy.removeAttribute(key);

+        return delegate.removeAttribute(key);

     }

 

 }

diff --git a/core/src/main/java/org/apache/ki/subject/DelegatingSubject.java b/core/src/main/java/org/apache/ki/subject/DelegatingSubject.java
index eed3533..8eeb307 100644
--- a/core/src/main/java/org/apache/ki/subject/DelegatingSubject.java
+++ b/core/src/main/java/org/apache/ki/subject/DelegatingSubject.java
@@ -79,14 +79,6 @@
 
     protected SecurityManager securityManager;
 
-    protected static InetAddress getLocalHost() {
-        try {
-            return InetAddress.getLocalHost();
-        } catch (UnknownHostException e) {
-            return null;
-        }
-    }
-
     public DelegatingSubject(SecurityManager securityManager) {
         this(null, false, getLocalHost(), null, securityManager);
     }
@@ -111,6 +103,14 @@
         }
     }
 
+    protected static InetAddress getLocalHost() {
+        try {
+            return InetAddress.getLocalHost();
+        } catch (UnknownHostException e) {
+            return null;
+        }
+    }
+
     protected Session decorate(Session session) {
         if (session == null) {
             throw new IllegalArgumentException("session cannot be null");
@@ -213,14 +213,12 @@
         securityManager.checkPermission(getPrincipals(), permission);
     }
 
-    public void checkPermissions(String... permissions)
-            throws AuthorizationException {
+    public void checkPermissions(String... permissions) throws AuthorizationException {
         assertAuthzCheckPossible();
         securityManager.checkPermissions(getPrincipals(), permissions);
     }
 
-    public void checkPermissions(Collection<Permission> permissions)
-            throws AuthorizationException {
+    public void checkPermissions(Collection<Permission> permissions) throws AuthorizationException {
         assertAuthzCheckPossible();
         securityManager.checkPermissions(getPrincipals(), permissions);
     }
diff --git a/pom.xml b/pom.xml
index e1158d9..c228ea9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -346,4 +346,27 @@
         </dependencies>
     </dependencyManagement>
 
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <configuration>
+                    <aggregate>true</aggregate>
+                    <source>${jdk.version}</source>
+                    <encoding>UTF-8</encoding>
+                    <linksource>true</linksource>
+                    <links>
+                        <link>http://java.sun.com/javase/6/docs/api/</link>
+                        <link>http://java.sun.com/javaee/5/docs/api/</link>
+                        <link>http://www.slf4j.org/api/</link>
+                        <link>http://static.springframework.org/spring/docs/2.5.x/api/</link>
+                        <link>http://junit.org/junit/javadoc/4.4/</link>
+                        <link>http://easymock.org/api/easymock/2.4/</link>
+                    </links>
+                </configuration>
+            </plugin>
+        </plugins>
+    </reporting>
+
 </project>
diff --git a/support/spring/src/main/java/org/apache/ki/spring/remoting/SecureRemoteInvocationFactory.java b/support/spring/src/main/java/org/apache/ki/spring/remoting/SecureRemoteInvocationFactory.java
index 5576ca7..468c9fd 100644
--- a/support/spring/src/main/java/org/apache/ki/spring/remoting/SecureRemoteInvocationFactory.java
+++ b/support/spring/src/main/java/org/apache/ki/spring/remoting/SecureRemoteInvocationFactory.java
@@ -70,7 +70,7 @@
         InetAddress inet = null;
         boolean sessionManagerMethodInvocation = false;
 
-        //If the calling MI is for a remoting SessionManager proxy, we need to acquire the session ID from the method
+        //If the calling MI is for a remoting SessionManager delegate, we need to acquire the session ID from the method
         //argument and NOT interact with SecurityUtils/subject.getSession to avoid a stack overflow
         if (SessionManager.class.equals(mi.getMethod().getDeclaringClass())) {
             sessionManagerMethodInvocation = true;
@@ -82,7 +82,7 @@
             }
         }
 
-        //tried the proxy.  If sessionId is still null, only then try the Subject:
+        //tried the delegate.  If sessionId is still null, only then try the Subject:
         if (sessionId == null && !sessionManagerMethodInvocation) {
             Subject subject = SecurityUtils.getSubject();
             Session session = subject.getSession(false);