From: Frederic D. <de...@us...> - 2004-04-30 07:34:00
|
Update of /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/navmer In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5002/src/org/fudaa/fudaa/navmer Modified Files: NavmerImplementation.java Log Message: Connexion automatique Index: NavmerImplementation.java =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/navmer/NavmerImplementation.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** NavmerImplementation.java 12 Dec 2003 11:45:36 -0000 1.8 --- NavmerImplementation.java 30 Apr 2004 07:33:20 -0000 1.9 *************** *** 8,41 **** */ package org.fudaa.fudaa.navmer; ! import org.fudaa.fudaa.navmer.these.*; ! import org.fudaa.fudaa.commun.*; ! import org.fudaa.fudaa.commun.aide.*; ! import org.fudaa.fudaa.commun.dodico.*; ! import org.fudaa.fudaa.commun.projet.*; ! import org.fudaa.fudaa.ressource.*; ! import org.fudaa.ebli.calque.*; ! import org.fudaa.ebli.calque.dessin.*; ! import org.fudaa.ebli.geometrie.*; ! import org.fudaa.ebli.ressource.*; ! import org.fudaa.ebli.tableau.*; ! import org.fudaa.ebli.trace.*; ! import org.fudaa.dodico.navmer.*; import org.fudaa.dodico.corba.objet.IConnexion; ! import org.fudaa.dodico.corba.objet.IPersonne; ! import org.fudaa.dodico.corba.navmer.*; ! import org.fudaa.dodico.corba.calcul.*; ! import org.fudaa.dodico.objet.*; ! import org.fudaa.dodico.fortran.*; ! import com.memoire.bu.*; ! import java.awt.event.*; ! import java.awt.*; ! import java.text.*; ! import java.io.*; ! import javax.swing.border.*; ! import javax.swing.*; ! import javax.swing.filechooser.*; ! import javax.swing.event.ChangeEvent; ! import javax.swing.event.ChangeListener; ! import java.beans.*; /** * L'implementation du client Navmer. --- 8,120 ---- */ package org.fudaa.fudaa.navmer; ! import java.awt.BorderLayout; ! import java.awt.Color; ! import java.awt.Dimension; ! import java.awt.Font; ! import java.awt.event.ActionEvent; ! import java.awt.event.KeyEvent; ! import java.beans.PropertyVetoException; ! import java.io.EOFException; ! import java.io.File; ! import java.io.FileReader; ! import java.util.Map; ! ! import javax.swing.JFileChooser; ! import javax.swing.JFrame; ! import javax.swing.JInternalFrame; ! import javax.swing.JOptionPane; ! import javax.swing.JScrollPane; ! import javax.swing.JTable; ! ! import com.memoire.bu.BuAssistant; ! import com.memoire.bu.BuBrowserPreferencesPanel; ! import com.memoire.bu.BuColumn; ! import com.memoire.bu.BuDesktopPreferencesPanel; ! import com.memoire.bu.BuDialogConfirmation; ! import com.memoire.bu.BuDialogError; ! import com.memoire.bu.BuDialogMessage; ! import com.memoire.bu.BuFileChooser; ! import com.memoire.bu.BuFileFilter; ! import com.memoire.bu.BuInformationsDocument; ! import com.memoire.bu.BuInformationsSoftware; ! import com.memoire.bu.BuInternalFrame; ! import com.memoire.bu.BuLabelMultiLine; ! import com.memoire.bu.BuLanguagePreferencesPanel; ! import com.memoire.bu.BuLib; ! import com.memoire.bu.BuLookPreferencesPanel; ! import com.memoire.bu.BuMainPanel; ! import com.memoire.bu.BuMenu; ! import com.memoire.bu.BuMenuBar; ! import com.memoire.bu.BuMenuRecentFiles; ! import com.memoire.bu.BuPreferences; ! import com.memoire.bu.BuPreferencesFrame; ! import com.memoire.bu.BuPrinter; ! import com.memoire.bu.BuResource; ! import com.memoire.bu.BuScrollPane; ! import com.memoire.bu.BuSplashScreen; ! import com.memoire.bu.BuTable; ! import com.memoire.bu.BuTaskOperation; ! import com.memoire.bu.BuTaskView; ! import com.memoire.bu.BuToolBar; ! import com.memoire.bu.BuUserPreferencesPanel; ! ! import org.fudaa.ctulu.CtuluLib; ! import org.fudaa.dodico.corba.navmer.ICalculNavmer; ! import org.fudaa.dodico.corba.navmer.ICalculNavmerHelper; ! import org.fudaa.dodico.corba.navmer.IParametresNavmer; ! import org.fudaa.dodico.corba.navmer.IParametresNavmerHelper; ! import org.fudaa.dodico.corba.navmer.IResultatsNavmer; ! import org.fudaa.dodico.corba.navmer.IResultatsNavmerHelper; ! import org.fudaa.dodico.corba.navmer.SCaracteristiquesNavire; ! import org.fudaa.dodico.corba.navmer.SCinematiqueCourant; ! import org.fudaa.dodico.corba.navmer.SCoefficientsNavire; ! import org.fudaa.dodico.corba.navmer.SIndexZonesCourant; ! import org.fudaa.dodico.corba.navmer.SParametresINI; ! import org.fudaa.dodico.corba.navmer.SPassageOrdre; ! import org.fudaa.dodico.corba.navmer.SResultatsDAT; ! import org.fudaa.dodico.corba.navmer.SZoneCourant; ! import org.fudaa.dodico.corba.navmer.nombreRemorqueurs; import org.fudaa.dodico.corba.objet.IConnexion; ! import org.fudaa.dodico.fortran.CsvReader; ! import org.fudaa.dodico.navmer.DCalculNavmer; ! import org.fudaa.dodico.navmer.DParametresNavmer; ! import org.fudaa.dodico.navmer.DResultatsNavmer; ! import org.fudaa.ebli.calque.BArbreCalque; ! import org.fudaa.ebli.calque.BCalque; ! import org.fudaa.ebli.calque.BCalqueCartouche; ! import org.fudaa.ebli.calque.BCalqueDessin; ! import org.fudaa.ebli.calque.BCalqueDessinInteraction; ! import org.fudaa.ebli.calque.BCalqueGrille; ! import org.fudaa.ebli.calque.BCalquePoint; ! import org.fudaa.ebli.calque.BCalquePolygone; ! import org.fudaa.ebli.calque.BCalquePolyligne; ! import org.fudaa.ebli.calque.BCalqueRosace; ! import org.fudaa.ebli.calque.BCalqueSegment; ! import org.fudaa.ebli.calque.BCalqueVecteur; ! import org.fudaa.ebli.calque.BGroupeCalque; ! import org.fudaa.ebli.calque.BVueCalque; ! import org.fudaa.ebli.geometrie.GrBoite; ! import org.fudaa.ebli.geometrie.GrMorphisme; ! import org.fudaa.ebli.geometrie.GrPoint; ! import org.fudaa.ebli.geometrie.GrPolygone; ! import org.fudaa.ebli.geometrie.GrPolyligne; ! import org.fudaa.ebli.geometrie.GrVecteur; ! import org.fudaa.ebli.ressource.EbliResource; ! import org.fudaa.ebli.tableau.EbliFilleTableau; ! import org.fudaa.ebli.trace.TraceSurface; ! import org.fudaa.fudaa.commun.FudaaCommonImplementation; ! import org.fudaa.fudaa.commun.FudaaFiltreFichier; ! import org.fudaa.fudaa.commun.FudaaImplementation; ! import org.fudaa.fudaa.commun.FudaaLib; ! import org.fudaa.fudaa.commun.aide.FudaaAidePreferencesPanel; ! import org.fudaa.fudaa.commun.dodico.FudaaDodicoMonitor; ! import org.fudaa.fudaa.commun.dodico.FudaaDodicoTacheConnexion; ! import org.fudaa.fudaa.commun.dodico.FudaaDodicoSelectionServeur; ! import org.fudaa.fudaa.commun.projet.FudaaParamChangeLog; ! import org.fudaa.fudaa.commun.projet.FudaaProjet; ! import org.fudaa.fudaa.commun.projet.FudaaProjetEvent; ! import org.fudaa.fudaa.commun.projet.FudaaProjetListener; ! import org.fudaa.fudaa.navmer.these.AgIni; ! import org.fudaa.fudaa.ressource.FudaaResource; /** * L'implementation du client Navmer. *************** *** 45,49 **** */ public class NavmerImplementation ! extends BuCommonImplementation implements FudaaProjetListener { public final static String LOCAL_UPDATE= "."; --- 124,128 ---- */ public class NavmerImplementation ! extends FudaaImplementation implements FudaaProjetListener { public final static String LOCAL_UPDATE= "."; *************** *** 65,69 **** public static ICalculNavmer SERVEUR_NAVMER= null; public static IConnexion CONNEXION_NAVMER= null; - public static IPersonne PERSONNE= null; static { isNavmer_.name= "Navmer"; --- 144,147 ---- *************** *** 362,368 **** mp.getStatusBar().addMonitor(new FudaaDodicoMonitor()); mp.setProgression(100); - connecter(); mp.setProgression(0); - assistant_.setMessage("Vous pouvez ouvrir une étude."); } public BVueCalque getVueCalque() { --- 440,444 ---- *************** *** 469,474 **** else if (action.equals("PREFERENCE")) preferences(); - else if (action.equals("CONNECTER")) - connecter(); // Commande d'affichage/masquage de l'arbre des calques else if (action.equals("CALQUE")) --- 545,548 ---- *************** *** 817,821 **** } public void cmdCalculer() { ! if (!connecte()) { new BuDialogError( getApp(), --- 891,895 ---- } public void cmdCalculer() { ! if (!isConnected()) { new BuDialogError( getApp(), *************** *** 1467,1472 **** NavmerPreferences.NAVMER.writeIniFile(); } ! public void preferences() { ! if (preferences_ == null) { preferences_= new BuPreferencesFrame(); preferences_.addTab(new BuLookPreferencesPanel(this)); --- 1541,1545 ---- NavmerPreferences.NAVMER.writeIniFile(); } ! public void buildPreferences() { preferences_= new BuPreferencesFrame(); preferences_.addTab(new BuLookPreferencesPanel(this)); *************** *** 1478,1538 **** new FudaaAidePreferencesPanel(this, NavmerPreferences.NAVMER)); preferences_.addTab(new NavmerPreferencesPanel(this)); - } - addInternalFrame(preferences_); } public void exit() { ! closeConnection(); super.exit(); } public void finalize() { ! closeConnection(); } ! private boolean connecte() { ! boolean res= CONNEXION_NAVMER == null || SERVEUR_NAVMER == null; ! try { ! res= res || !CONNEXION_NAVMER.connecte(); ! } catch (org.omg.CORBA.SystemException ce) {} ! if (res) ! closeConnection(); ! return !res; } ! private void closeConnection() { ! if (CONNEXION_NAVMER != null) { ! try { ! SERVEUR_NAVMER.deconnexion(CONNEXION_NAVMER); ! } catch (org.omg.CORBA.SystemException ce) { ! System.err.println("Unable to close connexion"); ! } ! CONNEXION_NAVMER= null; ! } } ! private void setInfoConnexion(FudaaInfoConnexion r) { ! SERVEUR_NAVMER= ICalculNavmerHelper.narrow(r.SERVEUR); ! CONNEXION_NAVMER= r.CONNEXION; ! PERSONNE= r.PERSONNE; } ! protected void connecter() { ! if (connecte()) { ! new BuDialogMessage( ! getApp(), ! informationsSoftware(), ! "Vous êtes déjà connecté") ! .activate(); ! return; ! } ! setEnabledForAction("CONNECTER", false); ! final FudaaInfoConnexion r= ! FudaaImplementation.popConnexion( ! "navigation", ! "IServiceSinavi", ! this, ! informationsSoftware()); ! r.addChangeListener(new ChangeListener() { ! public void stateChanged(ChangeEvent e) { ! if (!r.errorOccurred()) ! setInfoConnexion(r); ! setEnabledForAction("CONNECTER", true); ! } ! }); } } --- 1551,1597 ---- new FudaaAidePreferencesPanel(this, NavmerPreferences.NAVMER)); preferences_.addTab(new NavmerPreferencesPanel(this)); } public void exit() { ! closeConnexions(); super.exit(); } public void finalize() { ! closeConnexions(); } ! ! ! /** ! * @see org.fudaa.fudaa.commun.FudaaCommonImplementation#getApplicationPreferences() ! */ ! public BuPreferences getApplicationPreferences() { ! return NavmerPreferences.NAVMER; } ! /** ! * @see org.fudaa.fudaa.commun.FudaaImplementation#clearVariables() ! */ ! protected void clearVariables() { ! CONNEXION_NAVMER=null; ! SERVEUR_NAVMER=null; } ! /** ! * @see org.fudaa.fudaa.commun.FudaaImplementation#getTacheConnexionMap() ! */ ! protected FudaaDodicoTacheConnexion[] getTacheConnexionMap() { ! FudaaDodicoTacheConnexion c=new FudaaDodicoTacheConnexion(SERVEUR_NAVMER,CONNEXION_NAVMER); ! return new FudaaDodicoTacheConnexion[]{c}; } ! /** ! * @see org.fudaa.fudaa.commun.FudaaImplementation#getTacheDelegateClass() ! */ ! protected Class[] getTacheDelegateClass() { ! return new Class[]{DCalculNavmer.class}; ! } ! /** ! * @see org.fudaa.fudaa.commun.FudaaImplementation#initConnexions(java.util.Map) ! */ ! protected void initConnexions(Map _r) { ! FudaaDodicoTacheConnexion c=(FudaaDodicoTacheConnexion)_r.get(DCalculNavmer.class); ! CONNEXION_NAVMER=c.getPersonne(); ! SERVEUR_NAVMER=ICalculNavmerHelper.narrow(c.getTache()); } } |