home *** CD-ROM | disk | FTP | other *** search
- package XMLConsumer;
-
- import BsscXML.IBsscXMLElementReader;
- import hhapplet.IChunkedData;
- import hhapplet.IChunkedDataListener;
- import hhapplet.URLFileHandler;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.Vector;
- import treeview.SiblingChildTree;
-
- public class TocData extends Consumer implements IChunkedData {
- private URL m_projURL = null;
- private Vector m_vEntries = null;
- private boolean m_bLoaded;
- private int m_nRootLevel;
- private IChunkedDataListener m_listener;
-
- public TocData(URL var1, URL var2) {
- super(var1);
- this.m_projURL = var2;
- this.m_nRootLevel = 0;
- this.m_vEntries = new Vector();
- }
-
- public Vector getTocEntires() {
- return this.m_vEntries;
- }
-
- public void consume(IBsscXMLElementReader var1) {
- if (var1.getName().equals("tocdata")) {
- this.processBook(var1, this.m_nRootLevel, (TocEntry)null);
- }
-
- if (this.m_listener != null) {
- this.m_listener.putData(this);
- }
-
- }
-
- private void processBook(IBsscXMLElementReader var1, int var2, TocEntry var3) {
- int var4 = 0;
- Object var5 = null;
- TocEntry var6 = null;
-
- while(true) {
- IBsscXMLElementReader var7 = var1.getChild(var4++);
- if (var7 == null) {
- return;
- }
-
- String var8 = var7.getAttribute("name");
- String var9 = var7.getAttribute("url");
- String var10 = var7.getAttribute("ref");
- String var11 = var7.getAttribute("target");
- String var12 = var7.getAttribute("images");
- if (var9 == null) {
- var9 = "";
- }
-
- if (var7.getName().equals("book")) {
- TocEntry var18 = new TocEntry(var8, var9, (String)null, this.m_vEntries.size(), 1, var2, this);
- this.m_vEntries.addElement(var18);
- if (var3 != null) {
- ((SiblingChildTree)var3).addChild(var18);
- } else if (var6 != null) {
- ((SiblingChildTree)var6).addSibling(var18);
- }
-
- var6 = var18;
- this.processBook(var7, var2 + 1, var18);
- if (var11 != null) {
- var18.setTarget(var11);
- }
-
- if (var12 != null) {
- var18.setIcon(var12);
- }
- } else if (var7.getName().equals("item")) {
- TocEntry var19 = new TocEntry(var8, var9, (String)null, this.m_vEntries.size(), 2, var2, this);
- this.m_vEntries.addElement(var19);
- if (var3 != null) {
- ((SiblingChildTree)var3).addChild(var19);
- } else if (var6 != null) {
- ((SiblingChildTree)var6).addSibling(var19);
- }
-
- var6 = var19;
- if (var11 != null) {
- var19.setTarget(var11);
- }
-
- if (var12 != null) {
- var19.setIcon(var12);
- }
- } else if (var7.getName().equals("remoteitem")) {
- TocEntry var20 = new TocEntry(var8, var9, (String)null, this.m_vEntries.size(), 5, var2, this);
- this.m_vEntries.addElement(var20);
- if (var3 != null) {
- ((SiblingChildTree)var3).addChild(var20);
- } else if (var6 != null) {
- ((SiblingChildTree)var6).addSibling(var20);
- }
-
- var6 = var20;
- if (var11 != null) {
- var20.setTarget(var11);
- }
-
- if (var12 != null) {
- var20.setIcon(var12);
- }
- } else if (var7.getName().equals("project")) {
- String var13 = this.m_projURL.toString();
- int var14 = var13.lastIndexOf("/");
- if (var14 != -1 && var14 < var13.length()) {
- var13 = var13.substring(var14 + 1);
- }
-
- try {
- URL var15 = URLFileHandler.makeURL(this.m_projURL, var10 + var13, (String)null);
- TocEntry var21 = new TocEntry(var8, var9, var15.toString(), this.m_vEntries.size(), 4, var2, this);
- this.m_vEntries.addElement(var21);
- if (var3 != null) {
- ((SiblingChildTree)var3).addChild(var21);
- } else if (var6 != null) {
- ((SiblingChildTree)var6).addSibling(var21);
- }
-
- var6 = var21;
- if (var11 != null) {
- var21.setTarget(var11);
- }
-
- if (var12 != null) {
- var21.setIcon(var12);
- }
- } catch (MalformedURLException var17) {
- ((Throwable)var17).printStackTrace();
- }
- } else if (var7.getName().equals("chunk")) {
- try {
- URL var23 = URLFileHandler.makeURL(((Consumer)this).getURL(), var10, (String)null);
- TocEntry var22 = new TocEntry(var8, var9, var23.toString(), this.m_vEntries.size(), 3, var2, this);
- this.m_vEntries.addElement(var22);
- if (var3 != null) {
- ((SiblingChildTree)var3).addChild(var22);
- } else if (var6 != null) {
- ((SiblingChildTree)var6).addSibling(var22);
- }
-
- var6 = var22;
- if (var11 != null) {
- var22.setTarget(var11);
- }
-
- if (var12 != null) {
- var22.setIcon(var12);
- }
- } catch (MalformedURLException var16) {
- ((Throwable)var16).printStackTrace();
- }
- }
- }
- }
-
- public boolean isLoaded() {
- return this.m_bLoaded;
- }
-
- public void load(IChunkedDataListener var1) {
- this.load(var1, 0);
- }
-
- public void load(IChunkedDataListener var1, int var2) {
- if (!this.m_bLoaded) {
- this.m_listener = var1;
- this.m_nRootLevel = var2;
- ((Consumer)this).process(false);
- this.m_bLoaded = true;
- }
-
- }
-
- public URL getProjURL() {
- return this.m_projURL;
- }
- }
-