home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2004 May / DPPCPRO0504.ISO / May / Seatools / SeaTools.iso / tools / en / webhelp / webhelp.jar / XMLConsumer / Fts.class (.txt) < prev    next >
Encoding:
Java Class File  |  2002-04-17  |  2.3 KB  |  128 lines

  1. package XMLConsumer;
  2.  
  3. import BsscXML.IBsscXMLElementReader;
  4. import hhapplet.Language;
  5. import hhapplet.URLFileHandler;
  6. import java.net.MalformedURLException;
  7. import java.net.URL;
  8. import java.util.Vector;
  9.  
  10. public class Fts extends Consumer {
  11.    private URL m_projURL;
  12.    private Vector m_vChunkedFts;
  13.    private Vector m_vChunkedTopicFts;
  14.  
  15.    public FtsTData getChunkedTopicData(int var1) {
  16.       Object var2 = null;
  17.       int var3 = this.m_vChunkedTopicFts.size();
  18.       if (var3 > 0) {
  19.          int var4 = 0;
  20.          int var5 = var3 - 1;
  21.          boolean var6 = false;
  22.  
  23.          do {
  24.             int var7 = var4 + var5 >> 1;
  25.             var8 = (FtsTData)this.m_vChunkedTopicFts.elementAt(var7);
  26.             if (var8.getBegin() > var1) {
  27.                var5 = var7 - 1;
  28.             } else {
  29.                if (var8.getEnd() >= var1) {
  30.                   var6 = true;
  31.                   break;
  32.                }
  33.  
  34.                var4 = var7 + 1;
  35.             }
  36.          } while(var5 >= var4);
  37.  
  38.          if (var6) {
  39.             return var8;
  40.          }
  41.       }
  42.  
  43.       return null;
  44.    }
  45.  
  46.    public Fts(URL var1, URL var2) {
  47.       super(var1);
  48.       this.m_projURL = var2;
  49.       this.m_vChunkedFts = new Vector();
  50.       this.m_vChunkedTopicFts = new Vector();
  51.    }
  52.  
  53.    public void consume(IBsscXMLElementReader var1) {
  54.       if (var1.getName().equals("fts")) {
  55.          int var2 = 0;
  56.  
  57.          while(true) {
  58.             IBsscXMLElementReader var3 = var1.getChild(var2++);
  59.             if (var3 == null) {
  60.                break;
  61.             }
  62.  
  63.             if (var3.getName().equals("chunkinfo")) {
  64.                String var4 = var3.getAttribute("url");
  65.                String var5 = var3.getAttribute("first");
  66.                String var6 = var3.getAttribute("last");
  67.                if (var4 != null && var5 != null && var6 != null) {
  68.                   try {
  69.                      URL var7 = URLFileHandler.makeURL(((Consumer)this).getURL(), var4, (String)null);
  70.                      this.m_vChunkedFts.addElement(new FtsWData(var7, this.m_projURL, var5, var6));
  71.                   } catch (MalformedURLException var12) {
  72.                      ((Throwable)var12).printStackTrace();
  73.                   }
  74.                }
  75.             } else if (var3.getName().equals("tchunkinfo")) {
  76.                String var13 = var3.getAttribute("url");
  77.                String var14 = var3.getAttribute("first");
  78.                String var15 = var3.getAttribute("last");
  79.                if (var13 != null && var14 != null && var15 != null) {
  80.                   try {
  81.                      int var16 = Integer.parseInt(var14);
  82.                      int var8 = Integer.parseInt(var15);
  83.                      URL var9 = URLFileHandler.makeURL(((Consumer)this).getURL(), var13, (String)null);
  84.                      this.m_vChunkedTopicFts.addElement(new FtsTData(var9, this.m_projURL, var16, var8));
  85.                   } catch (MalformedURLException var10) {
  86.                      ((Throwable)var10).printStackTrace();
  87.                   } catch (NumberFormatException var11) {
  88.                      ((Throwable)var11).printStackTrace();
  89.                   }
  90.                }
  91.             }
  92.          }
  93.       }
  94.  
  95.    }
  96.  
  97.    public FtsWData getChunkedData(String var1) {
  98.       Object var2 = null;
  99.       int var3 = this.m_vChunkedFts.size();
  100.       if (var3 > 0) {
  101.          int var4 = 0;
  102.          int var5 = var3 - 1;
  103.          boolean var6 = false;
  104.  
  105.          do {
  106.             int var7 = var4 + var5 >> 1;
  107.             var8 = (FtsWData)this.m_vChunkedFts.elementAt(var7);
  108.             if (Language.compare(var1, var8.getLast()) > 0) {
  109.                var4 = var7 + 1;
  110.             } else {
  111.                if (Language.compare(var1, var8.getFirst()) >= 0) {
  112.                   var6 = true;
  113.                   break;
  114.                }
  115.  
  116.                var5 = var7 - 1;
  117.             }
  118.          } while(var5 >= var4);
  119.  
  120.          if (var6) {
  121.             return var8;
  122.          }
  123.       }
  124.  
  125.       return null;
  126.    }
  127. }
  128.