Fix NPE when restarting adaptor

The adaptor should be able to be restarted via destroy() and init(). We
accidentally were clearing out a variable during destroy() but not
creating it in init(), which prevented restarting from working.
diff --git a/src/com/google/enterprise/adaptor/sharepoint/SharePointAdaptor.java b/src/com/google/enterprise/adaptor/sharepoint/SharePointAdaptor.java
index d8ab6a6..65bfb90 100644
--- a/src/com/google/enterprise/adaptor/sharepoint/SharePointAdaptor.java
+++ b/src/com/google/enterprise/adaptor/sharepoint/SharePointAdaptor.java
@@ -254,8 +254,7 @@
   private int feedMaxUrls;
   private long maxIndexableSize;
   
-  private ScheduledThreadPoolExecutor scheduledExecutor 
-      = new ScheduledThreadPoolExecutor(1);
+  private ScheduledThreadPoolExecutor scheduledExecutor;
   private String defaultNamespace;
   /** Authenticator instance that authenticates with SP. */
   /**
@@ -365,6 +364,7 @@
     Authenticator.setDefault(ntlmAuthenticator);
     URL virtualServerUrl = new URL(virtualServer);
     ntlmAuthenticator.addPermitForHost(virtualServerUrl);
+    scheduledExecutor = new ScheduledThreadPoolExecutor(1);
     String authenticationEndPoint = spUrlToUri(
         virtualServer + "/_vti_bin/Authentication.asmx").toString();
     authenticationHandler = new FormsAuthenticationHandler(username,
diff --git a/test/com/google/enterprise/adaptor/sharepoint/SharePointAdaptorTest.java b/test/com/google/enterprise/adaptor/sharepoint/SharePointAdaptorTest.java
index c3bd6e5..8223d39 100644
--- a/test/com/google/enterprise/adaptor/sharepoint/SharePointAdaptorTest.java
+++ b/test/com/google/enterprise/adaptor/sharepoint/SharePointAdaptorTest.java
@@ -312,6 +312,17 @@
   }
 
   @Test
+  public void testInitDestroyInitDestroy() throws Exception {
+    adaptor = new SharePointAdaptor(initableSoapFactory,
+        new UnsupportedHttpClient(), executorFactory);
+    adaptor.init(new MockAdaptorContext(config, pusher));
+    adaptor.destroy();
+    adaptor.init(new MockAdaptorContext(config, pusher));
+    adaptor.destroy();
+    adaptor = null;
+  }
+
+  @Test
   public void testTrailingSlashInit() throws Exception {
     adaptor = new SharePointAdaptor(initableSoapFactory,
         new UnsupportedHttpClient(), executorFactory);