CONNECTORS-934 : Check if log level is enabled before constructing log message.

git-svn-id: https://svn.apache.org/repos/asf/manifoldcf/integration/solr-3.x/trunk@1591634 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/CHANGES.txt b/CHANGES.txt
index bc93a5c..d94d67d 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -6,6 +6,9 @@
 CONNECTORS-914: Go to a Maven build system.
 (Ahmet Arslan)
 
+CONNECTORS-934 : Check if log level is enabled before constructing log message.
+(Ahmet Arslan)
+
 ======================= Release 2.0 =====================
 
 CONNECTORS-886: Provide [allow|deny]_token_parent fields.
diff --git a/src/main/java/org/apache/solr/mcf/ManifoldCFQParserPlugin.java b/src/main/java/org/apache/solr/mcf/ManifoldCFQParserPlugin.java
index 209d03f..5d55553 100644
--- a/src/main/java/org/apache/solr/mcf/ManifoldCFQParserPlugin.java
+++ b/src/main/java/org/apache/solr/mcf/ManifoldCFQParserPlugin.java
@@ -41,8 +41,6 @@
 */
 public class ManifoldCFQParserPlugin extends QParserPlugin
 {
-  /** The component name */
-  static final public String COMPONENT_NAME = "mcf";
   /** The parameter that is supposed to contain the authenticated user name, possibly including the AD domain */
   static final public String AUTHENTICATED_USER_NAME = "AuthenticatedUserName";
   /** The parameter that is supposed to contain the MCF authorization domain, if any */
@@ -59,10 +57,7 @@
   
   /** Special token for null security fields */
   static final public String NOSECURITY_TOKEN = "__nosecurity__";
-  
-  /** The queries that we will not attempt to interfere with */
-  static final private String[] globalAllowed = { "solrpingquery" };
-  
+
   /** A logger we can use */
   private static final Logger LOG = LoggerFactory.getLogger(ManifoldCFQParserPlugin.class);
 
@@ -197,26 +192,25 @@
         {
           // Only return 'public' documents (those with no security tokens at all)
           LOG.info("Group tokens received from caller");
-          for (String passedToken : passedTokens)
-          {
-            userAccessTokens.add(passedToken);
-          }
+          userAccessTokens.addAll(Arrays.asList(passedTokens));
         }
       }
       else
       {
-        StringBuilder sb = new StringBuilder("[");
-        boolean first = true;
-        for (String domain : domainMap.keySet())
-        {
-          if (!first)
-            sb.append(",");
-          else
-            first = false;
-          sb.append(domain).append(":").append(domainMap.get(domain));
+        if(LOG.isInfoEnabled()){
+          StringBuilder sb = new StringBuilder("[");
+          boolean first = true;
+          for (String domain : domainMap.keySet())
+          {
+            if (!first)
+              sb.append(",");
+            else
+              first = false;
+            sb.append(domain).append(":").append(domainMap.get(domain));
+          }
+          sb.append("]");
+          LOG.info("Trying to match docs for user '"+sb.toString()+"'");
         }
-        sb.append("]");
-        LOG.info("Trying to match docs for user '"+sb.toString()+"'");
         // Valid authenticated user name.  Look up access tokens for the user.
         // Check the configuration arguments for validity
         if (authorityBaseURL == null)
diff --git a/src/main/java/org/apache/solr/mcf/ManifoldCFSearchComponent.java b/src/main/java/org/apache/solr/mcf/ManifoldCFSearchComponent.java
index be7bc8d..9b9c85d 100644
--- a/src/main/java/org/apache/solr/mcf/ManifoldCFSearchComponent.java
+++ b/src/main/java/org/apache/solr/mcf/ManifoldCFSearchComponent.java
@@ -198,26 +198,25 @@
       {
         // Only return 'public' documents (those with no security tokens at all)
         LOG.info("Group tokens received from caller");
-        for (String passedToken : passedTokens)
-        {
-          userAccessTokens.add(passedToken);
-        }
+        userAccessTokens.addAll(Arrays.asList(passedTokens));
       }
     }
     else
     {
-      StringBuilder sb = new StringBuilder("[");
-      boolean first = true;
-      for (String domain : domainMap.keySet())
-      {
-        if (!first)
-          sb.append(",");
-        else
-          first = false;
-        sb.append(domain).append(":").append(domainMap.get(domain));
+      if(LOG.isInfoEnabled()){
+        StringBuilder sb = new StringBuilder("[");
+        boolean first = true;
+        for (String domain : domainMap.keySet())
+        {
+          if (!first)
+            sb.append(",");
+          else
+            first = false;
+          sb.append(domain).append(":").append(domainMap.get(domain));
+        }
+        sb.append("]");
+        LOG.info("Trying to match docs for user '"+sb.toString()+"'");
       }
-      sb.append("]");
-      LOG.info("Trying to match docs for user '"+sb.toString()+"'");
       // Valid authenticated user name.  Look up access tokens for the user.
       // Check the configuration arguments for validity
       if (authorityBaseURL == null)
diff --git a/src/test/java/org/apache/solr/mcf/ManifoldCFSCLoadTest.java b/src/test/java/org/apache/solr/mcf/ManifoldCFSCLoadTest.java
index ab3a0e2..867b486 100644
--- a/src/test/java/org/apache/solr/mcf/ManifoldCFSCLoadTest.java
+++ b/src/test/java/org/apache/solr/mcf/ManifoldCFSCLoadTest.java
@@ -18,6 +18,7 @@
 package org.apache.solr.mcf;
 
 import java.io.IOException;
+import java.util.concurrent.TimeUnit;
 
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
@@ -78,7 +79,7 @@
   @Test
   public void testTimeQueries() throws Exception {
     int i = 0;
-    long startTime = System.currentTimeMillis();
+    long startTime = System.nanoTime();
     while (i < 1000)
     {
       assertQ(req("qt", "/mcf", "q", "*:*", "fl", "id", "AuthenticatedUserName", "user1"),
@@ -92,7 +93,7 @@
       
       i++;
     }
-    System.out.println("Query time = "+new Long(System.currentTimeMillis()-startTime));
+    System.out.println("Query time (milliseconds) = " +  TimeUnit.NANOSECONDS.toMillis(System.nanoTime()-startTime));
   }
 
   static class MockMCFAuthorityService {