package com.wiley.compbooks.brose.chapter15.management;

import java.awt.*;
import java.awt.event.*;
import org.omg.CORBA.*;
import org.omg.PortableServer.*;

public class ManagementTool
    extends Frame
    implements WindowListener 
{
    public ManagementTool() 
    {
        super( "CORBA Management Tool" );
    	addWindowListener(this);
        setSize( 450, 275 );
    }

    public void windowActivated(WindowEvent e) {}
    public void windowClosed(WindowEvent e) {}
    public void windowClosing(WindowEvent e) {}
    public void windowDeactivated(WindowEvent e) {}
    public void windowDeiconified(WindowEvent e) {}
    public void windowIconified(WindowEvent e) {}
    public void windowOpened(WindowEvent e) {}

    public synchronized void setVisible(boolean vis) 
    {
        if(vis == true) 
        {
    	    setLocation(50, 50);
    	}
        super.setVisible(vis);
    }

    public static void main( String[] args ) 
    {
        ORB orb;
        POA poa;
        try 
        {
            orb = ORB.init(args, null);
            poa = POAHelper.narrow( orb.resolve_initial_references("RootPOA"));
            ManagementTool managementTool = new ManagementTool();
            managementTool.setVisible(true);

            ManagerImpl manager = new ManagerImpl( managementTool );
            poa.servant_to_reference( manager );
            poa.the_POAManager().activate();
        }
        catch( Exception ex ) 
        {
            System.err.println(ex);
        }


    }
}
