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.
296 lines
10 KiB
296 lines
10 KiB
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 = "192.168.1.191";
|
|
server = "ws_fpalma";
|
|
}
|
|
String url = "jdbc:mysql://" + 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() ) );
|
|
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() );
|
|
}
|
|
} |