home *** CD-ROM | disk | FTP | other *** search
- package XMLConsumer;
-
- import BsscXML.IBsscXMLElementReader;
- import hhapplet.IChunkedData;
- import hhapplet.IChunkedDataListener;
- import hhapplet.Language;
- import java.net.URL;
- import java.util.Vector;
-
- public class FtsWData extends Consumer implements IChunkedData {
- private URL m_projURL = null;
- private String m_sFirst = null;
- private String m_sLast = null;
- private Vector m_keys;
- private boolean m_bLoaded;
- private IChunkedDataListener m_listener;
- private boolean m_bDone;
-
- public int getNum() {
- return 0;
- }
-
- public FtsWData(URL var1, URL var2, String var3, String var4) {
- super(var1);
- this.m_sFirst = var3;
- this.m_sLast = var4;
- this.m_projURL = var2;
- this.m_bLoaded = false;
- this.m_bDone = false;
- this.m_keys = new Vector();
- this.m_listener = null;
- }
-
- public Vector getTopics(String var1) {
- new Vector();
- if (this.m_keys != null && this.m_keys.size() > 0) {
- int var2 = 0;
- int var3 = this.m_keys.size() - 1;
- int var4 = -1;
- boolean var6 = false;
-
- FtsKeyInt var5;
- do {
- var4 = var2 + var3 >> 1;
- var5 = (FtsKeyInt)this.m_keys.elementAt(var4);
- if (Language.compare(var5.getName(), var1) > 0) {
- var3 = var4 - 1;
- } else {
- if (Language.compare(var5.getName(), var1) >= 0) {
- var6 = true;
- break;
- }
-
- var2 = var4 + 1;
- }
- } while(var2 <= var3);
-
- if (var6) {
- return var5.getTopics();
- }
- }
-
- return null;
- }
-
- public void consume(IBsscXMLElementReader var1) {
- new Vector();
- if (var1.getName().equals("ftswdata")) {
- int var2 = 0;
- boolean var3 = false;
- boolean var4 = false;
-
- while(true) {
- IBsscXMLElementReader var5 = var1.getChild(var2++);
- if (var5 == null) {
- if (this.m_listener != null) {
- this.m_listener.putData(this);
- }
- break;
- }
-
- if (var5.getName().equals("key")) {
- String var6 = var5.getAttribute("name");
- if (var6 != null && var6.length() != 0) {
- FtsKeyInt var7 = new FtsKeyInt(var6);
- this.m_keys.addElement(var7);
- int var8 = 0;
-
- while(true) {
- IBsscXMLElementReader var9 = var5.getChild(var8++);
- if (var9 == null) {
- break;
- }
-
- if (var9.getName().equals("#text")) {
- String var10 = var9.getValue();
- if (var10 != null && var10.length() > 0) {
- int var11 = 0;
-
- while(true) {
- int var12 = var10.indexOf(",", var11);
- Object var13 = null;
- String var16;
- if (var12 != -1) {
- var16 = var10.substring(var11, var12);
- } else {
- var16 = var10.substring(var11);
- }
-
- if (var16 != null) {
- try {
- int var14 = Integer.parseInt(var16);
- var7.addTopic(var14);
- } catch (NumberFormatException var15) {
- }
- }
-
- var11 = var12 + 1;
- if (var11 == 0 || var11 >= var10.length()) {
- break;
- }
- }
- }
- }
- }
- }
- }
- }
- }
-
- }
-
- public String getLast() {
- return this.m_sLast;
- }
-
- public String getFirst() {
- return this.m_sFirst;
- }
-
- public boolean isLoaded() {
- return this.m_bLoaded;
- }
-
- public void load(IChunkedDataListener var1) {
- if (!this.m_bLoaded) {
- this.m_listener = var1;
- ((Consumer)this).process(false);
- this.m_bLoaded = true;
- }
-
- }
-
- public URL getProjURL() {
- return this.m_projURL;
- }
-
- public void setDone(boolean var1) {
- this.m_bDone = var1;
- }
- }
-