From: Frederic D. <de...@us...> - 2004-04-27 15:58:47
|
Update of /cvsroot/fudaa/fudaa_devel/dodico/src/org/fudaa/dodico/ant In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30933/src/org/fudaa/dodico/ant Modified Files: genereUsine.java Log Message: Modif DObjets Index: genereUsine.java =================================================================== RCS file: /cvsroot/fudaa/fudaa_devel/dodico/src/org/fudaa/dodico/ant/genereUsine.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** genereUsine.java 25 Nov 2003 10:11:24 -0000 1.5 --- genereUsine.java 27 Apr 2004 15:58:36 -0000 1.6 *************** *** 1,3 **** --- 1,4 ---- package org.fudaa.dodico.ant; + import java.io.BufferedWriter; import java.io.File; *************** *** 8,11 **** --- 9,13 ---- import java.util.StringTokenizer; import java.util.Vector; + import org.apache.tools.ant.BuildException; import org.apache.tools.ant.DirectoryScanner; *************** *** 13,16 **** --- 15,19 ---- import org.apache.tools.ant.Task; import org.apache.tools.ant.types.FileSet; + import com.memoire.re.RE; /** *************** *** 21,68 **** */ public class genereUsine extends Task { /** Liste des fichiers idl */ ! Vector idlFileSet_= new Vector(); /** Les repertoire java */ ! Vector javaImplDir_= new Vector(); /** Le fichier idl genere */ ! File idlDest_; /** Le buffer du fichier idl. */ ! StringBuffer idlBuffer_; /** Le fichier java genere */ ! File javaDest_; /** Le buffer du fichier java */ ! StringBuffer javaBuffer_; /** Le prefixe du package des classes java d'implentation */ ! String pkgPrefixImpl_; /** Le prefixe du package des classes java corba */ ! String pkgPrefixCorba_; /** Le prefixe des objet java 'D' pour DObjet */ ! String javaPrefix_; /** Le prefixe des objet corba 'I' pour IObjet */ ! String idlPrefix_; ! private final String etoile= ".*"; ! private final String lineSep_= System.getProperty("line.separator"); /** Constructeur vide */ public genereUsine() {} /** ! * Renvoie true, si le fichier java n'est pas une classe abstraite et possede ! * un constructeur publique sans argument. ! * * @param _javaFile * @param _className ! * @return true si valide */ private boolean isOk(File _javaFile, String _className) { try { ! RE abstractClass= new RE(".*abstract.*class *" + _className + etoile); ! RE privateClass= new RE(".*private.*class *" + _className + etoile); ! RE protectedClass= new RE(".*protected.*class *" + _className + etoile); ! RE protected2Class= new RE(" *class *" + _className + etoile); ! RE constructeur= new RE("public *" + _className + " *( *).*"); ! LineNumberReader in= new LineNumberReader(new FileReader(_javaFile)); ! String line= in.readLine(); ! boolean publicConstr= false; while (line != null) { ! line= line.trim(); if (line.length() > 8) { if (abstractClass.isMatch(line)) { --- 24,74 ---- */ public class genereUsine extends Task { + /** Liste des fichiers idl */ ! Vector idlFileSet_ = new Vector(); /** Les repertoire java */ ! Vector javaImplDir_ = new Vector(); /** Le fichier idl genere */ ! File idlDest_; /** Le buffer du fichier idl. */ ! StringBuffer idlBuffer_; /** Le fichier java genere */ ! File javaDest_; /** Le buffer du fichier java */ ! StringBuffer javaBuffer_; /** Le prefixe du package des classes java d'implentation */ ! String pkgPrefixImpl_; /** Le prefixe du package des classes java corba */ ! String pkgPrefixCorba_; /** Le prefixe des objet java 'D' pour DObjet */ ! String javaPrefix_; /** Le prefixe des objet corba 'I' pour IObjet */ ! String idlPrefix_; ! private final String etoile = ".*"; ! private final String lineSep_ = System.getProperty("line.separator"); ! /** Constructeur vide */ public genereUsine() {} + /** ! * Renvoie true, si le fichier java n'est pas une classe abstraite et possede un constructeur ! * publique sans argument. ! * * @param _javaFile * @param _className ! * @return true si valide */ private boolean isOk(File _javaFile, String _className) { try { ! RE abstractClass = new RE(".*abstract.*class *" + _className + etoile); ! RE privateClass = new RE(".*private.*class *" + _className + etoile); ! RE protectedClass = new RE(".*protected.*class *" + _className + etoile); ! RE protected2Class = new RE(" *class *" + _className + etoile); ! RE constructeur = new RE("public *" + _className + " *( *).*"); ! LineNumberReader in = new LineNumberReader(new FileReader(_javaFile)); ! String line = in.readLine(); ! boolean publicConstr = false; while (line != null) { ! line = line.trim(); if (line.length() > 8) { if (abstractClass.isMatch(line)) { *************** *** 74,88 **** return false; } ! if ((protectedClass.isMatch(line)) ! || (protected2Class.isMatch(line))) { log("classe protégée " + _javaFile, Project.MSG_VERBOSE); return false; } if (constructeur.isMatch(line)) { ! publicConstr= true; break; } } ! line= in.readLine(); } if (publicConstr) --- 80,93 ---- return false; } ! if ((protectedClass.isMatch(line)) || (protected2Class.isMatch(line))) { log("classe protégée " + _javaFile, Project.MSG_VERBOSE); return false; } if (constructeur.isMatch(line)) { ! publicConstr = true; break; } } ! line = in.readLine(); } if (publicConstr) *************** *** 97,114 **** } } /** * A partir du buffer _f, cree le fichier _file. ! * * @param _f * @param _file */ private void writeFile(StringBuffer _f, File _file) { ! if ((_file == null) || (_f == null)) ! return; _file.delete(); _file.getParentFile().mkdirs(); try { ! BufferedWriter fw= new BufferedWriter(new FileWriter(_file)); ! char[] c= new char[_f.length()]; _f.getChars(0, _f.length(), c, 0); fw.write(c, 0, c.length); --- 102,119 ---- } } + /** * A partir du buffer _f, cree le fichier _file. ! * * @param _f * @param _file */ private void writeFile(StringBuffer _f, File _file) { ! if ((_file == null) || (_f == null)) return; _file.delete(); _file.getParentFile().mkdirs(); try { ! BufferedWriter fw = new BufferedWriter(new FileWriter(_file)); ! char[] c = new char[_f.length()]; _f.getChars(0, _f.length(), c, 0); fw.write(c, 0, c.length); *************** *** 118,272 **** } } /** * Ajoute _f+lineSep_ au buffer idlBuffer_. ! * * @param _f */ private void i(String _f) { ! if (_f == null) ! return; if (idlBuffer_ == null) ! idlBuffer_= new StringBuffer(_f + lineSep_); ! else ! idlBuffer_.append(_f + lineSep_); } private void iNewLine() { i(lineSep_); } /** * Ajoute _f+lineSep_ au buffer javaBuffer_. ! * * @param _f */ private void j(String _f) { ! if (_f == null) ! return; if (javaBuffer_ == null) ! javaBuffer_= new StringBuffer(_f + lineSep_); ! else ! javaBuffer_.append(_f + lineSep_); } private void jNewLine() { if (javaBuffer_ == null) ! javaBuffer_= new StringBuffer(lineSep_); ! else ! javaBuffer_.append(lineSep_); } /** ! * Rempli les buffers des fichiers idl et java.Pour chaque repertoire de ! * <code>javaImplDir_</code>: recupere les fichiers java commencant par <code>javaPrefix_</code> ! * , s'il est conforme (cf isOk() ) , ajoute aux buffers idl et java les ! * fonctions du suppression et de creation , de l'objet corba. */ private void computeJavaFile() { ! DirectoryScanner javaScan= new DirectoryScanner(); javaScan.setCaseSensitive(true); ! javaScan.setIncludes(new String[] { javaPrefix_ + "*.java" }); ! for (int i= 0; i < javaImplDir_.size(); i++) { ! DirectoryScanner ds= ! ((FileSet)javaImplDir_.elementAt(i)).getDirectoryScanner(project); ! String[] dir= ds.getIncludedDirectories(); Arrays.sort(dir); ! for (int iDir= 0; iDir < dir.length; iDir++) { ! String dossier= dir[iDir]; ! if (dossier.length() < 2) ! continue; ! String idlPackage= ! pkgPrefixCorba_ + "." + dossier.replace(File.separatorChar, '.'); ! String javaPackage= ! pkgPrefixImpl_ + "." + dossier.replace(File.separatorChar, '.'); ! String packageMaj= dossier; if (packageMaj.indexOf(File.separatorChar) > 0) ! packageMaj= ! packageMaj.substring(0, packageMaj.indexOf(File.separatorChar)); ! if (packageMaj.length() < 1) ! continue; ! packageMaj= ! packageMaj.substring(0, 1).toUpperCase() + packageMaj.substring(1); ! File base= new File(ds.getBasedir(), dossier); javaScan.setBasedir(base); javaScan.scan(); log(dossier); ! String[] javaFiles= javaScan.getIncludedFiles(); Arrays.sort(javaFiles); ! for (int iFile= 0; iFile < javaFiles.length; iFile++) { //Determination du nom de la classe en fonction du nom du fichier //Objet pour DObjet.java ! String className= ! javaFiles[iFile].substring(0, javaFiles[iFile].length() - 5); ! className= ! className.substring(1, 2).toUpperCase() + className.substring(2); log("traitement de " + javaFiles[iFile], Project.MSG_VERBOSE); ! if (isOk(new File(base, javaFiles[iFile]), ! javaPrefix_ + className)) { ! StringTokenizer tok= new StringTokenizer(dossier, File.separator); ! StringBuffer dossierBuffer= new StringBuffer(); while (tok.hasMoreTokens()) { dossierBuffer.append("::"); dossierBuffer.append(tok.nextToken()); } ! String idlObjet= ! dossierBuffer.toString() + "::" + idlPrefix_ + className; ! String dobjet= javaPackage + "." + javaPrefix_ + className; ! String iobjet= idlPackage + "." + idlPrefix_ + className; i(" " + idlObjet + " cree" + packageMaj + className + "();"); ! i( ! " rien supprime" ! + packageMaj ! + className ! + "(in " ! + idlObjet ! + " o);"); j(" public " + iobjet + " cree" + packageMaj + className + "()"); j(" {"); - j(" " + iobjet + " nouvTie=null;"); - // j(" try {"); - // j(" java.lang.Class dclass=java.lang.Class.forName(\"" + dobjet + "\");"); - // j(" java.lang.reflect.Constructor dconstr=dclass.getConstructor(new Class[0]);"); - // j(" java.lang.Object o=dconstr.newInstance(new Object[0]);"); - // j(" nouvTie=(" + iobjet + ")(((" + pkgPrefixImpl_ + ".objet.DObjet)o).tie());"); - // j(" } catch( java.lang.Exception e ) {"); - // j(" e.printStackTrace();"); - // j(" }"); j(" " + dobjet + " o=new " + dobjet + "();"); ! j(" nouvTie=" + iobjet + "Helper.narrow(o.tie());"); ! j(" fireObjetCree(\"" + className + "\", nouvTie);"); ! j(" return nouvTie;"); j(" }"); jNewLine(); ! j( ! " public void supprime" ! + packageMaj ! + className ! + "(" ! + iobjet ! + " o)"); j(" {"); j(" o.dispose();"); j(" fireObjetSupprime(\"" + className + "\", o);"); j(" }"); jNewLine(); ! } else ! log(javaFiles[iFile] + " non traitee", Project.MSG_VERBOSE); } } } } /** ! * Ajoute une entete par defaut au buffer idl. Parcours les fichiers idl pour ! * ajouter les includes. ! * ! * @param _v vector contenant les fichiers idl a inclure. */ private void enteteIdl(Vector _v) { ! String[] tab= new String[_v.size()]; _v.toArray(tab); Arrays.sort(tab); ! i("#ifndef _USINE_IDL"); ! i("#define _USINE_IDL"); ! for (int i= 0; i < tab.length; i++) i("#include \"" + tab[i] + "\""); iNewLine(); ! i("module usine {"); i(" interface IUsine : ::objet::IObjet, ::evenement::IObjetEventSender {"); i(" rien fireObjetCree(in chaine msg, in ::objet::IObjet o);"); --- 123,255 ---- } } + /** * Ajoute _f+lineSep_ au buffer idlBuffer_. ! * * @param _f */ private void i(String _f) { ! if (_f == null) return; if (idlBuffer_ == null) ! idlBuffer_ = new StringBuffer(_f + lineSep_); ! else idlBuffer_.append(_f + lineSep_); } + private void iNewLine() { i(lineSep_); } + /** * Ajoute _f+lineSep_ au buffer javaBuffer_. ! * * @param _f */ private void j(String _f) { ! if (_f == null) return; if (javaBuffer_ == null) ! javaBuffer_ = new StringBuffer(_f + lineSep_); ! else javaBuffer_.append(_f + lineSep_); } + private void jNewLine() { if (javaBuffer_ == null) ! javaBuffer_ = new StringBuffer(lineSep_); ! else javaBuffer_.append(lineSep_); } + /** ! * Rempli les buffers des fichiers idl et java.Pour chaque repertoire de <code>javaImplDir_</code>: ! * recupere les fichiers java commencant par <code>javaPrefix_</code>, s'il est conforme (cf ! * isOk() ) , ajoute aux buffers idl et java les fonctions du suppression et de creation , de ! * l'objet corba. */ private void computeJavaFile() { ! DirectoryScanner javaScan = new DirectoryScanner(); javaScan.setCaseSensitive(true); ! javaScan.setIncludes(new String[] { javaPrefix_ + "*.java"}); ! for (int i = 0; i < javaImplDir_.size(); i++) { ! DirectoryScanner ds = ((FileSet) javaImplDir_.elementAt(i)).getDirectoryScanner(project); ! String[] dir = ds.getIncludedDirectories(); Arrays.sort(dir); ! for (int iDir = 0; iDir < dir.length; iDir++) { ! String dossier = dir[iDir]; ! if (dossier.length() < 2) continue; ! String idlPackage = pkgPrefixCorba_ + "." + dossier.replace(File.separatorChar, '.'); ! String javaPackage = pkgPrefixImpl_ + "." + dossier.replace(File.separatorChar, '.'); ! String packageMaj = dossier; if (packageMaj.indexOf(File.separatorChar) > 0) ! packageMaj = packageMaj.substring(0, packageMaj.indexOf(File.separatorChar)); ! if (packageMaj.length() < 1) continue; ! packageMaj = packageMaj.substring(0, 1).toUpperCase() + packageMaj.substring(1); ! File base = new File(ds.getBasedir(), dossier); javaScan.setBasedir(base); javaScan.scan(); log(dossier); ! String[] javaFiles = javaScan.getIncludedFiles(); Arrays.sort(javaFiles); ! for (int iFile = 0; iFile < javaFiles.length; iFile++) { //Determination du nom de la classe en fonction du nom du fichier //Objet pour DObjet.java ! String className = javaFiles[iFile].substring(0, javaFiles[iFile].length() - 5); ! className = className.substring(1, 2).toUpperCase() + className.substring(2); log("traitement de " + javaFiles[iFile], Project.MSG_VERBOSE); ! if (isOk(new File(base, javaFiles[iFile]), javaPrefix_ + className)) { ! StringTokenizer tok = new StringTokenizer(dossier, File.separator); ! StringBuffer dossierBuffer = new StringBuffer(); while (tok.hasMoreTokens()) { dossierBuffer.append("::"); dossierBuffer.append(tok.nextToken()); } ! String idlObjet = dossierBuffer.toString() + "::" + idlPrefix_ + className; ! String dobjet = javaPackage + "." + javaPrefix_ + className; ! String iobjet = idlPackage + "." + idlPrefix_ + className; i(" " + idlObjet + " cree" + packageMaj + className + "();"); ! i(" rien supprime" + packageMaj + className + "(in " + idlObjet + " o);"); j(" public " + iobjet + " cree" + packageMaj + className + "()"); j(" {"); j(" " + dobjet + " o=new " + dobjet + "();"); ! j(" " + iobjet + " iobjet=null;"); ! j(" if(isUsineLocale_){iobjet=o;}"); ! j(" else{"); ! j(" " + iobjet + "_Tie" + " nouvTie=new " + iobjet + "_Tie(o,getPOA());"); ! j(" " + "try{iobjet=" + iobjet ! + "Helper.narrow(getPOA().servant_to_reference(nouvTie));}"); ! j(" " + "catch(Exception e){e.printStackTrace();return null;}"); ! j(" }"); ! j(" o.setTie(iobjet);"); ! // j(" nouvTie=" + iobjet + "Helper.narrow(o.tie());"); ! j(" fireObjetCree(\"" + className + "\", iobjet);"); ! j(" return iobjet;"); j(" }"); jNewLine(); ! j(" public void supprime" + packageMaj + className + "(" + iobjet + " o)"); j(" {"); + j(" o._release();"); j(" o.dispose();"); j(" fireObjetSupprime(\"" + className + "\", o);"); j(" }"); jNewLine(); ! } else log(javaFiles[iFile] + " non traitee", Project.MSG_VERBOSE); } } } } + /** ! * Ajoute une entete par defaut au buffer idl. Parcours les fichiers idl pour ajouter les ! * includes. ! * ! * @param _v vector contenant les fichiers idl a inclure. */ private void enteteIdl(Vector _v) { ! String[] tab = new String[_v.size()]; _v.toArray(tab); Arrays.sort(tab); ! i("#ifndef _BOONY_IDL"); ! i("#define _BOONY_IDL"); ! for (int i = 0; i < tab.length; i++) i("#include \"" + tab[i] + "\""); iNewLine(); ! i("module boony {"); i(" interface IUsine : ::objet::IObjet, ::evenement::IObjetEventSender {"); i(" rien fireObjetCree(in chaine msg, in ::objet::IObjet o);"); *************** *** 276,310 **** i(" booleen getEventMuet();"); } /** * Ajoute une entete par defaut au buffer java. */ private void enteteJava() { ! j("package " + pkgPrefixImpl_ + ".usine;"); jNewLine(); ! j( ! "public class DUsine extends " ! + pkgPrefixImpl_ ! + ".objet.DObjet implements " ! + pkgPrefixCorba_ ! + ".usine.IUsineOperations"); j("{"); ! j( ! " private " ! + pkgPrefixImpl_ ! + ".evenement.CObjetEventSenderSupport EVT_SUPPORT=new " ! + pkgPrefixImpl_ ! + ".evenement.CObjetEventSenderSupport();"); j(" private boolean isUsineLocale_=false;"); j(" private boolean muet_;"); jNewLine(); ! j(" public DUsine()"); ! j(" { super(); }"); jNewLine(); ! j(" public void setUsineLocale(boolean b)"); j(" { isUsineLocale_=b; }"); jNewLine(); ! j( ! " public void addObjetEventListener(" ! + pkgPrefixCorba_ + ".evenement.IObjetEventListenerSupport l)"); j(" {"); --- 259,284 ---- i(" booleen getEventMuet();"); } + /** * Ajoute une entete par defaut au buffer java. */ private void enteteJava() { ! j("package " + pkgPrefixImpl_ + ".boony;"); jNewLine(); ! j("public class DUsine extends " + pkgPrefixImpl_ + ".objet.DObjet implements " ! + pkgPrefixCorba_ + ".boony.IUsineOperations,"+ pkgPrefixCorba_ + ".boony.IUsine"); j("{"); ! j(" private " + pkgPrefixImpl_ + ".evenement.CObjetEventSenderSupport EVT_SUPPORT=new " ! + pkgPrefixImpl_ + ".evenement.CObjetEventSenderSupport();"); j(" private boolean isUsineLocale_=false;"); j(" private boolean muet_;"); jNewLine(); ! j(" protected DUsine()"); ! j(" { this(false); }"); jNewLine(); ! j(" protected DUsine(boolean b)"); j(" { isUsineLocale_=b; }"); jNewLine(); ! j(" public void addObjetEventListener(" + pkgPrefixCorba_ + ".evenement.IObjetEventListenerSupport l)"); j(" {"); *************** *** 312,318 **** j(" }"); jNewLine(); ! j( ! " public void removeObjetEventListener(" ! + pkgPrefixCorba_ + ".evenement.IObjetEventListenerSupport l)"); j(" {"); --- 286,290 ---- j(" }"); jNewLine(); ! j(" public void removeObjetEventListener(" + pkgPrefixCorba_ + ".evenement.IObjetEventListenerSupport l)"); j(" {"); *************** *** 320,345 **** j(" }"); jNewLine(); ! j( ! " public " ! + pkgPrefixCorba_ ! + ".collection.ITableau getObjetEventListeners()"); j(" {"); j(" return EVT_SUPPORT.getObjetEventListeners();"); j(" }"); jNewLine(); ! j( ! " public void fireObjetCree(java.lang.String msg, " ! + pkgPrefixCorba_ ! + ".objet.IObjet o)"); j(" {"); j(" if(muet_) return ;"); ! j( ! " " ! + pkgPrefixCorba_ ! + ".evenement.IObjetEvent e=" ! + pkgPrefixCorba_ ! + ".evenement.IObjetEventHelper.narrow(new " ! + pkgPrefixImpl_ ! + ".evenement.DObjetEvent().tie());"); j(" e.setMessage(msg);"); j(" e.setSource(o);"); --- 292,304 ---- j(" }"); jNewLine(); ! j(" public " + pkgPrefixCorba_ + ".collection.ITableau getObjetEventListeners()"); j(" {"); j(" return EVT_SUPPORT.getObjetEventListeners();"); j(" }"); jNewLine(); ! j(" public void fireObjetCree(java.lang.String msg, " + pkgPrefixCorba_ + ".objet.IObjet o)"); j(" {"); j(" if(muet_) return ;"); ! j(" " + pkgPrefixCorba_ + ".evenement.IObjetEvent e=_creeEvenementObjetEvent();"); j(" e.setMessage(msg);"); j(" e.setSource(o);"); *************** *** 348,365 **** j(" }"); jNewLine(); ! j( ! " public void fireObjetModifie(java.lang.String msg, " ! + pkgPrefixCorba_ ! + ".objet.IObjet o, java.lang.String champ)"); ! j(" {"); j(" if(muet_) return ;"); ! j( ! " " ! + pkgPrefixCorba_ ! + ".evenement.IObjetEvent e=" ! + pkgPrefixCorba_ ! + ".evenement.IObjetEventHelper.narrow(new " ! + pkgPrefixImpl_ ! + ".evenement.DObjetEvent().tie());"); j(" e.setMessage(msg);"); j(" e.setSource(o);"); --- 307,314 ---- j(" }"); jNewLine(); ! j(" public void fireObjetModifie(java.lang.String msg, " + pkgPrefixCorba_ ! + ".objet.IObjet o, java.lang.String champ){"); j(" if(muet_) return ;"); ! j(" " + pkgPrefixCorba_ + ".evenement.IObjetEvent e=_creeEvenementObjetEvent();"); j(" e.setMessage(msg);"); j(" e.setSource(o);"); *************** *** 368,385 **** j(" }"); jNewLine(); ! j( ! " public void fireObjetSupprime(java.lang.String msg, " ! + pkgPrefixCorba_ ! + ".objet.IObjet o)"); ! j(" {"); j(" if(muet_) return ;"); ! j( ! " " ! + pkgPrefixCorba_ ! + ".evenement.IObjetEvent e=" ! + pkgPrefixCorba_ ! + ".evenement.IObjetEventHelper.narrow(new " ! + pkgPrefixImpl_ ! + ".evenement.DObjetEvent().tie());"); j(" e.setMessage(msg);"); j(" e.setSource(o);"); --- 317,324 ---- j(" }"); jNewLine(); ! j(" public void fireObjetSupprime(java.lang.String msg, " + pkgPrefixCorba_ ! + ".objet.IObjet o){"); j(" if(muet_) return ;"); ! j(" " + pkgPrefixCorba_ + ".evenement.IObjetEvent e=_creeEvenementObjetEvent();"); j(" e.setMessage(msg);"); j(" e.setSource(o);"); *************** *** 388,450 **** j(" }"); jNewLine(); ! j(" public void setEventMuet(boolean _b)"); ! j("{"); ! j("muet_=_b;"); ! j("}"); jNewLine(); ! j(" public boolean getEventMuet()"); ! j("{"); ! j("return muet_;"); ! j("}"); jNewLine(); } /** * Ant: ajout du fichier de destination idl. * @param _f le fichier de destination. */ public void setIdlDest(File _f) { ! idlDest_= _f; } /** * Ant: ajout du prefixe pour les packages d'implantation. * @param _s */ public void setPkgPrefixImpl(String _s) { ! if (_s != null) ! pkgPrefixImpl_= _s.trim(); } /** * Ant: ajout du prefixe pour les packages idl. * @param _s */ public void setPkgPrefixCorba(String _s) { ! if (_s != null) ! pkgPrefixCorba_= _s.trim(); } /** * Ant: ajout du fichier de destination java. * @param _f */ public void setJavaDest(File _f) { ! javaDest_= _f; } /** * Ant: ajout du prefixe pour les objets java (et les fichiers). * @param _s */ public void setJavaPrefix(String _s) { ! if (_s != null) ! javaPrefix_= _s.trim(); } /** * Ant: ajout du prefixe pour les objets corba. * @param _s */ public void setIdlPrefix(String _s) { ! if (_s != null) ! idlPrefix_= _s.trim(); } /** * Ant: fileset listant les repertoires. * @param _set */ --- 327,414 ---- j(" }"); jNewLine(); ! j(" public void setEventMuet(boolean _b){"); ! j(" muet_=_b;"); ! j(" }"); jNewLine(); ! j(" public boolean getEventMuet(){"); ! j(" return muet_;"); ! j(" }"); jNewLine(); + j(" public org.omg.PortableServer.POA getPOA(){"); + j(" return " + pkgPrefixImpl_ + ".objet." + "CDodico.getPOA();"); + j(" }"); + jNewLine(); + j(" public org.omg.CORBA.ORB getORB(){"); + j(" return " + pkgPrefixImpl_ + ".objet." + "CDodico.getORB();"); + j(" }"); + j(" private org.fudaa.dodico.corba.evenement.IObjetEvent _creeEvenementObjetEvent(){"); + j(" org.fudaa.dodico.evenement.DObjetEvent o=new org.fudaa.dodico.evenement.DObjetEvent();"); + j(" if(isUsineLocale_) return o;"); + j(" org.fudaa.dodico.corba.evenement.IObjetEvent_Tie nouvTie=new org.fudaa.dodico.corba.evenement.IObjetEvent_Tie(o,getPOA());"); + j(" org.fudaa.dodico.corba.evenement.IObjetEvent iobjet=null;"); + j(" try{iobjet=org.fudaa.dodico.corba.evenement.IObjetEventHelper.narrow(getPOA().servant_to_reference(nouvTie));}"); + j(" catch(Exception e){e.printStackTrace();return null;}"); + j(" o.setTie(iobjet);"); + j(" return iobjet;"); + j(" }"); } + /** * Ant: ajout du fichier de destination idl. + * * @param _f le fichier de destination. */ public void setIdlDest(File _f) { ! idlDest_ = _f; } + /** * Ant: ajout du prefixe pour les packages d'implantation. + * * @param _s */ public void setPkgPrefixImpl(String _s) { ! if (_s != null) pkgPrefixImpl_ = _s.trim(); } + /** * Ant: ajout du prefixe pour les packages idl. + * * @param _s */ public void setPkgPrefixCorba(String _s) { ! if (_s != null) pkgPrefixCorba_ = _s.trim(); } + /** * Ant: ajout du fichier de destination java. + * * @param _f */ public void setJavaDest(File _f) { ! javaDest_ = _f; } + /** * Ant: ajout du prefixe pour les objets java (et les fichiers). + * * @param _s */ public void setJavaPrefix(String _s) { ! if (_s != null) javaPrefix_ = _s.trim(); } + /** * Ant: ajout du prefixe pour les objets corba. + * * @param _s */ public void setIdlPrefix(String _s) { ! if (_s != null) idlPrefix_ = _s.trim(); } + /** * Ant: fileset listant les repertoires. + * * @param _set */ *************** *** 452,455 **** --- 416,420 ---- javaImplDir_.addElement(_set); } + /** * @param _set *************** *** 458,482 **** idlFileSet_.addElement(_set); } /** * @exception BuildException */ public void execute() throws BuildException { ! Vector idlModule= new Vector(); ! if (idlDest_ == null) ! log("Fichier idl non créé"); ! if (javaDest_ == null) ! log("Fichier java non créé"); if ((idlDest_.exists()) && (javaDest_.exists())) { log("Les 2 fichiers de destination existent"); return; ! } else ! log("Mise a jour de l'usine"); ! for (int i= 0; i < idlFileSet_.size(); i++) { ! FileSet fs= (FileSet)idlFileSet_.elementAt(i); ! DirectoryScanner ds= fs.getDirectoryScanner(project); ! String[] files= ds.getIncludedFiles(); ! for (int iFiles= 0; iFiles < files.length; iFiles++) { ! if (!idlDest_.getAbsolutePath().endsWith(files[iFiles])) ! idlModule.add(files[iFiles]); } } --- 423,444 ---- idlFileSet_.addElement(_set); } + /** * @exception BuildException */ public void execute() throws BuildException { ! Vector idlModule = new Vector(); ! if (idlDest_ == null) log("Fichier idl non créé"); ! if (javaDest_ == null) log("Fichier java non créé"); if ((idlDest_.exists()) && (javaDest_.exists())) { log("Les 2 fichiers de destination existent"); return; ! } else log("Mise a jour de l'usine"); ! for (int i = 0; i < idlFileSet_.size(); i++) { ! FileSet fs = (FileSet) idlFileSet_.elementAt(i); ! DirectoryScanner ds = fs.getDirectoryScanner(project); ! String[] files = ds.getIncludedFiles(); ! for (int iFiles = 0; iFiles < files.length; iFiles++) { ! if (!idlDest_.getAbsolutePath().endsWith(files[iFiles])) idlModule.add(files[iFiles]); } } *************** *** 493,495 **** writeFile(idlBuffer_, idlDest_); } ! } --- 455,457 ---- writeFile(idlBuffer_, idlDest_); } ! } \ No newline at end of file |