Update of /cvsroot/fudaa/fudaa_devel/dodico/src/org/fudaa/dodico/h2d
In directory sc8-pr-cvs1:/tmp/cvs-serv3989/h2d
Added Files:
H2dFileFormat.java H2dFileReadView.java H2dLib.java
H2dParametres.java MaillageReader.java
Log Message:
Mis a jour des fichiers de lecture de telemac
Les classes dico sont mises dans un package dediee.
package dico : contient les classes necessaires pour gerer un fichier dico
package h2d: permet de stocker les classes communes reflux/telemac
--- NEW FILE: H2dFileFormat.java ---
/*
* @file TrFileFormat.java
* @creation 12 mars 2003
* @modification $Date: 2003/05/19 13:54:00 $
* @license GNU General Public License 2
* @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
* @mail de...@fu...
*/
package org.fudaa.dodico.h2d;
import java.io.File;
import java.io.IOException;
import org.fudaa.dodico.commun.DodicoFileFormat;
import org.fudaa.dodico.commun.DodicoLib;
import org.fudaa.dodico.commun.ProgressionInterface;
import org.fudaa.dodico.fichiers.*;
/**
* @author deniger
* @version $Id: H2dFileFormat.java,v 1.1 2003/05/19 13:54:00 deniger Exp $
*/
public abstract class H2dFileFormat extends DodicoFileFormat
{
protected String typeID_;
public H2dFileFormat(int _nb, String _typeID)
{
super(_nb);
typeID_ = _typeID;
}
public abstract FileWriterInterface createWriter();
public abstract FileReaderInterface createReader();
/**
* Methode generale permettant de lire le fichier _f et renvoie une structure
* donnant la synthese (resultat, erreur) de la lecture.
* @param _progress l'etat d'avancement de la lecture.
*/
public final H2dFileReadView read(File _f, ProgressionInterface _progress)
{
FileReaderInterface r = createReader();
IOException[] exs = read(_f, r, _progress);
return new H2dFileReadView(_f, r.getInterface(), this, r.getAnalyzes(), exs);
}
/**
* Permet de le lire le fichier <code>_f</code>.
* @return les exceptions levees lors de la fermeture du flux.
*/
public final IOException[] read(File _f, FileReaderInterface _r, ProgressionInterface _progress)
{
if (getNbFile() == 1)
{
_r.setIn(_f);
_r.setProgressReceiver(_progress);
_r.read();
return _r.close();
}
else
return read(getFile(_f), _r, _progress);
}
public static final IOException[] readFile(File _f, FileReaderInterface _reader, ProgressionInterface _progress)
{
_reader.setIn(_f);
_reader.setProgressReceiver(_progress);
_reader.read();
return _reader.close();
}
public static final IOException[] readFile(File[] _f, FileReaderInterface _reader, ProgressionInterface _progress)
{
_reader.setIn(_f);
_reader.setProgressReceiver(_progress);
_reader.read();
return _reader.close();
}
public final H2dFileReadView read(File[] _f)
{
return read(_f, null);
}
public final IOException[] read(File[] _f, FileReaderInterface _r, ProgressionInterface _progress)
{
int l = _f.length;
if (l != getNbFile())
throw new IllegalArgumentException("Le nombre de fichier donne " + l + DodicoLib.LINE_SEP + "Nb Fichier attendu " + getNbFile());
_r.setIn(_f);
_r.setProgressReceiver(_progress);
_r.read();
return _r.close();
}
public final H2dFileReadView read(File[] _f, ProgressionInterface _progress)
{
FileReaderInterface r = createReader();
IOException[] exs = read(_f, r, _progress);
return new H2dFileReadView(_f, r.getInterface(), this, r.getAnalyzes(), exs);
}
public final H2dFileReadView write(File _f, Object _interface, ProgressionInterface _progress)
{
if (getNbFile() == 1)
{
FileWriterInterface r = createWriter();
r.setOut(_f);
r.setInterface(_interface);
r.setProgressReceiver(_progress);
r.write();
IOException[] exs = r.close();
return new H2dFileReadView(_f, _interface, this, r.getAnalyzes(), exs);
}
else
return write(getFile(_f), _interface, _progress);
}
public final H2dFileReadView write(File[] _f, Object _interface)
{
return write(_f, _interface, null);
}
public final H2dFileReadView write(File[] _f, Object _interface, ProgressionInterface _progress)
{
int l = _f.length;
if (l != getNbFile())
throw new IllegalArgumentException("Le nombre de fichier donne " + l + DodicoLib.LINE_SEP + "Nb Fichier attendu " + getNbFile());
FileWriterInterface r = createWriter();
r.setOut(_f);
r.setProgressReceiver(_progress);
r.setInterface(_interface);
r.write();
IOException[] exs = r.close();
return new H2dFileReadView(_f, _interface, this, r.getAnalyzes(), exs);
}
/**
* @return
*/
public String getTypeID()
{
return typeID_;
}
}
--- NEW FILE: H2dFileReadView.java ---
/*
* @file TrFileReadView.java
* @creation 12 mars 2003
* @modification $Date: 2003/05/19 13:54:00 $
* @license GNU General Public License 2
* @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
* @mail de...@fu...
*/
package org.fudaa.dodico.h2d;
import java.io.File;
import java.io.IOException;
import org.fudaa.dodico.commun.DodicoAnalyze;
/**
*
* @author deniger
* @version $Id: H2dFileReadView.java,v 1.1 2003/05/19 13:54:00 deniger Exp $
*/
public class H2dFileReadView
{
private H2dFileFormat format_;
private File[] file_;
private Object source_;
private IOException[] exClose_;
private DodicoAnalyze[] analyzes_;
public H2dFileReadView(File _f,Object _source,H2dFileFormat _form,DodicoAnalyze[] _analyse,IOException[] _closeExs)
{
this(new File[]{_f},_source,_form,_analyse,_closeExs);
}
public H2dFileReadView(File[] _f,Object _source,H2dFileFormat _form,DodicoAnalyze[] _analyse,IOException[] _closeExs)
{
file_=_f;
source_=_source;
format_=_form;
exClose_=_closeExs;
analyzes_=_analyse;
}
public DodicoAnalyze[] getAnalyzes()
{
return analyzes_;
}
/**
* Renvoie la source obtenue par la lecture du fichier.
* @return Object
*/
public Object getSource()
{
return source_;
}
}
--- NEW FILE: H2dLib.java ---
(This appears to be a binary file; contents omitted.)
--- NEW FILE: H2dParametres.java ---
/*
* @file TrProjetH2d.java
* @creation 20 mars 2003
* @modification $Date: 2003/05/19 13:54:00 $
* @license GNU General Public License 2
* @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
* @mail de...@fu...
*/
package org.fudaa.dodico.h2d;
import java.util.Comparator;
import com.memoire.bu.BuInformationsDocument;
import org.fudaa.dodico.corba.tr.STrProjetH2d;
import org.fudaa.dodico.corba.tr.STrProprieteElementaireTransitoire;
import org.fudaa.dodico.corba.tr.STrProprieteElementaireValeur;
/**
*
* @author deniger
* @version $Id: H2dParametres.java,v 1.1 2003/05/19 13:54:00 deniger Exp $
*/
public abstract class H2dParametres
{
private STrProjetH2d projet_;
public static final String CODE_NON_INITIALISE = "INCONNU";
public static final String CODE_LIBRE = "LIBRE";
public static final String CODE_PERMANENT = "PERMANENT";
public static final String CODE_TRANSITOIRE_BEGIN = "TRANS_";
public static final double NORMALE_NON_INITIALISEE = 400;
//Taille de 16 maxi pour serafin.
public static String PROPRIETE_VISCOSITE = "VISCOSITE";
public static String PROPRIETE_RUGOSITE = "RUGOSITE";
public static String PROPRIETE_ALPHA_LONGUEUR_MELANGE = "LONGUEUR MELANGE";
public static String PROPRIETE_PERTE_CHARGE = "PERTE CHARGE";
public static String FICHIER_PRINCIPAL="FICHIER_PRINCIPAL";
public static String FICHIER_GEOMETRIE="FICHIER_GEOMETRIE";
public static String FICHIER_CL="FICHIER_CL";
public static String FICHIER_CL_LIQUIDE="FICHIER_CL_LIQUIDE";
public static String FICHIER_FOND="FICHIER_FOND";
public H2dParametres()
{
}
public abstract String getTitre();
public abstract BuInformationsDocument getInformationsDocument();
public static boolean isTransitoire(String _code)
{
return _code.startsWith(CODE_TRANSITOIRE_BEGIN);
}
// public void setMaillage(SMaillageIndex _index)
// {
// if (projet_ == null)
// projet_ = new STrProjetH2d();
// projet_.maillage = _index;
// }
/**
* Permet de comparer les STrProprieteElementaireValeur a partir de leur
* index.
*/
public static Comparator getProprieteElementaireValeurIndexComparator()
{
return new proprieteElementaireValeurIndexComparator();
}
/**
* Permet de comparer les STrProprieteElementaireTransitoire a partir de leur
* index.
*/
public static Comparator getProprieteElementaireTransitoireIndexComparator()
{
return new proprieteElementaireTransitoireIndexComparator();
}
static class proprieteElementaireValeurIndexComparator implements Comparator
{
/**
* @see java.util.Comparator#compare(Object, Object)
*/
public int compare(Object o1, Object o2)
{
if( (! (o1 instanceof STrProprieteElementaireValeur)) ||
(! (o2 instanceof STrProprieteElementaireValeur)) )
{
throw new IllegalArgumentException("Arguments non valides");
}
STrProprieteElementaireValeur v1=(STrProprieteElementaireValeur)o1;
STrProprieteElementaireValeur v2=(STrProprieteElementaireValeur)o2;
return v1.indexElement-v2.indexElement;
}
}
static class proprieteElementaireTransitoireIndexComparator implements Comparator
{
/**
* @see java.util.Comparator#compare(Object, Object)
*/
public int compare(Object o1, Object o2)
{
if( (! (o1 instanceof STrProprieteElementaireTransitoire)) ||
(! (o2 instanceof STrProprieteElementaireTransitoire)) )
{
throw new IllegalArgumentException("Arguments non valides");
}
STrProprieteElementaireTransitoire v1=(STrProprieteElementaireTransitoire)o1;
STrProprieteElementaireTransitoire v2=(STrProprieteElementaireTransitoire)o2;
return v1.indexElement-v2.indexElement;
}
}
}
--- NEW FILE: MaillageReader.java ---
(This appears to be a binary file; contents omitted.)
|