blob: 83171764848aac8d0b763f0dff09d715f428ce5a [file] [log] [blame]
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import org.apache.bsf.*;
import org.apache.bsf.util.*;
public class TestCalc extends Frame {
static final protected Hashtable extensionmap= new Hashtable();
static
{
extensionmap.put("pl", "perlscript");
extensionmap.put("vbs", "vbscript");
extensionmap.put("js", "jscript");
}
static final String languageFromExtension( String s) throws Exception
{
int dot= s.lastIndexOf('.');
if(dot != -1) s= s.substring( dot+1);
String lang= (String) extensionmap.get(s);
if(null == lang) throw new BSFException(BSFException.REASON_OTHER_ERROR, "File extension " + s + " unknown language!");
return lang;
}
public TestCalc (String fileName) throws Exception {
BSFManager manager = new BSFManager ();
manager.declareBean("frame", this, this.getClass());
try
{
manager.exec(manager.getLangFromFilename(fileName), fileName, 0, 0,
IOUtils.getStringFromReader(new FileReader(fileName)));
}catch(BSFException e )
{
System.out.println("exception: " + e.getMessage());
Throwable oe= e.getTargetException();
if(null != oe) System.out.println("\nOriginal Exception:"+ oe.getMessage());
e.printStackTrace();
}
}
public static void main (String[] args) throws Exception {
if (args.length != 1) {
System.err.println("Missing file name");
System.exit(1);
}
Frame f = new TestCalc(args[0]);
f.show();
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) { System.exit(0); }
} );
}
}