package siprp; import siprp.data.*; import siprp.ficha.*; import siprp.clientes.*; import com.evolute.utils.*; import com.evolute.utils.db.*; import com.evolute.utils.db.keyretrievers.*; import com.evolute.utils.jdbc.*; import com.evolute.utils.jdo.*; import com.evolute.utils.sql.*; import com.evolute.utils.ui.*; import com.evolute.utils.ui.window.*; import javax.jdo.JDOHelper; import javax.jdo.PersistenceManager; import javax.jdo.PersistenceManagerFactory; import javax.jdo.Transaction; import java.awt.*; import java.io.*; import java.text.*; import java.util.*; import javax.swing.*; import javax.swing.tree.*; public class Main implements Connector { private final static ClassLoader classLoader = new EVUtilsImageLib().getClass().getClassLoader(); private static final String dbase = "siprp"; private SIPRPTracker siprpTracker; private static AvisosPanel avisos = null; public static void main( String args[] ) throws Exception { /* 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(); LoginWindow loginWindow = new LoginWindow( new Main(), /*"logo"+File.separator +*/ "logo_combo.jpg",//"logo"+File.separator + "logo_w400.jpg", new String[] { "SIPRPSoft" }, new String[] { "Vers\u00E3o 2.", "(EVOLUTE 2004)" }, "", "root", "UNIXLuvsU", avisos, false ); loginWindow.setTitle( "SIPRPSoft" ); JPanel left = loginWindow.getLeftPanel(); left.setBackground( Color.white ); loginWindow.show(); } public boolean connect( String user, String passwd ) { try { // run initialization SQL SQLQuery initQuery[] = new SQLQuery[] {}; String server = System.getProperty( "server.address" ); if( server == null ) { server = "127.0.0.1"; } String url = "jdbc:mysql://" + server + "/" + dbase; 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() ) ); initializeJPOX( url, user, passwd ); //// Properties props = new Properties(); //// props.load( classLoader.getResourceAsStream( "speedo.properties" ) ); //// props.setProperty( "javax.jdo.option.ConnectionURL", url ); //// PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory( props ); //// Singleton.setInstance( Singleton.DEFAULT_PERSISTENCE_MANAGER_FACTORY, pmf ); //// PersistenceManager pm = pmf.getPersistenceManager(); //// Singleton.setInstance( SingletonConstants.PERSISTENCE_MANAGER, pm ); //// com.evolute.utils.jdo.JDOObject.setPersistentManager( pm ); //for( int i = 0; i < 5; ++i ) //{ // try // { // System.out.println( "S: " + i ); // System.out.println( "ID: " + new siprp.data.EmpresaID() ); // } // catch( Throwable t ) // { // t.printStackTrace(); // } // pm.currentTransaction().begin(); // siprp.data.Empresa emp = new siprp.data.Empresa(); // emp.set( siprp.data.Empresa.DESIGNACAO_SOCIAL, "J1111212222" ); // emp.set( siprp.data.Empresa.MORADA, "J111" ); // emp.set( siprp.data.Empresa.CODIGO_POSTAL, "J111" ); // emp.set( siprp.data.Empresa.LOCALIDADE, "J111" ); // emp.set( siprp.data.Empresa.DISTRITO, "J111" ); // emp.set( siprp.data.Empresa.CONCELHO, "J111" ); // emp.set( siprp.data.Empresa.DATA_PROPOSTA, new Date() ); // emp.set( siprp.data.Empresa.DATA_ACEITACAO, new Date() ); // emp.set( siprp.data.Empresa.PERFIL_1, "J111" ); // emp.set( siprp.data.Empresa.PERFIL_2, "J111" ); // emp.set( siprp.data.Empresa.DATA_ENVIO_CONTRATO, new Date() ); // emp.set( siprp.data.Empresa.DATA_RECEPCAO_CONTRATO, new Date() ); // emp.set( siprp.data.Empresa.DATA_ENVIO_IDICT, new Date() ); // emp.set( siprp.data.Empresa.CODIGO_1, "J111" ); // emp.set( siprp.data.Empresa.CODIGO_2, "J111" ); // emp.set( siprp.data.Empresa.CODIGO_3, "J111" ); // emp.set( siprp.data.Empresa.CAE, "J111" ); // emp.set( siprp.data.Empresa.CONTRIBUINTE, "J111" ); // emp.set( siprp.data.Empresa.SEGURANCA_SOCIAL, "J111" ); // emp.set( siprp.data.Empresa.CONTACTO_1, null ); // emp.set( siprp.data.Empresa.CONTACTO_2, null ); // emp.set( siprp.data.Empresa.SERVICOS, new Integer( -1 ) ); // //emp.set( siprp.data.Empresa.INACTIVO, null ); // pm.makePersistent( emp ); // pm.currentTransaction().commit(); //} /* pm.currentTransaction().begin(); siprp.data.Empresa emp = new siprp.data.Empresa( new Integer( 999 ), "JDO_teste" ); emp.set( siprp.data.Empresa.ID, new Integer( 999 ) ); emp.set( siprp.data.Empresa.DESIGNACAO_SOCIAL, "JDO_TESTE" ); pm.makePersistent( emp ); pm.currentTransaction().commit(); */ // siprp.data.Empresa emp = ( siprp.data.Empresa )com.evolute.utils.jdo.JDOObject.load( siprp.data.Empresa.class, "999" ); //System.out.println( "Nome: " + emp.get( siprp.data.Empresa.DESIGNACAO_SOCIAL ) ); StatementExecuterFactory.initialize( new DBStatementExecuter( dbm.getSharedExecuter() ) ); StatementExecuterFactory.initialize( new DBStatementExecuter( dbm.getSharedExecuter() ) ); Singleton.setInstance( Singleton.TODAY, new Date() ); //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 ); //Singleton.setInstance( Singleton.USERNAME, user ); siprpTracker = new SIPRPTracker( avisos ); avisos.refresh(); 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 initializeJPOX(String url, String user, String password) { Date d = new Date(); System.out.println( "INIT: " + d ); Properties jpoxProps; jpoxProps = System.getProperties();//new Properties(); // Set the PersistenceManagerFactoryClass to the TJDO class. jpoxProps.setProperty( "javax.jdo.PersistenceManagerFactoryClass", "org.jpox.PersistenceManagerFactoryImpl" ); // Set the JDBC driver name. jpoxProps.setProperty( "javax.jdo.option.ConnectionDriverName", "com.mysql.jdbc.Driver" ); jpoxProps.setProperty( "org.jpox.identifier.fullyQualifiedNames", "false" ); // props.setProperty("com.triactive.jdo.transactionIsolation", // "read-uncommitted" ); // Set the connection URL // jpoxProps.setProperty( "javax.jdo.option.ConnectionURL", "jdbc:informix-sqli://192.168.0.3:6666" // + "/apdp_db:informixserver=server" ); jpoxProps.setProperty( "javax.jdo.option.ConnectionURL", url ); jpoxProps.setProperty( "javax.jdo.option.ConnectionUserName", user ); jpoxProps.setProperty( "javax.jdo.option.ConnectionPassword", password ); jpoxProps.setProperty( "javax.jdo.option.IgnoreCache", "true" ); jpoxProps.setProperty( "javax.jdo.option.NonTransactionalRead", "true" ); jpoxProps.setProperty( "javax.jdo.option.RetainValues", "true" ); jpoxProps.setProperty( "org.jpox.autoCreateTables", "false" ); jpoxProps.setProperty( "org.jpox.autoCreateSchema", "false" ); jpoxProps.setProperty( "org.jpox.autoCreateConstraints", "false" ); jpoxProps.setProperty( "org.jpox.validateTables", "false" ); jpoxProps.setProperty( "org.jpox.validateConstraints", "false" ); jpoxProps.setProperty( "org.jpox.autoStartMechanismMode", "Ignored" ); jpoxProps.setProperty( "org.jpox.autoStartMechanism", "None" ); jpoxProps.setProperty( "javax.jdo.option.RetainValues", "true" ); // jpoxProps.setProperty( "javax.jdo.option.Optimistic", "true" ); // jpoxProps.setProperty( "org.jpox.identifier.defaultSchemaName", "informix" ); jpoxProps.setProperty( "org.jpox.rdbms.CheckExistTablesOrViews", "false" ); System.setProperty( "org.jpox.catalogName", "siprp" ); System.setProperty( "org.jpox.schemaName", "" ); PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory( jpoxProps ); // pmf.setOptimistic( true ); System.out.print( "Loading PM: " + new Date() ); // ( ( PersistenceManagerFactoryImpl )pmf ).setTransactionIsolation( Connection.TRANSACTION_READ_UNCOMMITTED ); // Retrieve a PersistenceManager from the PersistenceManagerFactory. PersistenceManager pm = pmf.getPersistenceManager(); JDOObject.setPersistentManager( pm ); Singleton.setInstance( Singleton.DEFAULT_PERSISTENCE_MANAGER_FACTORY, pmf ); Singleton.setInstance( SingletonConstants.PERSISTENCE_MANAGER, pm ); System.out.println( "PM done " + new Date() ); } }