/** Dialogbox für Focused Crawl
 *  (c) Wolfgang Mederle <wam@mederle.de> 12.2000
 */
package lapis.cis;

import lapis.swing.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.filechooser.*;


public class FocCrawlDialog extends JFrame {

        private JPanel panel;
	private boolean urldateida = false;
	private boolean keyworddateida = false;
	public String urlFile, keyFile;
	private String newline ="\n";
        public Browser browser;
	
	public FocCrawlDialog(Browser x) {
	        this.browser = x;
		setTitle ("Focused Crawl");
		setSize (400, 200);
		addWindowListener(new WindowAdapter() {
				public void windowClosing (WindowEvent e) {
					setVisible(false);
				}
			} );
// neue Leinwand: zwei Zeilen
		panel = new JPanel();
		panel.setLayout(new GridLayout(2,1));

// in die erste Zeile kommt eine Schachtel
		Box schachtel = Box.createHorizontalBox();

// vor wir jetzt die Knöpfe für die Schachtel machen, müssen wir mal
// das Textausgabefeld erstellen, denn sonst wissen die Knöpfe nicht,
// wohin mit der Ausgabe.
		final JTextArea woshammanacha = new JTextArea(3,30);
		woshammanacha.setMargin(new Insets(5,5,5,5));
		woshammanacha.setEditable(false);

// jetzt machen wir aber die Knöpfe...
		JButton urlButton = new JButton ("Domain File");
		urlButton.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent urlf_openevt) {
					JFileChooser u = new JFileChooser();
					int result = u.showDialog(FocCrawlDialog.this, "Choose");
					urlFile = u.getSelectedFile().getPath();
					woshammanacha.append((urldateida == false) ? "URL File: "+urlFile + newline : "URL File CHANGED to: " + newline + urlFile + newline);
					urldateida = true;
					startCrawl();
				}	
			});
		JButton keyButton = new JButton ("Keyword File");
		keyButton.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent keyf_openevt) {
					JFileChooser k = new JFileChooser();
					int result = k.showDialog(FocCrawlDialog.this, "Choose");
					keyFile = k.getSelectedFile().getPath();
					woshammanacha.append((keyworddateida == false) ? "Keyword File: " +keyFile + newline : "Keyword File CHANGED to: " + newline + keyFile + newline);
					keyworddateida = true;
					startCrawl();
				}
			});
		JButton cancelButton = new JButton ("Cancel");
		cancelButton.addActionListener(new ActionListener(){
				public void actionPerformed(ActionEvent ka_aaktschn_ned) {
					setVisible(false);
				}
			});

// ...und stecken sie in die Schachtel
		schachtel.add(Box.createHorizontalStrut(10)); // bißchen Luft
		schachtel.add(urlButton);
		schachtel.add(Box.createGlue()); 
		schachtel.add(keyButton);
		schachtel.add(Box.createGlue());
		schachtel.add(cancelButton);
		schachtel.add(Box.createHorizontalStrut(10));

// die Schachtel stecken wir in die erste Zeile...
		panel.add(schachtel, "Center");
// ...und das Textausgabefeld ohne Schachtel in die zweite
		panel.add(woshammanacha);

// zum Schluß noch die Leinwand in den Rahmen gespannt und ab die Post!
		Container inhalt = getContentPane();
		inhalt.add(panel);
	}

	void startCrawl() {
		if (urldateida == true && keyworddateida == true) {
			setVisible(false);
			FocCrawl krabble_los = new FocCrawl
			    (urlFile, keyFile);
			int index;
			HTMLDocString buffer = null;
			DocFetcher[] docFetchers;
			Classifier[] classifiers;
			Watcher bb;
			krabble_los.makeFastQuery();
			docFetchers = krabble_los.startDocFetcher
			    (FocCrawl.DOC_FETCHER_NUMBER);
			classifiers = krabble_los.startClassifier
			    (FocCrawl.CLASSIFIER_NUMBER);
			bb = new Watcher
			    (docFetchers, classifiers, this.browser);
			bb.setPriority(7);
			bb.start();	

		}
		else return;
	}
}


syntax highlighted by Code2HTML, v. 0.8.12