forked from Coded/SIPRP
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							289 lines
						
					
					
						
							10 KiB
						
					
					
				
			
		
		
	
	
							289 lines
						
					
					
						
							10 KiB
						
					
					
				package siprp;
 | 
						|
 | 
						|
import static siprp.ProcessoConstants.ESTADO_PROCESSO_BY_CODE;
 | 
						|
import static siprp.ProcessoConstants.PROCESSO_ABERTO_CODE;
 | 
						|
import static siprp.ProcessoConstants.PROCESSO_ABERTO_DESCRIPTION;
 | 
						|
import static siprp.ProcessoConstants.PROCESSO_CANCELADO_CODE;
 | 
						|
import static siprp.ProcessoConstants.PROCESSO_CANCELADO_DESCRIPTION;
 | 
						|
import static siprp.ProcessoConstants.PROCESSO_FECHADO_CODE;
 | 
						|
import static siprp.ProcessoConstants.PROCESSO_FECHADO_DESCRIPTION;
 | 
						|
 | 
						|
import java.awt.Color;
 | 
						|
import java.awt.GraphicsEnvironment;
 | 
						|
import java.util.Date;
 | 
						|
import java.util.Properties;
 | 
						|
 | 
						|
import javax.swing.JPanel;
 | 
						|
import javax.swing.SwingUtilities;
 | 
						|
import javax.swing.UIManager;
 | 
						|
import javax.swing.plaf.ColorUIResource;
 | 
						|
import javax.swing.tree.DefaultMutableTreeNode;
 | 
						|
import javax.swing.tree.MutableTreeNode;
 | 
						|
 | 
						|
import siprp.clientes.AvisosPanel;
 | 
						|
import siprp.companydataloaders.SIPRPDataLoader;
 | 
						|
import siprp.data.ActualizacaoSaveHandler;
 | 
						|
import siprp.data.DisableDeleteHandler;
 | 
						|
import siprp.data.EmpresaData;
 | 
						|
import siprp.data.EstabelecimentoData;
 | 
						|
import siprp.data.MarcacaoEmpresaData;
 | 
						|
import siprp.data.MarcacaoEstabelecimentoData;
 | 
						|
import siprp.data.MarcacaoSaveAndDeleteHandler;
 | 
						|
import siprp.data.MarcacaoTrabalhadorData;
 | 
						|
import siprp.data.TrabalhadorData;
 | 
						|
import siprp.lembretes.LembretesDemon;
 | 
						|
import siprp.update.UpdateWindow;
 | 
						|
 | 
						|
import com.evolute.utils.EVUtilsImageLib;
 | 
						|
import com.evolute.utils.Singleton;
 | 
						|
import com.evolute.utils.db.DBException;
 | 
						|
import com.evolute.utils.db.DBManager;
 | 
						|
import com.evolute.utils.db.JDBCManager;
 | 
						|
import com.evolute.utils.db.keyretrievers.JDBCAutoKeyRetriever;
 | 
						|
import com.evolute.utils.error.ErrorLogger;
 | 
						|
import com.evolute.utils.jdbc.DBStatementExecuter;
 | 
						|
import com.evolute.utils.jdbc.StatementExecuterFactory;
 | 
						|
import com.evolute.utils.jdo.JDOObject;
 | 
						|
import com.evolute.utils.jdo.JDOProvider;
 | 
						|
import com.evolute.utils.sql.Insert;
 | 
						|
import com.evolute.utils.sql.SQLQuery;
 | 
						|
import com.evolute.utils.strings.UnicodeChecker;
 | 
						|
import com.evolute.utils.ui.DialogException;
 | 
						|
import com.evolute.utils.ui.window.LoginWindow;
 | 
						|
 | 
						|
public class Main implements com.evolute.utils.ui.window.Connector
 | 
						|
{
 | 
						|
	public final static String SHST_VERSION = "10.0";
 | 
						|
	
 | 
						|
	private final static ClassLoader classLoader = new EVUtilsImageLib().getClass().getClassLoader();
 | 
						|
	
 | 
						|
	private static String dbase;
 | 
						|
	private SIPRPTracker siprpTracker;
 | 
						|
	private static LoginWindow loginWindow;
 | 
						|
	
 | 
						|
	private static AvisosPanel avisos = null;
 | 
						|
	
 | 
						|
	static
 | 
						|
	{
 | 
						|
		JDOObject.registerOperationHandlerForClass( DisableDeleteHandler.INSTANCE, EmpresaData.class );
 | 
						|
		JDOObject.registerOperationHandlerForClass( DisableDeleteHandler.INSTANCE, EstabelecimentoData.class );
 | 
						|
		JDOObject.registerOperationHandlerForClass( DisableDeleteHandler.INSTANCE, TrabalhadorData.class );
 | 
						|
		
 | 
						|
		JDOObject.registerOperationHandlerForClass( ActualizacaoSaveHandler.INSTANCE, EmpresaData.class );
 | 
						|
		JDOObject.registerOperationHandlerForClass( ActualizacaoSaveHandler.INSTANCE, EstabelecimentoData.class );
 | 
						|
		JDOObject.registerOperationHandlerForClass( ActualizacaoSaveHandler.INSTANCE, TrabalhadorData.class );
 | 
						|
		
 | 
						|
		JDOObject.registerOperationHandlerForClass( MarcacaoSaveAndDeleteHandler.INSTANCE, MarcacaoEmpresaData.class );
 | 
						|
		JDOObject.registerOperationHandlerForClass( MarcacaoSaveAndDeleteHandler.INSTANCE, MarcacaoEstabelecimentoData.class );
 | 
						|
		JDOObject.registerOperationHandlerForClass( MarcacaoSaveAndDeleteHandler.INSTANCE, MarcacaoTrabalhadorData.class );
 | 
						|
		
 | 
						|
		ESTADO_PROCESSO_BY_CODE.put( PROCESSO_ABERTO_CODE, PROCESSO_ABERTO_DESCRIPTION );
 | 
						|
		ESTADO_PROCESSO_BY_CODE.put( PROCESSO_FECHADO_CODE, PROCESSO_FECHADO_DESCRIPTION );
 | 
						|
		ESTADO_PROCESSO_BY_CODE.put( PROCESSO_CANCELADO_CODE, PROCESSO_CANCELADO_DESCRIPTION );
 | 
						|
	}
 | 
						|
	
 | 
						|
	public static void main( String args[] )
 | 
						|
		throws Exception
 | 
						|
	{
 | 
						|
		UIManager.put( "TextField.inactiveForeground", UIManager.get( "TextField.foreground" ) );
 | 
						|
		UIManager.put( "TextField.foreground", ColorUIResource.RED.darker() );
 | 
						|
		
 | 
						|
		UIManager.put( "TextArea.inactiveForeground", UIManager.get( "TextArea.foreground" ) );
 | 
						|
		UIManager.put( "TextArea.foreground", ColorUIResource.RED.darker() );
 | 
						|
		
 | 
						|
		UIManager.put( "ComboBox.disabledForeground", UIManager.get( "ComboBox.foreground" ) );
 | 
						|
		UIManager.put( "ComboBox.foreground", ColorUIResource.RED.darker() );
 | 
						|
 | 
						|
//		Singleton.setInstance( SingletonConstants.COMPANY_NAME, "Centro Cl\u00ednico Avenida" );
 | 
						|
//		Singleton.setInstance( SingletonConstants.COMPANY_LOGO, "logo_evo.jpg" );
 | 
						|
//		Singleton.setInstance( SingletonConstants.WEB_AWARE, Boolean.FALSE );
 | 
						|
//		Singleton.setInstance( SingletonConstants.DB_NAME, "shst" );
 | 
						|
		
 | 
						|
//		Singleton.setInstance( SingletonConstants.COMPANY_NAME, "SIPRP - Sociedade Ib\u00e9rica de Preven\u00e7\u00e3o de Riscos Profissionais" );
 | 
						|
//		Singleton.setInstance( SingletonConstants.COMPANY_LOGO, "logo_combo.jpg" );
 | 
						|
//		Singleton.setInstance( SingletonConstants.WEB_AWARE, Boolean.TRUE );
 | 
						|
//		Singleton.setInstance( SingletonConstants.LOCAL_DB_NAME, "siprp" );
 | 
						|
		new SIPRPDataLoader().load();
 | 
						|
//		new ClinicaAvenidaDataLoader().load();
 | 
						|
//		new IBookDataLoader().load();
 | 
						|
		
 | 
						|
		dbase = (String)Singleton.getInstance( SingletonConstants.LOCAL_DB_NAME );
 | 
						|
/*		Calendar cal = Calendar.getInstance();
 | 
						|
		cal.set( 2004, 06, 14 );
 | 
						|
		if( cal.before( Calendar.getInstance() ) )
 | 
						|
		{
 | 
						|
			com.evolute.utils.ui.DialogException.showException( new RuntimeException( "Unknown error ocurred." ) );
 | 
						|
		}
 | 
						|
		else
 | 
						|
		{
 | 
						|
*/			Insert.setDefaultKeyRetriever( JDBCAutoKeyRetriever.DEFAULT );
 | 
						|
			String server = System.getProperty( "server.address" );
 | 
						|
//			if( server == null )
 | 
						|
//			{
 | 
						|
//				server = "ws_fpalma";
 | 
						|
//			}
 | 
						|
//			
 | 
						|
//			String user = "root";
 | 
						|
//			String passwd = "UNIXLuvsU";
 | 
						|
//			
 | 
						|
//			DBManager dbm = new JDBCManager( "jdbc:mysql://" + server + "/" + dbase, 
 | 
						|
//						user, passwd , 10, 8, 8, null );
 | 
						|
			
 | 
						|
			UnicodeChecker.setUseDoubleSlash( true );
 | 
						|
//			Singleton.setInstance( Singleton.DEFAULT_DBMANAGER, dbm );
 | 
						|
 | 
						|
//			StatementExecuterFactory.initialize( 
 | 
						|
//					new DBStatementExecuter( dbm.getSharedExecuter() ) );
 | 
						|
//		}
 | 
						|
//		FichaWindow window = new FichaWindow();
 | 
						|
/*		window.setLogo( new ImageIcon( 
 | 
						|
			new Main().getClass().getClassLoader().getResource( "logo/logo_w400.png" ) 
 | 
						|
			).getImage() );*/
 | 
						|
//		window.show();
 | 
						|
		avisos = new AvisosPanel();
 | 
						|
		String logoFileName = ( String ) Singleton.getInstance( SingletonConstants.COMPANY_LOGO );
 | 
						|
		loginWindow = new LoginWindow( new Main(), /*"logo"+File.separator +*/ logoFileName,//"logo"+File.separator + "logo_w400.jpg", 
 | 
						|
				new String[] { (String) Singleton.getInstance( SingletonConstants.SOFTWARE_NAME ) }, 
 | 
						|
				new String[] { "Vers\u00E3o " + SHST_VERSION, "(EVOLUTE 2004-2008)" }, "",
 | 
						|
				(String)Singleton.getInstance( SingletonConstants.LOCAL_USER ), 
 | 
						|
				(String)Singleton.getInstance( SingletonConstants.LOCAL_PASSWORD ), avisos, false );
 | 
						|
		loginWindow.setTitle( (String) Singleton.getInstance( SingletonConstants.SOFTWARE_NAME ) );
 | 
						|
		JPanel left = loginWindow.getLeftPanel();
 | 
						|
		left.setBackground( Color.white );
 | 
						|
		GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
 | 
						|
		loginWindow.setExtendedState(loginWindow.getExtendedState() | loginWindow.MAXIMIZED_BOTH);
 | 
						|
		loginWindow.setVisible( true );
 | 
						|
		SwingUtilities.invokeLater( new Runnable(){
 | 
						|
			public void run()
 | 
						|
			{
 | 
						|
				loginWindow.expandAll();
 | 
						|
			}
 | 
						|
		} );
 | 
						|
		
 | 
						|
		new UpdateWindow().update();
 | 
						|
	}
 | 
						|
	
 | 
						|
	public boolean connect( String user, String passwd )
 | 
						|
	{
 | 
						|
		try
 | 
						|
		{
 | 
						|
			// run initialization SQL
 | 
						|
			SQLQuery initQuery[] = new SQLQuery[] {};
 | 
						|
//			String server = System.getProperty( "server.address" );
 | 
						|
			String server = null;
 | 
						|
			if( server == null )
 | 
						|
			{
 | 
						|
				//server = "192.168.1.191";
 | 
						|
				server = (String)Singleton.getInstance( SingletonConstants.LOCAL_URL );
 | 
						|
//				server = "ws_fpalma";
 | 
						|
			}
 | 
						|
			String prefix = (String)Singleton.getInstance( SingletonConstants.LOCAL_URL_PREFIX );
 | 
						|
			String url = prefix + server + "/" + dbase;
 | 
						|
//			System.out.println( "url: " + url + " user: " + user + " ps: " + passwd );
 | 
						|
			DBManager dbm = new JDBCManager( url, user, passwd , 10, 8, 8, null );
 | 
						|
//			UnicodeChecker.setUseDoubleSlash( true );
 | 
						|
			Singleton.setInstance( Singleton.DEFAULT_DBMANAGER, dbm );
 | 
						|
 | 
						|
			StatementExecuterFactory.initialize( 
 | 
						|
					new DBStatementExecuter( dbm.getSharedExecuter() ) );
 | 
						|
			new JDOInitializer().initializeJDO( url, user, passwd );
 | 
						|
			StatementExecuterFactory.initialize( 
 | 
						|
					new DBStatementExecuter( dbm.getSharedExecuter() ) );
 | 
						|
			StatementExecuterFactory.initialize( 
 | 
						|
				new DBStatementExecuter( dbm.getSharedExecuter() ) );
 | 
						|
			Singleton.setInstance( Singleton.TODAY, new Date() );
 | 
						|
			initializeCayenne( url, user, passwd);
 | 
						|
			
 | 
						|
//cleanData( dbm.getSharedExecuter() );
 | 
						|
//msg( dbm.getSharedExecuter() );
 | 
						|
		}
 | 
						|
		catch( Exception ex )
 | 
						|
		{
 | 
						|
			DialogException.showExceptionMessage( ex, "N\u00E3o foi poss\u00EDvel estabelecer"
 | 
						|
				+ " a liga\u00E7\u00E3o \u00E0 base de dados.", false );
 | 
						|
			return false;
 | 
						|
		}
 | 
						|
		Singleton.setInstance( Singleton.USERNAME, user );
 | 
						|
		try
 | 
						|
		{
 | 
						|
			ErrorLogger.initializeLogger( new SHSTLogger() );
 | 
						|
		}
 | 
						|
		catch( Exception ex )
 | 
						|
		{
 | 
						|
		}
 | 
						|
		//Singleton.setInstance( Singleton.USERNAME, user );
 | 
						|
		siprpTracker = new SIPRPTracker( avisos );
 | 
						|
		
 | 
						|
		avisos.refresh();
 | 
						|
//		new Exception().printStackTrace();
 | 
						|
//		try
 | 
						|
//		{
 | 
						|
//			Thread.sleep( 1000 );
 | 
						|
//		}
 | 
						|
//		catch( Exception ex ){}
 | 
						|
//		new Exception().printStackTrace();
 | 
						|
		LembretesDemon.go();
 | 
						|
		return true;
 | 
						|
	}
 | 
						|
	
 | 
						|
//	public static void reconnectJDO()
 | 
						|
//	{
 | 
						|
//		PersistenceManagerFactory pmf = ( PersistenceManagerFactory ) Singleton.getInstance( Singleton.DEFAULT_PERSISTENCE_MANAGER_FACTORY );
 | 
						|
//		PersistenceManager pm = pmf.getPersistenceManager();
 | 
						|
//		Singleton.setInstance( SingletonConstants.PERSISTENCE_MANAGER, pm );
 | 
						|
//		com.evolute.utils.jdo.JDOObject.setPersistentManager( pm );
 | 
						|
//	}
 | 
						|
	
 | 
						|
	public boolean disconnect()
 | 
						|
	{
 | 
						|
		if( siprpTracker.quit() )
 | 
						|
		{
 | 
						|
			siprpTracker = null;
 | 
						|
			try
 | 
						|
			{
 | 
						|
				( ( DBManager )Singleton.getInstance( 
 | 
						|
					Singleton.DEFAULT_DBMANAGER ) ).close();
 | 
						|
				Singleton.clear();
 | 
						|
			}
 | 
						|
			catch( DBException ex )
 | 
						|
			{
 | 
						|
				DialogException.showException( ex );
 | 
						|
			}
 | 
						|
			return true;
 | 
						|
		}
 | 
						|
		return false;
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void executeAction( DefaultMutableTreeNode node )
 | 
						|
	{
 | 
						|
		try
 | 
						|
		{
 | 
						|
			siprpTracker.openWindow( ( String )node.getUserObject() );
 | 
						|
		}
 | 
						|
		catch( Exception ex )
 | 
						|
		{
 | 
						|
			DialogException.showException( ex );
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void exit()
 | 
						|
	{
 | 
						|
		if( siprpTracker == null || siprpTracker.quit() )
 | 
						|
		{
 | 
						|
			System.exit( 0 );
 | 
						|
		}
 | 
						|
	}
 | 
						|
	
 | 
						|
	public MutableTreeNode getTree()
 | 
						|
	{
 | 
						|
		return siprpTracker.getRoot();
 | 
						|
	}
 | 
						|
	
 | 
						|
	public void initializeCayenne(String url, String user, String password)
 | 
						|
	{
 | 
						|
		// TODO: override DB location, user and password
 | 
						|
	}
 | 
						|
 | 
						|
	
 | 
						|
}
 |