[Yanel-commits] rev 23844 - public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources

michi at wyona.com michi at wyona.com
Wed Apr 18 17:43:44 CEST 2007


Author: michi
Date: 2007-04-18 17:43:43 +0200 (Wed, 18 Apr 2007)
New Revision: 23844

Modified:
   public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources/AddRealmResource2.java
Log:
check if another crawler is already running

Modified: public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources/AddRealmResource2.java
===================================================================
--- public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources/AddRealmResource2.java	2007-04-18 15:25:03 UTC (rev 23843)
+++ public/yanel/trunk/src/resources/add-realm/src/java/org/wyona/yanel/impl/resources/AddRealmResource2.java	2007-04-18 15:43:43 UTC (rev 23844)
@@ -553,21 +553,25 @@
         crawler.setDownloadParameters(downloadParams);
         
         
-        EventLog eventLog = new EventLog();
-        crawler.addLinkListener(eventLog);
-        crawler.addCrawlListener(eventLog);
+        HttpSession session = getRequest().getSession(true); 
+        EventLog eventLog = (EventLog) session.getAttribute(SESSION_ATTR_EVENT_LOG);
+        if (eventLog == null) {
+            eventLog = new EventLog();
+            crawler.addLinkListener(eventLog);
+            crawler.addCrawlListener(eventLog);
         
-        Realm realm = getYanel().getRealmConfiguration().getRealm(realmID);
+            Realm realm = getYanel().getRealmConfiguration().getRealm(realmID);
        
-        HttpSession session = getRequest().getSession(true); 
-        session.setAttribute(SESSION_ATTR_EVENT_LOG, eventLog);
-        session.setAttribute(SESSION_ATTR_CRAWLER, crawler);
-        session.setAttribute(SESSION_ATTR_REALM_ID, realm.getID());
-        session.setAttribute(SESSION_ATTR_REALM_NAME, realm.getName());
+            session.setAttribute(SESSION_ATTR_EVENT_LOG, eventLog);
+            session.setAttribute(SESSION_ATTR_CRAWLER, crawler);
+            session.setAttribute(SESSION_ATTR_REALM_ID, realm.getID());
+            session.setAttribute(SESSION_ATTR_REALM_NAME, realm.getName());
         
-        // start crawler in new thread to be able to show progress:
-        ImportSiteThread thread = new ImportSiteThread(crawler, realm, dumpDir, crawlStartURL, 
-                crawlScopeURLs, eventLog);
-        thread.start();
+            // start crawler in new thread to be able to show progress:
+            ImportSiteThread thread = new ImportSiteThread(crawler, realm, dumpDir, crawlStartURL, crawlScopeURLs, eventLog);
+            thread.start();
+        } else {
+            log.warn("Another crawl is already in progress: " + eventLog.getNofDownloads());
+        }
     }
 }




More information about the Yanel-commits mailing list