1 10 package org.mmbase.module.gui.html; 11 12 import org.mmbase.util.*; 13 import org.mmbase.util.logging.*; 14 15 21 public class PageProcess implements Runnable { 22 23 private static Logger log = Logging.getLoggerInstance(PageProcess.class.getName()); 24 25 String uri; 26 scanpage sp; 27 scanparser parser; 28 29 Thread kicker=null; 30 31 35 PageProcess(scanparser parser,scanpage sp,String uri) { 36 this.sp=sp; 37 this.uri=uri; 38 this.parser=parser; 39 this.start(); 40 } 41 42 45 public void start() { 46 47 if (kicker == null) { 48 kicker = new Thread (this,"pageProcess "+uri); 49 kicker.start(); 50 } 51 } 52 53 56 public void stop() { 57 58 kicker = null; 59 } 60 61 64 public void run () { 65 log.debug("Starting calc "+uri); 66 try { 67 doWork(); 68 } catch(Exception e) { 69 log.error(e.getMessage()); 70 log.error(Logging.stackTrace(e)); 71 } 72 parser.removeProcess(uri); 73 log.debug("Done calc "+uri); 74 } 75 76 79 private void doWork() { 80 parser.calcPage(uri,sp,0); 81 } 82 83 public String toString() { 84 return uri; 85 } 86 } 87 | Popular Tags |