blob: 3ab17053c122febd1b453c3887deabb66c6b1650 [file] [log] [blame]
/**
* This is an application built to check the URL additions to the JAF
*/
package test;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.beans.*;
import java.io.IOException;
import javax.activation.*;
public class UrlCheck extends Frame implements WindowListener {
private URL url;
private Object command = null;
////////////////////////////////////////////////////////////
//-- ctor
public UrlCheck(URL url) {
super("UrlCheck");
this.url = url;
initMe();
if(checkURLData()) { // if we can get a DS
System.out.println("\n\n...Looking for a bean to display the content");
CommandInfo ci[] = url.getPreferredCommands(url.getContentType());
if(ci != null && (ci.length > 0)) {
System.out.println("\tfound a bean");
// i'm going to make an assumption about the semantics
// of the default cmd map for now, --bhc
// I'm also assuming all beans implement cmdobject
System.out.print("\tadding bean to frame...");
command =((DataHandler) url).getBean(ci[0]);
if(command instanceof Component) {
this.add((Component)command);
System.out.println("done.");
this.setSize(((Container)command).getPreferredSize());
this.doLayout();
}
else {
System.out.println("*failed* not a Component!");
}
show();
}
else {
System.out.println("\tcouldn't find a bean");
}
}
}
////////////////////////////////////////////////////////////
// init me
private void initMe() {
setSize(400,400);
setLayout(new BorderLayout());
this.addWindowListener(this);
}
////////////////////////////////////////////////////////////
// get url data
// Print all the DH stuff we know about the URL
private boolean checkURLData()
{
DataSource ds = null;
// Printout the content type
System.out.println( "URL = " + url.toString() );
System.out.println( "\tContent Type: " + url.getContentType());
System.out.println( "\tName: " + url.getName());
System.out.print("\n...getting the DataSource...");
try {
ds = url.getDataSource();
} catch (IOException e) {
System.out.println("IOException caught in checkURL Data");
System.exit(1);
}
if(ds == null) {
System.out.println("<failed>\n");
return false;
}
else {
System.out.println("done.\n");
System.out.println("\tDataSource.getName(): " +
ds.getName());
System.out.println("\tDataSource.getContentType(): " +
ds.getContentType());
return true;
}
}
////////////////////////////////////////////////////////////
// mainline
public static void main(String args[]) {
URL new_url = null;
UrlCheck appFrame = null;
if(args.length == 0) {
System.out.println("usage: UrlCheck <url>");
System.exit(1);
}
try {
new_url = new URL(args[0]);
} catch (MalformedURLException e) {
System.out.println("ERROR: The syntax of the URL was incorrect!");
System.out.println("Check it and try again!");
System.exit(1);
}
appFrame = new UrlCheck( new_url );
}
/////////////****WindowListener****//////////////////
public void windowOpened(WindowEvent e) {}
public void windowClosing(WindowEvent e) {
System.exit(0);
}
public void windowClosed(WindowEvent e) { }
public void windowIconified(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowActivated(WindowEvent e) {}
public void windowDeactivated(WindowEvent e) {}
}