home *** CD-ROM | disk | FTP | other *** search
- import com.ms.wfc.app.Application;
- import com.ms.wfc.app.MethodInvoker;
- import com.ms.wfc.ui.CommonDialog;
- import com.ms.wfc.ui.FileDialog;
- import com.ms.wfc.ui.OpenFileDialog;
- import java.awt.Color;
- import java.io.DataInputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.util.StringTokenizer;
- import java.util.Vector;
-
- public class OCAOpnr {
- File openedfile;
- String rawPage = "";
- String cname = "";
- String codebase = "";
- String appWidth;
- String appHeight;
- int sel = -1;
- Vector pvector;
- ACIntf iface;
- AIPars rawinfo;
- APInfo appinfo;
- String tclassName = "-1";
- boolean isTemplate = false;
- boolean imagefolder_beenset = false;
-
- private void setImgFolder(String var1) {
- if (!this.imagefolder_beenset) {
- String var2 = (new File(var1)).getParent();
- if (var2 == null) {
- var2 = ".";
- } else {
- var2 = var2 + File.separator;
- }
-
- this.imagefolder_beenset = true;
- }
-
- }
-
- private void getFileInvoked() {
- OpenFileDialog var1 = new OpenFileDialog();
- ((FileDialog)var1).setFileName("Untitled.html");
- ((FileDialog)var1).setDefaultExt(".html");
- ((FileDialog)var1).setFilter("HTML Files (*.html;*.htm)|*.html;*.htm");
- if (ACutila.iface.lastSave != null) {
- ((FileDialog)var1).setInitialDir(ACutila.iface.lastSave.getParent());
- } else {
- ((FileDialog)var1).setInitialDir(ACutil.getClassPath());
- }
-
- int var2 = ((CommonDialog)var1).showDialog();
- if (var2 == 1 && ((FileDialog)var1).getFileName() != null) {
- this.openedfile = new File(((FileDialog)var1).getFileName());
- this.openFile();
- } else {
- this.openFile();
- this.openedfile = null;
- }
- }
-
- static Vector buildTokenString(String var0) {
- Vector var1 = new Vector();
- Vector var2 = new Vector();
- StringTokenizer var3 = new StringTokenizer(var0, "\n");
- int var5 = 0;
- String var6 = "";
- String var7 = "";
-
- while(var3.hasMoreTokens()) {
- String var4 = var3.nextToken().trim();
- var5 = var4.indexOf("=");
- if (var5 > -1) {
- var6 = var4.substring(0, var5).trim();
- if (var4.length() > var5 + 1) {
- var7 = var4.substring(var5 + 1).trim();
- if (var7.length() > 1) {
- if ((new Character(var7.charAt(0))).toString().equals("\"")) {
- var7 = var7.substring(1, var7.length());
- }
-
- if ((new Character(var7.charAt(var7.length() - 1))).toString().equals("\"")) {
- var7 = var7.substring(0, var7.length() - 1);
- }
- }
- } else {
- var7 = "";
- }
-
- var1.addElement(var6);
- var1.addElement(var7);
- }
- }
-
- if (var1.size() % 2 != 0) {
- return null;
- } else {
- for(int var10 = 0; var10 < var1.size() / 2; ++var10) {
- String[] var8 = new String[]{(String)var1.elementAt(var10 * 2), (String)var1.elementAt(var10 * 2 + 1)};
- var8[1] = ACutil.DelUnwanted(var8[1], """, (new Character('"')).toString());
- var8[1] = ACutil.DelUnwanted(var8[1], "&", "&");
- var2.addElement(var8);
- }
-
- return var2;
- }
- }
-
- public OCAOpnr(AIPars var1, ACIntf var2, String var3) {
- this.rawinfo = var1;
- this.iface = var2;
- this.tclassName = var3;
- Application.createThread(new MethodInvoker(this, "getFileInvoked"));
- }
-
- public OCAOpnr(AIPars var1, ACIntf var2, String var3, boolean var4) {
- this.rawinfo = var1;
- this.iface = var2;
- this.tclassName = var3;
- this.isTemplate = var4;
- this.openFile();
- }
-
- private boolean grabHeaderInfo() {
- String var1 = "";
- int var2 = this.rawPage.indexOf(">");
- if (var2 != -1) {
- var1 = this.rawPage.substring(0, var2);
- if (this.rawPage.length() > var2 + 1) {
- this.rawPage = this.rawPage.substring(var2 + 1);
- this.rawPage = this.rawPage.trim();
- this.cname = ACutil.GetInternalTagValue("code", var1, 3, false);
- if (this.cname.equals("-1")) {
- return false;
- } else {
- int var3 = 0;
- String var4 = this.cname.toLowerCase();
- if ((var3 = var4.indexOf(".class")) != -1) {
- this.cname = this.cname.substring(0, var3);
- }
-
- this.codebase = ACutil.GetInternalTagValue("codebase", var1, 3, false);
- if (this.codebase.equals("-1")) {
- this.codebase = ".";
- }
-
- this.appHeight = ACutil.GetInternalTagValue("height", var1, 2, false);
- this.appWidth = ACutil.GetInternalTagValue("width", var1, 2, false);
- return true;
- }
- } else {
- return false;
- }
- } else {
- return false;
- }
- }
-
- private void addBranchParams() {
- String var1 = "";
- if (this.appinfo.branch_level) {
- String[] var2 = this.appinfo.getBranchDefValues();
- String[] var3 = this.appinfo.getBranchParamDescs();
- this.appinfo.getBranchKeys();
- int var4 = var2.length;
- String[] var5 = new String[var4];
- MLparam var6 = this.appinfo.specml_params;
- int var7 = var6.getBranchIDCount();
- String[] var8 = var6.getBranchIds();
-
- for(int var9 = 0; var9 < var7; ++var9) {
- var5 = new String[var4];
-
- for(int var10 = 0; var10 < var4; ++var10) {
- String var11 = var8[var9].replace('-', '_');
- if ((var1 = this.getParameter(true, var3[var10] + var11)) != null) {
- var5[var10] = var1;
- } else {
- var5[var10] = var2[var10];
- }
- }
-
- this.appinfo.addBranchDataFromFile(var8[var9], var5);
- }
-
- }
- }
-
- private void getRawPage() {
- try {
- FileInputStream var1 = new FileInputStream(this.openedfile);
- DataInputStream var2 = new DataInputStream(var1);
- long var3 = this.openedfile.length();
- byte[] var5 = new byte[(int)var3];
- var2.readFully(var5);
- this.rawPage = new String(var5, 0);
- } catch (IOException var6) {
- }
- }
-
- private String getNewPreviewPage(String var1, String var2, int var3, boolean var4) {
- String[] var5 = this.rawinfo.getAppletInfo(var3);
- String var6 = "";
- String var7 = ACutil.getPreviewDirectoryPath() + File.separator;
- File var8 = new File(ACutila.workingFolder, this.iface.preview_file_name);
- var6 = ACutil.getRelative(var8.getParent() + File.separator, var7, false);
- var6 = var6.replace('\\', '/');
- String var9 = "";
- int var10 = var2.lastIndexOf("/");
- if (var10 > -1 && var10 != var2.length() - 1) {
- var9 = var2.substring(0, var10 + 1);
- }
-
- var1 = ACutil.DelUnwanted(var1, var2, var6 + var5[2] + "_data.js");
-
- for(int var11 = 3; var11 < var5.length; ++var11) {
- String var12 = var9 + var5[var11] + ".js";
- var1 = ACutil.DelUnwanted(var1, var12, var6 + var5[var11] + ".js");
- }
-
- return var1;
- }
-
- private void addIconParams() {
- String var1 = "";
- boolean var2 = false;
- if (this.appinfo.icon_level) {
- String[] var3 = this.appinfo.getIconParamDescs();
- String[] var4 = this.appinfo.getIconDefValues();
- if (var3 != null) {
- this.appinfo.getIconKeys();
- int var5 = var3.length;
- String var6 = var3[0];
-
- int var7;
- for(var7 = 0; this.getParameter(false, var6 + var7) != null; ++var7) {
- }
-
- for(int var8 = 0; var8 < var7; ++var8) {
- String[] var9 = new String[var5];
-
- for(int var10 = 0; var10 < var5; ++var10) {
- if ((var1 = this.getParameter(true, var3[var10] + var8)) != null) {
- var9[var10] = var1;
- } else {
- var9[var10] = var4[var10];
- }
- }
-
- if (!var2) {
- this.appinfo.max_icon_index = -1;
- this.appinfo.cur_icon_index = -1;
- var2 = true;
- }
-
- this.appinfo.addIconParam(var9);
- }
-
- }
- }
- }
-
- private void addParameterValues() {
- String[] var1 = this.appinfo.getDefParamDescs();
- String[] var2 = this.appinfo.getDefDefValues();
- this.appinfo.getDefKeys();
-
- for(int var3 = 0; var3 < var2.length; ++var3) {
- var2[var3] = "<none>";
- }
-
- for(int var13 = 0; var13 < var1.length; ++var13) {
- for(int var4 = 0; var4 < this.pvector.size(); ++var4) {
- if (var1[var13].equalsIgnoreCase(((String[])this.pvector.elementAt(var4))[0])) {
- var2[var13] = ((String[])this.pvector.elementAt(var4))[1];
- this.pvector.removeElementAt(var4);
- }
- }
- }
-
- this.appinfo.updateDefParams(var2);
- String[] var14 = this.appinfo.getSpecParamDescs();
- String[] var15 = this.appinfo.getSpecDefValues();
- int[] var5 = this.appinfo.getSpecKeys();
- int var6 = var14.length;
- String var7 = var14[0];
-
- int var8;
- for(var8 = 0; this.getParameter(false, var7 + var8) != null; ++var8) {
- }
-
- for(int var10 = 0; var10 < var8; ++var10) {
- String[] var11 = new String[var6];
-
- for(int var12 = 0; var12 < var6; ++var12) {
- String var9;
- if ((var9 = this.getParameter(true, var14[var12] + var10)) != null) {
- if (var5[var12] == 20) {
- var11[var12] = var9;
- } else if (var5[var12] == 8) {
- var11[var12] = ACutil.replaceEndChars(var9, "|", " ");
- } else {
- var11[var12] = var9;
- }
- } else {
- var11[var12] = var15[var12];
- }
- }
-
- this.appinfo.addSpecParam(var11);
- }
-
- this.addMLParams();
- this.addIconParams();
- this.addBranchParams();
- }
-
- private String getParameter(boolean var1, String var2) {
- for(int var4 = 0; var4 < this.pvector.size(); ++var4) {
- if (var2.equals(((String[])this.pvector.elementAt(var4))[0])) {
- String var3 = ((String[])this.pvector.elementAt(var4))[1];
- if (var1) {
- this.pvector.removeElementAt(var4);
- }
-
- return var3;
- }
- }
-
- return null;
- }
-
- private void addMLParams() {
- String var1 = "";
- if (this.appinfo.multi_level) {
- String[] var2 = this.appinfo.getSpecMLDefValues();
- String[] var3 = this.appinfo.getSpecMLParamDescs();
- this.appinfo.getSpecMLKeys();
- int var4 = var2.length;
- String[] var5 = new String[var4];
- String var6 = var3[0];
- Vector var7 = new Vector();
-
- for(int var9 = 0; var9 < this.pvector.size(); ++var9) {
- String var8 = ((String[])this.pvector.elementAt(var9))[0];
- if (var8.indexOf(var6) != -1) {
- String var10 = var8.substring(var6.length(), var8.length());
- var7.addElement(var10);
- }
- }
-
- for(int var16 = 0; var16 < var7.size(); ++var16) {
- var5 = new String[var4];
- String var14 = ((String)var7.elementAt(var16)).trim();
-
- for(int var11 = 0; var11 < var4; ++var11) {
- if ((var1 = this.getParameter(true, var3[var11] + var14)) != null) {
- var5[var11] = var1;
- } else {
- var5[var11] = var2[var11];
- }
- }
-
- var14 = var14.replace('_', '-');
- this.appinfo.addSpecMLParamFFile(var14, var5);
- if (this.appinfo.branch_level) {
- this.appinfo.initBranchFromFile(var14);
- }
- }
-
- this.appinfo.specml_params.getTreeIds();
- this.appinfo.cur_tree_index = 0;
- this.appinfo.max_tree_index = 0;
- this.appinfo.cur_tree_level = 1;
- this.appinfo.max_tree_level = 1;
- this.appinfo.resetTree(this.appinfo.cur_spec_index);
- this.appinfo.cur_tree_index = this.appinfo.max_tree_index;
- }
- }
-
- private void addLevelParams() {
- String var1 = "";
- boolean var2 = false;
- if (this.appinfo.level_level) {
- String[] var3 = this.appinfo.getLevelParamDescs();
- String[] var4 = this.appinfo.getLevelDefValues();
- if (var3 != null) {
- int[] var5 = this.appinfo.getLevelKeys();
- int var6 = var3.length;
- int var7 = this.appinfo.specml_params.getMaxLevel();
- this.appinfo.max_tree_level = 0;
-
- for(int var8 = 0; var8 < var7; ++var8) {
- String[] var9 = new String[var6];
-
- for(int var10 = 0; var10 < var6; ++var10) {
- if ((var1 = this.getParameter(true, var3[var10] + var8)) != null) {
- if (var5[var10] == 20) {
- this.setImgFolder(var1);
- String var12 = (new File(var1)).getName();
- if (var12 == null) {
- var12 = ".";
- }
-
- if (var1.lastIndexOf(":") != -1) {
- var9[var10] = var1;
- }
-
- if (!(new File(var9[var10])).isFile()) {
- var9[var10] = var1;
- }
- } else {
- var9[var10] = var1;
- }
- } else {
- var9[var10] = var4[var10];
- }
- }
-
- if (!var2) {
- var2 = true;
- }
-
- this.appinfo.addLevelFromFile(var9);
- }
-
- }
- }
- }
-
- private void openFile() {
- boolean var1 = false;
- boolean var2 = false;
- String var3 = "";
- String var4 = "";
- if (this.tclassName.equals("-1")) {
- if (this.openedfile == null) {
- return;
- }
-
- if (!this.iface.noApplet) {
- this.iface.closeAppletUI();
- }
-
- this.iface.lastSave = new File(this.openedfile.toString());
- } else {
- this.openedfile = new File(ACutil.getTemplateFilePath(this.tclassName));
- }
-
- ACutila.workingFolder = this.openedfile.getParent();
- this.getRawPage();
- this.iface.open_rawpage = this.rawPage;
- String[] var5 = new String[]{"ocdvs", "ocdnm"};
- String var6 = this.rawPage.toLowerCase();
- boolean var7 = false;
- String var8 = "";
- int var9 = 0;
-
- for(int var10 = 0; var10 < var5.length; ++var10) {
- var9 = var6.indexOf(var5[var10]);
- if (var9 > -1) {
- this.cname = var5[var10].substring(2);
- this.sel = var10;
- break;
- }
- }
-
- if (var9 == -1) {
- new OCDialog(this.iface, true, "The selected page does not contain a valid Visual DHTML tool.", "Error");
- } else {
- int var19 = var6.indexOf("<body");
- if (var19 > -1) {
- int var11 = var6.indexOf(">", var19);
- if (var11 > -1) {
- var6.substring(var19, var11 + 1);
- String var12 = ACutil.GetInternalTagValue("bgcolor", var6, 1, false);
- if (!var12.equals("-1")) {
- var12 = "#" + var12;
- ACutilWindow.daColor = occcolor.ConvertColor(var12);
- ACutilWindow.daColorHex = var12;
- } else {
- ACutilWindow.daColor = new Color(255, 255, 255);
- ACutilWindow.daColorHex = "#FFFFFF";
- }
- }
- } else {
- ACutilWindow.daColor = new Color(255, 255, 255);
- ACutilWindow.daColorHex = "#FFFFFF";
- }
-
- int var21 = var6.indexOf(">", var9);
- int var13 = var6.lastIndexOf("=", var9);
- if (var21 > -1 && var13 > -1) {
- var7 = true;
- var8 = this.rawPage.substring(var13 + 1, var21);
- if (var8.length() > 1) {
- var8 = var8.trim();
- if (var8.substring(0, 1).equals("'") || var8.substring(0, 1).equals("\"")) {
- var8 = var8.substring(1);
- }
-
- if (var8.substring(var8.length() - 1).equals("'") || var8.substring(var8.length() - 1).equals("\"")) {
- var8 = var8.substring(0, var8.length() - 1);
- }
- }
-
- if (var8.indexOf("/") == -1) {
- var4 = this.rawPage;
- var3 = var8;
- var2 = true;
- var1 = true;
- } else {
- var4 = this.rawPage;
- var3 = var8;
- var2 = true;
- var1 = false;
- }
-
- var8 = ACutil.getAbsoluteFromRelativeHTML(this.openedfile.getParent(), var8);
- }
-
- this.openedfile = new File(var8);
- this.getRawPage();
- if (this.rawPage == null) {
- new OCDialog(this.iface, true, "An error occured attempting to open the data file - No Data Found", "Error");
- } else {
- if (!this.isTemplate) {
- ACutila.scriptFolder = this.openedfile.getParent();
- }
-
- String[][] var14 = this.rawinfo.getParamInfo(this.sel);
- this.appinfo = new APInfo(var14, true);
- this.pvector = buildTokenString(this.rawPage);
- this.addParameterValues();
- this.rawinfo.curSelection = this.sel;
- String var15 = this.rawinfo.getAppletInfo(this.sel)[1];
- String var16 = this.rawinfo.getAppletInfo(this.sel)[0];
- this.iface.initACIntf(1, this.appinfo, var15, this.cname, var16);
- this.iface.opened = true;
- if (this.isTemplate) {
- this.iface.lastSave = null;
- this.iface.opened = false;
- } else {
- if (var2) {
- this.iface.open_previewpage = this.getNewPreviewPage(var4, var3, this.sel, var1);
- this.iface.open_file_replace_string = var3;
- }
-
- ACutila.classesFolder = ACutil.getAbsoluteFromRelative(this.iface.lastSave.getParent(), this.codebase);
- if (ACutila.classesFolder.equals(this.iface.lastSave.getParent())) {
- ACutila.classesFolder = "<same>";
- }
-
- }
- }
- }
- }
- }
-