home *** CD-ROM | disk | FTP | other *** search
- import java.io.DataInputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.NoSuchElementException;
- import java.util.Vector;
-
- public class ldscript {
- private URL baseUrl;
- private InputStream file;
- private DataInputStream scriptDataStream;
- private linklist list;
- private Vector mystack = new Vector(1);
- private static int position;
- private boolean fileError;
-
- public boolean getFileError() {
- return this.fileError;
- }
-
- private String getString(String var1, String var2) {
- var1 = var1.trim();
- int var3 = var1.indexOf(var2);
- if (var3 == -1) {
- return null;
- } else {
- String var4 = var1.substring(var3);
- var3 = var4.indexOf("=");
- ++var3;
- var4 = var4.substring(var3);
- var4.trim();
- if (!var2.equals("text") && !var2.equals("picture")) {
- int var5 = var4.indexOf(" ");
- if (var5 != -1) {
- var4 = var4.substring(0, var5);
- }
- }
-
- var4.trim();
- return new String(var4);
- }
- }
-
- public ldscript(URL var1, String var2) {
- try {
- this.file = (new URL(var1, var2)).openStream();
- this.scriptDataStream = new DataInputStream(this.file);
- } catch (MalformedURLException var3) {
- System.out.println("Error in URL" + var1.toString());
- this.fileError = true;
- } catch (IOException var4) {
- System.out.println("io exception opening " + var2);
- this.fileError = true;
- }
-
- this.list = new linklist();
- position = 0;
- this.readScript();
- }
-
- public synchronized void readScript() {
- int var2 = 0;
-
- try {
- String var1;
- while((var1 = this.readLine()) != null) {
- if (var1.length() != 0) {
- cmddata var3 = this.getCommandData(var1);
- var2 = var3.getFuncNum();
- if (var2 == 100) {
- Integer var4 = new Integer(this.list.size() + 1);
- this.mystack.addElement(var4);
- } else if (var2 == 101) {
- int var11 = var3.getRepeats();
- if (var11 > 0) {
- try {
- Integer var5 = (Integer)this.mystack.lastElement();
- var3.setDoPosition(var5);
- } catch (NoSuchElementException var8) {
- System.out.println("Problems in setting EndRepeats");
- this.fileError = true;
- break;
- }
- } else if (var11 == -1) {
- try {
- Integer var12 = (Integer)this.mystack.lastElement();
- var3.setDoPosition(var12);
- } catch (NoSuchElementException var7) {
- System.out.println("Problems in setting EndRepeats");
- this.fileError = true;
- break;
- }
- }
-
- try {
- this.mystack.removeElementAt(this.mystack.size() - 1);
- } catch (ArrayIndexOutOfBoundsException var6) {
- System.out.println("No more to pop off stack");
- }
- }
-
- this.list.addList(var3);
- }
- }
-
- this.file.close();
- this.scriptDataStream.close();
- } catch (IOException var9) {
- System.out.println("io exception error in readScript");
- this.fileError = true;
- }
-
- }
-
- private cmddata getCommandData(String var1) {
- cmddata var3 = new cmddata();
- String var2 = var1.trim();
- int var4 = var2.indexOf(" ");
- if (var4 == -1) {
- var2 = new String(var1);
- } else {
- var2 = var2.substring(0, var4);
- }
-
- if (var2.equals("ScrollUp")) {
- var3.addFuncNum(1);
- } else if (var2.equals("ScrollDown")) {
- var3.addFuncNum(2);
- } else if (var2.equals("ScrollRight")) {
- var3.addFuncNum(3);
- } else if (var2.equals("ScrollLeft")) {
- var3.addFuncNum(4);
- } else if (var2.equals("StartRepeat")) {
- var3.addFuncNum(100);
- } else if (var2.equals("EndRepeat")) {
- var3.addFuncNum(101);
- if (var4 != -1) {
- var2 = var1.substring(var4 + 1);
- var2 = var2.trim();
- var3.setRepeats(Integer.parseInt(var2));
- } else {
- var3.setRepeats(-1);
- }
- } else if (var2.equals("OverScrollUp")) {
- var3.addFuncNum(10);
- } else if (var2.equals("OverScrollDown")) {
- var3.addFuncNum(11);
- } else if (var2.equals("OverScrollRight")) {
- var3.addFuncNum(12);
- } else if (var2.equals("OverScrollLeft")) {
- var3.addFuncNum(13);
- } else if (var2.equals("Dots")) {
- var3.addFuncNum(102);
- } else if (var2.equals("Pause")) {
- var3.addFuncNum(103);
- } else if (var2.equals("Show")) {
- var3.addFuncNum(104);
- } else if (var2.equals("Blink")) {
- var3.addFuncNum(105);
-
- try {
- if ((var2 = this.getString(var1, "frequency")) != null) {
- var3.setBlink(Integer.parseInt(var2));
- }
- } catch (Exception var6) {
- }
- } else if (var2.equals("Clear")) {
- var3.addFuncNum(106);
- return var3;
- }
-
- if ((var2 = this.getString(var1, "delay")) != null) {
- var3.addDelay(Integer.parseInt(var2));
- }
-
- if ((var2 = this.getString(var1, "center")) != null && var2.equalsIgnoreCase("true")) {
- var3.addCenter(true);
- }
-
- if ((var2 = this.getString(var1, "frontGap")) != null) {
- var3.fGap(Integer.parseInt(var2));
- var3.addCenter(false);
- }
-
- if ((var2 = this.getString(var1, "endGap")) != null) {
- var3.eGap(Integer.parseInt(var2));
- var3.addCenter(false);
- }
-
- if ((var2 = this.getString(var1, "URL")) != null) {
- int var5 = var2.indexOf(44);
- if (var5 != -1) {
- var3.newURL(var2.substring(0, var5));
- var3.newTargetFrame(var2.substring(var5 + 1));
- } else {
- var3.newURL(var2);
- var3.newTargetFrame("_self");
- }
- }
-
- if ((var2 = this.getString(var1, "color")) != null) {
- var3.addColor(var2);
- }
-
- if ((var2 = this.getString(var1, "text")) != null) {
- var3.addText(var2);
- }
-
- if ((var2 = this.getString(var1, "picture")) != null) {
- var3.addPicture(var2);
- }
-
- return var3;
- }
-
- private String readLine() throws IOException {
- String var2;
- do {
- var2 = this.scriptDataStream.readLine();
- if (var2 == null) {
- return var2;
- }
-
- var2 = var2.trim();
- } while(var2.startsWith("##"));
-
- return var2;
- }
-
- public cmddata nextFunction() {
- cmddata var1 = this.list.getLink(position);
- if (var1 != null) {
- switch (var1.getFuncNum()) {
- case 100:
- ++position;
- var1 = this.nextFunction();
- break;
- case 101:
- if (!var1.incDoRepeats()) {
- position = var1.getDoPosition();
- } else {
- ++position;
- }
-
- var1 = this.nextFunction();
- break;
- default:
- ++position;
- if (position >= this.list.size()) {
- position = 0;
- }
- }
-
- return var1;
- } else {
- position = 0;
- System.out.println("No nextFunction error");
- return new cmddata();
- }
- }
- }
-