import java.applet.Applet; import java.applet.AppletContext; import java.awt.Label; import java.net.URL; import java.io.*; /* * Created on Nov 27, 2004 *TODO * * @ author alex */ /** * @author Alexander E Genaud */ public class Reloader extends Applet { String localUrlBase; String localDirBase; private String query = ""; // initial query private int page = 1; // current hit page private boolean isApplet = true; private void loadAppletParameters() { String pQuery = getParameter("query"); if (pQuery != null) this.query = pQuery; String pPage = getParameter("page"); if (pPage != null) this.page = Integer.valueOf(pPage).intValue(); } public void init() { if (isApplet) { loadAppletParameters(); URL codeBase = this.getCodeBase(); localUrlBase = codeBase.toString(); //localDirBase = Path.stripUrlProto( localUrlBase ); System.out.println("localUrlBase = " + localUrlBase); /* URL url = null; try { url = new URL(localUrlBase + query +".html"); } catch (Exception e) { System.out.println("Applet.showDoc bummy bout that url"); } */ System.out.println("query: " + query + " , page: " + page); if (query == null || query.length() < 1) { Label testOK = new Label("Test: OK"); this.add(testOK); System.out.println("No Query No reloady."); } else { URL tmpUrl = writeTempFile(query); if (tmpUrl != null) { showDocument(tmpUrl, false); } } } else { // Application System.out.println("isApplet == false (Application)"); /* localDirBase = System.getProperty("user.dir") + "/"; localUrlBase = "file://" + localDirBase; */ } } public static void main(String[] args) { Reloader app = new Reloader(); app.isApplet = false; app.init(); } private URL writeTempFile(String query) { try { // ui.appendMessage("results in browser"); File fTmp = File.createTempFile("ati",".html"); fTmp.deleteOnExit(); System.out.println( "file://" + fTmp.getPath() ); FileWriter w = new FileWriter(fTmp); StringBuffer htmlBuf = new StringBuffer(); htmlBuf.append(" "); htmlBuf.append( query + ""); htmlBuf.append("

Success

"); htmlBuf.append("

received parameters: "+ query +"

"); htmlBuf.append("

wrote temp file: " + fTmp.getPath() +"

"); htmlBuf.append("

replaced self with temp file

"); htmlBuf.append("\n\n"); char[] chrs = htmlBuf.toString().toCharArray(); w.write(chrs); w.close(); URL url = null; try { url = new URL("file://" + fTmp.getPath()); } catch (Exception e) { System.out.println("Applet.writeTempFile died creating URL"); System.out.println(" on new URL(file://" + fTmp.getPath() +")"); } return url; } catch (IOException ioe ) { System.out.println("Failed Writing Temp File. " + ioe.getMessage()); } catch (Exception e ) { System.out.println("Unknown Error while Writing Temp File. " + e.getMessage()); } return null; } private void showDocument(URL url, boolean newWindow) { if (isApplet) { if (url != null) { System.out.println("Applet.showDoc looking good"); AppletContext appletContext = this.getAppletContext(); if (newWindow) { appletContext.showDocument(url, "Vicaya Search Result"); } else { appletContext.showDocument(url); } } } System.out.println("Applet.showDoc done"); } }