home *** CD-ROM | disk | FTP | other *** search
- public class JScriptBrowser extends SJMTObject {
- public static final int BROWSER_FIRST_MODE = 0;
- public static final int BROWSER_GLOBAL = 0;
- public static final int BROWSER_LOCAL = 1;
- public static final int BROWSER_SPECIAL = 2;
- public static final int BROWSER_LAST_MODE = 2;
- private static final int LEVEL_START = 0;
- private static final int NO_START = 5;
- private static final int NAME_START = 10;
- private static final int TYPE_START = 30;
- private static final int VALUE_START = 40;
- private static final String HEADER_LINE = "Lev. Nr. Name Type Value\n";
- private static final String NOT_FOUND = " not found";
- private static final String UNKNOWN = "unknown";
- private static final String INVALID = "invalid";
- private boolean bEnable;
- private int nMode;
- private String aObjectName;
- private JSbxVector aWatchObjArray;
- private JScriptManager aJScriptManager;
-
- public JScriptBrowser(JScriptManager var1, ThreadGroup var2) {
- super(var1, "JavaScript Browser", var2);
- this.bEnable = true;
- this.nMode = 0;
- this.aJScriptManager = var1;
- this.aWatchObjArray = new JSbxVector(10);
- }
-
- public JScriptBrowser(JScriptManager var1) {
- this(var1, (ThreadGroup)null);
- }
-
- protected void ProcessMessage(SJMessage var1) {
- switch (var1.GetID()) {
- case 10030:
- var1.AcknowledgePing();
- return;
- default:
- if (var1 instanceof JScriptAction) {
- JScriptAction var2 = (JScriptAction)var1;
- switch (((SJMessage)var2).GetID()) {
- case 3001:
- ((SJMTObject)this).StopMessageLoop();
- return;
- case 3002:
- this.ShowInfos();
- return;
- case 3003:
- this.ShowWatch();
- return;
- case 3004:
- this.AddWatch((String)((SJMessage)var2).GetObject(0));
- this.ShowWatch();
- return;
- case 3005:
- return;
- case 3006:
- this.ShowInfos();
- return;
- case 3007:
- this.SetMode(var2.GetInteger());
- return;
- case 3008:
- this.SetBrowseObjectName((String)((SJMessage)var2).GetObject(0));
- return;
- case 3009:
- this.RemoveAllWatches();
- return;
- case 3010:
- this.NextMode();
- return;
- case 3011:
- this.SetVariable((String)((SJMessage)var2).GetObject(0));
- this.ShowInfos();
- return;
- case 3012:
- this.bEnable = true;
- return;
- case 3013:
- this.bEnable = false;
- return;
- default:
- }
- }
- }
- }
-
- public final String ShowInfos() {
- return this.ShowInfos(true);
- }
-
- private final String ShowInfos(boolean var1) {
- String var2 = "<disabled>";
- if (this.bEnable) {
- switch (this.nMode) {
- case 0:
- var2 = this.ShowGlobal(var1);
- break;
- case 1:
- var2 = this.ShowLocal(var1);
- break;
- case 2:
- var2 = this.ShowSpecial(var1);
- }
- }
-
- if (var1) {
- this.NotifyObservers(new JScriptAction(5007, this.GetActModeString()));
- this.NotifyObservers(new JScriptAction(5004, var2));
- }
-
- var2 = var2 + this.ShowWatch();
- return var2;
- }
-
- private final String ShowGlobal(boolean var1) {
- String var2 = "WARNING: no CLI";
- JScriptCallLevelInstance var3 = this.aJScriptManager.GetActCallLevelInstForBrowser();
- if (var3 != null) {
- var2 = this.ProcessHeaderOutput();
- JSbxStack var4 = ((JSbxObject)var3).DEBUG_GetSearchStack();
-
- for(int var5 = ((JSbxVector)var4).GetSize() - 1; var5 >= 0; --var5) {
- JSbxObject var6 = (JSbxObject)((JSbxVector)var4).Get(var5);
- var2 = var2 + this.ProcessObject(var5, var6);
- }
- }
-
- return var2;
- }
-
- private final String ShowLocal(boolean var1) {
- String var2 = "";
- JScriptCallLevelInstance var3 = this.aJScriptManager.GetActCallLevelInstForBrowser();
- if (var3 != null) {
- var2 = this.ProcessHeaderOutput();
- JSbxObject var4 = var3.GetLocalVarObject();
- var2 = var2 + this.ProcessObject(0, var4);
- }
-
- return var2;
- }
-
- private final String ShowSpecial(boolean var1) {
- String var2 = this.ProcessHeaderOutput();
- return var2 + this.InfosForObject(this.aObjectName);
- }
-
- private final String ShowWatch() {
- return this.ShowWatch(true);
- }
-
- private final String ShowWatch(boolean var1) {
- StringBuffer var2 = new StringBuffer();
- if (this.bEnable) {
- int var3 = this.NoOfWatches();
- var2.append(this.ProcessHeaderOutput());
-
- for(int var4 = 0; var4 < var3; ++var4) {
- String var5 = this.InfosForObject(this.GetWatch(var4));
- var2.append(var5);
- var2.append("\n");
- }
- } else {
- var2.append("<disabled>");
- }
-
- if (var1) {
- this.NotifyObservers(new JScriptAction(5005, new String(var2)));
- }
-
- return new String(var2);
- }
-
- private final String ProcessHeaderOutput() {
- return new String("Lev. Nr. Name Type Value\n");
- }
-
- private final String ProcessObject(int var1, JSbxObject var2) {
- return this.ProcessObject(var1, var2, (String)null);
- }
-
- private final String ProcessObject(int var1, JSbxObject var2, String var3) {
- String var4 = "";
- String var5 = null;
- if (var2 == null) {
- return var3 != null ? var3 + " " + "invalid" : "";
- } else {
- if (var3 != null) {
- var5 = var3 + ".";
- }
-
- var4 = this.ProcessNameArray(var1, var2, var5);
- var4 = var4 + this.ProcessIndexArray(var1, var2, var3);
- var4 = var4 + this.ProcessConstructor(var1, var2, var3);
- JSbxStack var6 = var2.DEBUG_GetSearchStack();
-
- for(int var7 = ((JSbxVector)var6).GetSize() - 1; var7 >= 0; --var7) {
- JSbxObject var8 = (JSbxObject)((JSbxVector)var6).Get(var7);
- var4 = var4 + this.ProcessObject(var1 + 1, var8, (String)null);
- }
-
- return var4;
- }
- }
-
- private final String ProcessNameArray(int var1, JSbxObject var2, String var3) {
- JSbxNameArray var4 = var2.DEBUG_GetNameArray();
- JSbxProperty[] var5 = var4.GetArrayOfProperties();
- return this.ProcessPropertyArray(var1, var5, true, var3);
- }
-
- private final String ProcessIndexArray(int var1, JSbxObject var2, String var3) {
- JSbxIndexArray var4 = var2.DEBUG_GetIndexArray();
- JSbxProperty[] var5 = new JSbxProperty[var4.GetTotalSize()];
-
- for(int var6 = 0; var6 < var5.length; ++var6) {
- var5[var6] = (JSbxProperty)var4.Get(var6 + var4.GetMinIndex());
- }
-
- return this.ProcessPropertyArray(var1, var5, false, var3);
- }
-
- private final String ProcessConstructor(int var1, JSbxObject var2, String var3) {
- JScriptConstructor var4 = var2.GetConstructor();
- return var4 != null ? this.ProcessObject(var1 + 1, var4, var3) : "";
- }
-
- private final String ProcessPropertyArray(int var1, JSbxProperty[] var2, boolean var3, String var4) {
- StringBuffer var5 = new StringBuffer();
-
- for(int var6 = 0; var6 < var2.length; ++var6) {
- var5.append(this.ProcessProperty(var1, var6, var2[var6], var3, var4));
- var5.append("\n");
- }
-
- return new String(var5);
- }
-
- private final String ProcessProperty(int var1, boolean var2, JSbxProperty var3, String var4, String var5, String var6) {
- String var7 = "";
- if (var4 != null) {
- var7 = JScriptTools.AppendAtPos(0, var4, var7);
- }
-
- var7 = JScriptTools.AppendAtPos(5, String.valueOf(var1), var7);
- if (var3 != null) {
- String var8 = "";
- if (var5 != null) {
- var8 = var5;
- }
-
- if (var2) {
- var8 = var8 + var3.GetName();
- } else {
- var8 = var8 + "[" + var3.GetName() + "]";
- }
-
- var7 = JScriptTools.AppendAtPos(10, var8, var7);
- var7 = JScriptTools.AppendAtPos(30, var3.GetBrowserTypeInfo(), var7);
- var7 = JScriptTools.AppendAtPos(40, var3.GetBrowserValueInfo(), var7);
- } else {
- var7 = JScriptTools.AppendAtPos(10, var6 + " " + "invalid", var7);
- }
-
- return var7;
- }
-
- private final String ProcessProperty(int var1, int var2, JSbxProperty var3, boolean var4, String var5) {
- String var6;
- if (var4) {
- var6 = var1 + " N";
- } else {
- var6 = var1 + " I";
- }
-
- return this.ProcessProperty(var2, var4, var3, var6, var5, "");
- }
-
- private final String InfosForStructObject(String var1) {
- String var2 = "";
- String var3 = "";
- Object var4 = null;
- JSbxObject var5 = null;
- JSbxValue var6 = null;
-
- try {
- var6 = JScriptBuildInFunctionHandler.EvaluateSourceCode(var1, this.aJScriptManager.GetRTIForBrowser(), false);
- if (var6 != null && var6.GetType() == 2) {
- var5 = (JSbxObject)var6.GetObject();
- }
- } catch (JSbxExceptionBase var7) {
- } catch (NullPointerException var8) {
- }
-
- if (var6 == null) {
- return var1 + " " + "invalid";
- } else {
- JSbxValueProperty var10 = new JSbxValueProperty(var1, (JSbxObject)null, var6);
- var3 = var3 + this.ProcessProperty(0, true, var10, (String)null, var2, var1);
- if (var6.GetType() == 2) {
- var3 = var3 + "\n" + this.ProcessObject(0, var5, var1);
- }
-
- return var3;
- }
- }
-
- private final JSbxObject SearchForObject(String var1) {
- JSbxProperty var2 = this.SearchForProperty(var1);
- if (var2 == null) {
- return null;
- } else {
- JSbxValue var3 = new JSbxValue();
-
- try {
- var2.Get(var3);
- if (var3.GetType() == 2) {
- return (JSbxObject)var3.GetObject();
- }
- } catch (JSbxException var5) {
- System.out.println("Exception in SearchForObject() " + var5);
- }
-
- return null;
- }
- }
-
- private final JSbxProperty SearchForProperty(String var1) {
- JScriptCallLevelInstance var2 = JScriptManager.GetMyActCallLevelInst();
- if (var2 != null) {
- Object var3 = null;
- JSbxStack var4 = ((JSbxObject)var2).DEBUG_GetSearchStack();
-
- for(int var5 = ((JSbxVector)var4).GetSize() - 1; var5 >= 0; --var5) {
- JSbxObject var6 = (JSbxObject)((JSbxVector)var4).Get(var5);
- JSbxProperty var7 = var6.Get(var1);
- if (var7 != null) {
- return var7;
- }
- }
- }
-
- return null;
- }
-
- private final JSbxProperty SearchInProperty(String var1, JSbxProperty var2) {
- JSbxValue var3 = new JSbxValue();
-
- try {
- var2.Get(var3);
- if (var3.GetType() == 2) {
- JSbxObject var4 = (JSbxObject)var3.GetObject();
- JSbxProperty var5 = var4.Get(var1);
- return var5;
- }
- } catch (JSbxException var6) {
- System.out.println("Exception in SearchInProperty() " + var6);
- }
-
- return null;
- }
-
- private final String InfosForObject(String var1) {
- return this.InfosForStructObject(var1);
- }
-
- private void NotifyObservers(SJMessage var1) {
- this.aJScriptManager.HandleMessage(var1);
- }
-
- private final void SetMode(int var1) {
- this.nMode = var1;
- }
-
- private final void NextMode() {
- ++this.nMode;
- if (this.nMode > 2) {
- this.nMode = 0;
- }
-
- }
-
- private final String GetActModeString() {
- String var1 = "unknown";
- switch (this.nMode) {
- case 0:
- var1 = "GLOBAL";
- break;
- case 1:
- var1 = "LOCAL";
- break;
- case 2:
- var1 = this.GetBrowseObjectName();
- }
-
- return var1;
- }
-
- private final void SetBrowseObjectName(String var1) {
- this.aObjectName = var1;
- }
-
- private final String GetBrowseObjectName() {
- return this.aObjectName;
- }
-
- private final String GetWatch(int var1) {
- return (String)this.aWatchObjArray.Get(var1);
- }
-
- private final int NoOfWatches() {
- return this.aWatchObjArray.GetSize();
- }
-
- private final void AddWatch(String var1) {
- this.aWatchObjArray.Add(var1);
- }
-
- private final void RemoveWatch(String var1) {
- }
-
- private final void RemoveAllWatches() {
- this.aWatchObjArray = new JSbxVector(10);
- }
-
- private final void SetVariable(String var1) {
- try {
- JScriptBuildInFunctionHandler.EvaluateSourceCode(var1, this.aJScriptManager.GetRTIForBrowser(), false);
- } catch (JSbxExceptionBase var2) {
- } catch (NullPointerException var3) {
- }
- }
- }
-