From: Frederic D. <de...@us...> - 2004-04-30 07:33:59
|
Update of /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/hiswa In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5002/src/org/fudaa/fudaa/hiswa Modified Files: HiswaImplementation.java Log Message: Connexion automatique Index: HiswaImplementation.java =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/fudaa/src/org/fudaa/fudaa/hiswa/HiswaImplementation.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** HiswaImplementation.java 25 Nov 2003 10:13:43 -0000 1.6 --- HiswaImplementation.java 30 Apr 2004 07:33:20 -0000 1.7 *************** *** 8,39 **** */ package org.fudaa.fudaa.hiswa; ! import java.io.*; ! import java.util.*; ! import java.awt.*; ! import java.awt.event.*; ! import java.beans.*; ! import javax.vecmath.*; ! import javax.swing.*; ! import javax.swing.event.*; ! import javax.swing.border.*; ! import javax.swing.filechooser.*; ! import com.memoire.yapod.*; ! import org.fudaa.dodico.hiswa.*; ! import org.fudaa.dodico.hiswa.parser.*; ! import org.fudaa.dodico.corba.hiswa.*; ! import org.fudaa.dodico.corba.objet.*; ! import org.fudaa.dodico.objet.*; ! import com.memoire.bu.*; import com.memoire.fu.FuLib; ! import org.fudaa.ebli.calque.*; ! import org.fudaa.ebli.geometrie.*; ! import org.fudaa.ebli.palette.*; ! import org.fudaa.ebli.ressource.*; ! import org.fudaa.ebli.trace.*; ! import org.fudaa.ebli.volume.*; ! import org.fudaa.fudaa.commun.*; ! import org.fudaa.fudaa.commun.dodico.*; ! import org.fudaa.fudaa.commun.projet.*; ! import org.fudaa.fudaa.utilitaire.*; /** * L'implementation du client Hiswa. --- 8,103 ---- */ package org.fudaa.fudaa.hiswa; ! import java.awt.Color; ! import java.awt.Container; ! 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.BufferedReader; ! import java.io.File; ! import java.io.FileReader; ! import java.io.IOException; ! import java.io.LineNumberReader; ! import java.io.PipedInputStream; ! import java.io.PipedOutputStream; ! import java.util.Map; ! ! import javax.swing.JFileChooser; ! import javax.swing.JOptionPane; ! import javax.swing.JScrollPane; ! import javax.vecmath.Vector3f; ! ! import com.memoire.bu.BuAssistant; ! import com.memoire.bu.BuBrowserControl; ! import com.memoire.bu.BuBrowserPreferencesPanel; ! import com.memoire.bu.BuColumn; ! import com.memoire.bu.BuDesktop; ! import com.memoire.bu.BuDesktopPreferencesPanel; ! import com.memoire.bu.BuDialogConfirmation; ! import com.memoire.bu.BuDialogError; ! import com.memoire.bu.BuDialogMessage; ! import com.memoire.bu.BuHelpFrame; ! import com.memoire.bu.BuInformationsDocument; ! import com.memoire.bu.BuInformationsSoftware; ! import com.memoire.bu.BuLanguagePreferencesPanel; ! import com.memoire.bu.BuLookPreferencesPanel; ! import com.memoire.bu.BuMainPanel; ! import com.memoire.bu.BuMenu; ! import com.memoire.bu.BuMenuBar; ! 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.BuTaskOperation; ! import com.memoire.bu.BuTaskView; ! import com.memoire.bu.BuToolBar; ! import com.memoire.bu.BuUserPreferencesPanel; import com.memoire.fu.FuLib; ! ! import org.fudaa.ctulu.CtuluLib; ! import org.fudaa.dodico.corba.hiswa.ICalculHiswa; ! import org.fudaa.dodico.corba.hiswa.ICalculHiswaHelper; ! import org.fudaa.dodico.corba.hiswa.IParametresHiswa; ! import org.fudaa.dodico.corba.hiswa.IResultatsHiswa; ! import org.fudaa.dodico.corba.hiswa.SParametresHIS; ! import org.fudaa.dodico.corba.hiswa.SResultatsHiswaTable; ! import org.fudaa.dodico.corba.objet.IConnexion; ! import org.fudaa.dodico.corba.objet.ITransfertFichierASCII; ! import org.fudaa.dodico.corba.objet.ITransfertFichierASCIIHelper; ! import org.fudaa.dodico.hiswa.DCalculHiswa; ! import org.fudaa.dodico.hiswa.DParametresHiswa; ! import org.fudaa.dodico.hiswa.parser.TokenMgrError; ! import org.fudaa.ebli.calque.BArbreCalque; ! import org.fudaa.ebli.calque.BCalque; ! import org.fudaa.ebli.calque.BCalqueAffichage; ! import org.fudaa.ebli.calque.BCalqueCartouche; ! import org.fudaa.ebli.calque.BCalqueDomaine; ! import org.fudaa.ebli.calque.BCalqueGrille; ! import org.fudaa.ebli.calque.BCalqueGrilleReguliere; ! import org.fudaa.ebli.calque.BCalqueLegende; ! import org.fudaa.ebli.calque.BGroupeCalque; ! import org.fudaa.ebli.calque.BVueCalque; ! import org.fudaa.ebli.geometrie.GrPolygone; ! import org.fudaa.ebli.palette.BPaletteCouleurSimple; ! import org.fudaa.ebli.ressource.EbliResource; ! import org.fudaa.ebli.trace.BParametresGouraud; ! import org.fudaa.ebli.volume.BGrilleReguliere; ! import org.fudaa.ebli.volume.BGroupeLumiere; ! import org.fudaa.ebli.volume.BGroupeStandard; ! import org.fudaa.ebli.volume.BGroupeVolume; ! import org.fudaa.ebli.volume.BLumiereDirectionnelle; ! import org.fudaa.ebli.volume.EbliFilleVue3D; ! import org.fudaa.ebli.volume.ParametresVolumes; ! import org.fudaa.ebli.volume.VolumePreferencesPanel; ! 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.dodico.FudaaDodicoTacheConnexion; ! import org.fudaa.fudaa.commun.dodico.FudaaDodicoSelectionServeur; ! import org.fudaa.fudaa.commun.projet.FudaaProjet; ! import org.fudaa.fudaa.ressource.FudaaResource; /** * L'implementation du client Hiswa. *************** *** 42,46 **** * @author Axel Guerrand , Claudio Toni Branco */ ! public class HiswaImplementation extends BuCommonImplementation { public final static String LOCAL_UPDATE= "."; //public final static String LOCAL_MAN = "file:"+System.getProperty("user.dir")+"/manuels/sipor/utilisation.html"; --- 106,110 ---- * @author Axel Guerrand , Claudio Toni Branco */ ! public class HiswaImplementation extends FudaaImplementation { public final static String LOCAL_UPDATE= "."; //public final static String LOCAL_MAN = "file:"+System.getProperty("user.dir")+"/manuels/sipor/utilisation.html"; *************** *** 48,52 **** public static ICalculHiswa SERVEUR_HISWA= null; public static IConnexion CONNEXION_HISWA= null; ! public static IPersonne PERSONNE= null; private IParametresHiswa iparams_; private IResultatsHiswa iresults_; --- 112,116 ---- public static ICalculHiswa SERVEUR_HISWA= null; public static IConnexion CONNEXION_HISWA= null; ! //public static IPersonne PERSONNE= null; private IParametresHiswa iparams_; private IResultatsHiswa iresults_; *************** *** 269,273 **** "Vous pouvez créer un\nnouveau projet Hiswa\nou en ouvrir un"); getMainMenuBar().addActionListener(this); - connecter(); } // Menu --- 333,336 ---- *************** *** 352,357 **** else if (action.equals("PARAMETRES")) parametre(); - else if (action.equals("CONNECTER")) - connecter(); else if (action.equals("CALCULER")) calculer(); --- 415,418 ---- *************** *** 550,554 **** } private void calculer() { ! if (!connecte()) { new BuDialogError( getApp(), --- 611,615 ---- } private void calculer() { ! if (!isConnected()) { new BuDialogError( getApp(), *************** *** 1128,1132 **** setEnabledForAction("RESULTATSBRUTS", true); } ! if (connecte()) { if (projet_.containsParam(HiswaResource.HIS)) setEnabledForAction("CALCULER", true); --- 1189,1193 ---- setEnabledForAction("RESULTATSBRUTS", true); } ! if (isConnected()) { if (projet_.containsParam(HiswaResource.HIS)) setEnabledForAction("CALCULER", true); *************** *** 1245,1250 **** setTitle("Hiswa " + isHiswa_.version); } ! protected void preferences() { ! if (preferences_ == null) { preferences_= new BuPreferencesFrame(); preferences_.addTab(new BuUserPreferencesPanel(this)); --- 1306,1310 ---- setTitle("Hiswa " + isHiswa_.version); } ! protected void buildPreferences() { preferences_= new BuPreferencesFrame(); preferences_.addTab(new BuUserPreferencesPanel(this)); *************** *** 1256,1261 **** preferences_.addTab(new HiswaPreferencesPanel(this)); preferences_.addTab(new VolumePreferencesPanel(this)); - } - addInternalFrame(preferences_); } private void parametre() { --- 1316,1319 ---- *************** *** 1282,1336 **** public void exit() { fermer(); ! closeConnection(); super.exit(); } public void finalize() { ! closeConnection(); ! } ! private boolean connecte() { ! boolean res= CONNEXION_HISWA == null || SERVEUR_HISWA == null; ! try { ! res= res || !CONNEXION_HISWA.connecte(); ! } catch (org.omg.CORBA.SystemException ce) {} ! if (res) ! closeConnection(); ! return !res; ! } ! private void closeConnection() { ! if (CONNEXION_HISWA != null) { ! try { ! SERVEUR_HISWA.deconnexion(CONNEXION_HISWA); ! } catch (org.omg.CORBA.SystemException ce) { ! System.err.println("Unable to close connexion"); ! } ! CONNEXION_HISWA= null; ! } } public boolean isCloseFrameMode() { return false; } ! private void setInfoConnexionHiswa(FudaaInfoConnexion r) { ! SERVEUR_HISWA= ICalculHiswaHelper.narrow(r.SERVEUR); ! CONNEXION_HISWA= r.CONNEXION; ! PERSONNE= r.PERSONNE; ! iparams_= IParametresHiswaHelper.narrow(r.PARAMS); ! iresults_= IResultatsHiswaHelper.narrow(r.RESULTS); } ! protected void connecter() { ! if (connecte()) { ! new BuDialogMessage(getApp(), isHiswa_, "Vous êtes déjà connecté") ! .activate(); ! return; ! } ! setEnabledForAction("CONNECTER", false); ! final FudaaInfoConnexion rv= ! FudaaImplementation.popConnexion("hiswa", "ICalculHiswa", this, isHiswa_); ! rv.addChangeListener(new ChangeListener() { ! public void stateChanged(ChangeEvent e) { ! if (!rv.errorOccurred()) ! setInfoConnexionHiswa(rv); ! setEnabledForAction("CONNECTER", true); ! } ! }); } } --- 1340,1389 ---- public void exit() { fermer(); ! closeConnexions(); super.exit(); } public void finalize() { ! closeConnexions(); } public boolean isCloseFrameMode() { return false; } ! ! /** ! * @see org.fudaa.fudaa.commun.FudaaCommonImplementation#getApplicationPreferences() ! */ ! public BuPreferences getApplicationPreferences() { ! return HiswaPreferences.HISWA; } ! ! /** ! * @see org.fudaa.fudaa.commun.FudaaImplementation#clearVariables() ! */ ! protected void clearVariables() { ! CONNEXION_HISWA=null; ! SERVEUR_HISWA=null; ! } ! /** ! * @see org.fudaa.fudaa.commun.FudaaImplementation#getTacheConnexionMap() ! */ ! protected FudaaDodicoTacheConnexion[] getTacheConnexionMap() { ! FudaaDodicoTacheConnexion c=new FudaaDodicoTacheConnexion(SERVEUR_HISWA,CONNEXION_HISWA); ! return new FudaaDodicoTacheConnexion[]{c}; ! } ! /** ! * @see org.fudaa.fudaa.commun.FudaaImplementation#getTacheDelegateClass() ! */ ! protected Class[] getTacheDelegateClass() { ! return new Class[]{DCalculHiswa.class}; } + /** + * @see org.fudaa.fudaa.commun.FudaaImplementation#initConnexions(java.util.Map) + */ + protected void initConnexions(Map _r) { + FudaaDodicoTacheConnexion c=(FudaaDodicoTacheConnexion)_r.get(DCalculHiswa.class); + CONNEXION_HISWA=c.getPersonne(); + SERVEUR_HISWA=ICalculHiswaHelper.narrow(c.getTache()); + } + + } |