001: package com.xoetrope.carousel.testpilot;
002:
003: import java.io.BufferedInputStream;
004: import java.io.FileInputStream;
005: import java.io.IOException;
006: import java.net.URL;
007: import java.net.URLConnection;
008:
009: import java.awt.FileDialog;
010:
011: import net.xoetrope.swing.XButton;
012: import net.xoetrope.swing.XEdit;
013: import net.xoetrope.swing.XPanel;
014: import net.xoetrope.swing.XRadioButton;
015: import net.xoetrope.swing.XScrollableMetaContent;
016: import net.xoetrope.data.XDataSource;
017: import net.xoetrope.xui.XPage;
018: import net.xoetrope.xui.XPageManager;
019: import net.xoetrope.xui.XProjectManager;
020: import net.xoetrope.xui.data.XBaseModel;
021: import net.xoetrope.xui.data.XModel;
022: import netscape.javascript.JSObject;
023:
024: /**
025: * Support for ???
026: * <p> Copyright (c) Xoetrope Ltd., 2001-2006, This software is licensed under
027: * the GNU Public License (GPL), please see license.txt for more details. If
028: * you make commercial use of this software you must purchase a commercial
029: * license from Xoetrope.</p>
030: * <p> $Revision: 1.2 $</p>
031: */
032: public class AppletConfig extends XPage {
033: XButton btnProceed;
034: XRadioButton radRecord, radRun;
035: XPanel pnlRun, pnlRecord;
036: XEdit txtURL, txtURLRun, txtFile;
037: XScrollableMetaContent lblDesc;
038: Proxy proxy;
039:
040: public AppletConfig() {
041: // proxy = new Proxy();
042: }
043:
044: public void goBack() {
045: if (wasMouseClicked())
046: pageMgr.showPrevious();
047: }
048:
049: public void showOption() {
050: pnlRun.setVisible(radRun.isSelected());
051: pnlRecord.setVisible(radRecord.isSelected());
052: lblDesc.setVisible(true);
053: btnProceed.setEnabled(true);
054: }
055:
056: public void nextPage() {
057: if (wasMouseClicked()) {
058: if (radRecord.isSelected()) {
059: try {
060: JSObject js = JSObject.getWindow(UnitApplet
061: .getApplet());
062: Object bret = js.eval("openURL( '"
063: + txtURL.getText() + "' );");
064: pageMgr.showPage("tprecorder");
065: Recorder rec = (Recorder) pageMgr
066: .getPage("tprecorder");
067: rec.reset();
068: } catch (Exception ex) {
069: ex.printStackTrace();
070: }
071: } else if (radRun.isSelected()) {
072: JSObject js = JSObject
073: .getWindow(UnitApplet.getApplet());
074: Object bret = js.eval("openURL( '"
075: + txtURLRun.getText() + "' );");
076: pageMgr.showPage("tprunner");
077: }
078: }
079: }
080:
081: public void locateScript() {
082: if (wasMouseClicked()) {
083: FileDialog fd = new FileDialog(UnitApplet.getApplet()
084: .getFrame(),
085: "Please locate the script you want to run!");
086: fd.setVisible(true);
087: XDataSource modelDataSource = new XDataSource(project);
088: if (fd.getFile() != null) {
089: try {
090: java.io.FileInputStream fis = new FileInputStream(
091: fd.getDirectory() + fd.getFile());
092: txtFile.setText(fd.getDirectory() + fd.getFile());
093: XModel baseModel = project.getModel()
094: .reset(project);
095: ScriptConverter.convertTableForOpen(project, fis);
096: // InputStreamReader isr = new InputStreamReader(fis, "UTF8");
097: // BufferedReader reader = new BufferedReader(isr);
098: // XmlElement src = XmlSource.read(reader);
099: // modelDataSource.loadTable(src, baseModel);
100: XBaseModel desc = (XBaseModel) baseModel
101: .get("settings/desc");
102: lblDesc.setContent(desc.get().toString(), null);
103: lblDesc.repaint();
104: XBaseModel urlNode = (XBaseModel) baseModel
105: .get("settings/url");
106: txtURLRun.setText(urlNode.get().toString());
107: txtURLRun.setVisible(true);
108: } catch (Exception ex) {
109: // showMessage( "Could not open file... \n\n" + fd.getDirectory() + fd.getFile() );
110: }
111: }
112: }
113: }
114:
115: String getURL() {
116: return txtURL.getText();
117: }
118:
119: public void pageCreated() {
120: btnProceed = (XButton) findComponent("btnProceed");
121: radRecord = (XRadioButton) findComponent("radRecord");
122: radRun = (XRadioButton) findComponent("radRun");
123: pnlRun = (XPanel) findComponent("pnlRun");
124: pnlRecord = (XPanel) findComponent("pnlRecord");
125: txtURL = (XEdit) findComponent("txtURL");
126: txtURLRun = (XEdit) findComponent("txtURLRun");
127: txtFile = (XEdit) findComponent("txtFile");
128: lblDesc = (XScrollableMetaContent) findComponent("lblDesc");
129: }
130:
131: public void setStartPage(String url) {
132: txtURL.setText(url);
133: }
134:
135: public String loadFromDomain(String src) {
136: try {
137: URL url = new URL("http", "localhost", 8001, src);
138:
139: URLConnection conn = url.openConnection();
140: conn.connect();
141: BufferedInputStream bis = new BufferedInputStream(conn
142: .getInputStream());
143: byte b[] = new byte[1000];
144: int size = bis.read(b);
145: String ret = "";
146: while (size > 0) {
147: ret += new String(b, 0, size);
148: b = new byte[1000];
149: size = bis.read(b);
150: }
151: JSObject js = JSObject.getWindow(UnitApplet.getApplet());
152: Object oParam[] = new Object[1];
153: oParam[0] = ret;
154: Object bret = js.call("pageRetrieved", oParam);
155: return new String(b);
156: } catch (IOException ex) {
157: ex.printStackTrace();
158: }
159: return "";
160: }
161:
162: }
|