From: <de...@us...> - 2008-10-15 22:33:37
|
Revision: 4070 http://fudaa.svn.sourceforge.net/fudaa/?rev=4070&view=rev Author: deniger Date: 2008-10-15 22:33:24 +0000 (Wed, 15 Oct 2008) Log Message: ----------- Modified Paths: -------------- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluArkSaver.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliFilleCalques.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorVueCalque.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/save/FudaaFilleVisuPersistence.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/save/FudaaSavable.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/FSigLib.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/FSigProjectPersistence.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/FSigProjet.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/FSigProjetDefault.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/layer/FSigFilleDefault.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrProjetCommon.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/data/TrFilleVisu.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceAbstract.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/telemac/TrTelemacCommunParametres.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/telemac/TrTelemacCommunProjet.java Added Paths: ----------- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluSavable.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanelPersistenceManager.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/save/FudaaSaveZipWriter.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersistenceManager.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersistenceManagerData.java Removed Paths: ------------- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZebliCalqueDataPersitant.java branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZebliCalquePersist.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/save/FudaaSaveZipWriter.java branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersist.java Modified: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluArkSaver.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluArkSaver.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluArkSaver.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -11,6 +11,8 @@ import java.io.IOException; import java.io.OutputStream; +import com.db4o.ObjectContainer; + /** * Une interface pour les classes permettant de sauvegarder des donn\xE9es dans une archive. Base sur le mode de * fonctionnement des Zip, tar Pour ajouter une entre dans le saver, il faut faire <code> @@ -65,4 +67,9 @@ */ File getDestDir(); + /** + * @return la base de donn\xE9es utilise pour sauver les props graphiques + */ + ObjectContainer getDb() throws IOException; + } Added: branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluSavable.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluSavable.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ctulu/src/org/fudaa/ctulu/CtuluSavable.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -0,0 +1,20 @@ +/** + * Licence GPL + * Copyright Genesis + */ +package org.fudaa.ctulu; + + +import com.db4o.ObjectContainer; + +/** + * @author deniger + * + */ +public interface CtuluSavable { + + public abstract void saveIn(ObjectContainer _db, ProgressionInterface _prog); + + public abstract void saveIn(CtuluArkSaver _writer, ProgressionInterface _prog); + +} \ No newline at end of file Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanel.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -21,7 +21,6 @@ import java.awt.image.BufferedImage; import java.awt.print.PageFormat; import java.awt.print.Printable; -import java.io.File; import java.util.Map; import javax.swing.Action; @@ -271,7 +270,6 @@ BuMenu[] specificMenus_; - public ZEbliCalquesPanel(final CtuluUI _ui) { this(null, new ZEbliCalquePanelController(_ui)); } @@ -799,6 +797,10 @@ public final void setModeVisible(final boolean _b) { mode_.setVisible(_b); } + + public ZEbliCalquesPanelPersistenceManager getPersistenceManager() { + return null; + } public void unsetCalqueInteractionActif(final BCalqueInteraction _b) { controller_.unsetCalqueInteractionActif(_b); @@ -906,19 +908,5 @@ return null; } - - /** - * retourne l'interface correspondante au niveauy m\xE9tier du calque. - * DOIT ETRE OVERRIDE par ses classes h\xE9riti\xE8res pour g\xE9rer la persistance des donn\xE9es. - * - * @param _f - * @return - */ - public ZebliCalqueDataPersitant getPersistantSaver() { - return null; - } - - - } \ No newline at end of file Copied: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanelPersistenceManager.java (from rev 4069, branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZebliCalquePersist.java) =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanelPersistenceManager.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanelPersistenceManager.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -0,0 +1,162 @@ +package org.fudaa.ebli.calque; + +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.io.ObjectInputStream; +import java.io.ObjectOutputStream; +import java.util.Map; + +import org.fudaa.ctulu.CtuluUI; +import org.fudaa.ebli.courbe.EGGrapheTreeModel; +import org.fudaa.ebli.courbe.EGGroupPersist; + +import com.thoughtworks.xstream.XStream; +import com.thoughtworks.xstream.io.xml.DomDriver; + +/** + * Classe qui gere les diff\xE9rents fichiers pour la persistance du calque. Doit recevoir en parametre le path du + * repertoire dans lequel sera sauvegard\xE9 le calque. + * + * @author Adrien Hadoux + */ +public abstract class ZEbliCalquesPanelPersistenceManager { + + /** + * Path du repertoire dans lequel seront enregistr\xE9 toute les courbes, groupes et model... + */ + String directoryPath_; + Map parameters_; + + private XStream parser_; + + private static String MAINFILE = "descriptorCalque.xml"; + private static String DATA = "datas.xml"; + private static String SPECIFIQUEFILE = "specificDatas.xml"; + + public ZEbliCalquesPanelPersistenceManager() {} + + /** + * Recupere le parser adequat. + * + * @return + */ + private XStream getParser() { + if (parser_ == null) parser_ = initXmlParser(); + return parser_; + } + + /** + * Init le parser avec les alias adequats. + * + * @return + */ + private XStream initXmlParser() { + XStream xstream = new XStream(new DomDriver()); + // -- creation des alias pour que ce soit + parlant dans le xml file --// + xstream.alias("Groupe", EGGroupPersist.class); + + return xstream; + } + + /** + * Path vers els datas classique du calque + * + * @return + */ + private String getDataFilePath() { + return directoryPath_ + File.separator + DATA; + } + + /** + * Retourne le path vers le fiochier principal des courbes + * + * @return + */ + private String getMainFilePath() { + return directoryPath_ + File.separator + MAINFILE; + } + + /** + * Retourne le chemin vers le fichier de datats specifiques. + * + * @return + */ + private String getSpecifiqueDataFilePath() { + return directoryPath_ + File.separator + SPECIFIQUEFILE; + } + + /** + * Enrtegistre le calque au format persistant xml. + * + * @param parameters des parametres supplementaires utiles. + * @throws IOException + */ + public abstract void savePersitCalqueXml(ZEbliCalquesPanel panelTopersist, File _dir, Map params) ; + + // } + // } + + // TODO il faut generer la classe du persistencemanager + public ZEbliCalquesPanel generateCalqueInstance(String className) throws ClassNotFoundException, + InstantiationException, IllegalAccessException { + if (className.startsWith("class ")) className = className.substring("class ".length()); + Class myclass = Class.forName(className, true, Thread.currentThread().getContextClassLoader()); + Object myModel = myclass.newInstance(); + if (myModel instanceof ZEbliCalquesPanel) return (ZEbliCalquesPanel) myModel; + return null; + + } + + /** + * Methode qui remplit le panel fournit en parametre avec les donn\xE9es sauvegardees. + * + * @param panelToFill + */ + public abstract ZEbliCalquesPanel loadPersitCalqueXml(Map param, File _dir) ; +// { +// return null; + // ObjectInputStream in = null; + // ZEbliCalquesPanel veritablePanel = null; + // + // try { + // // -- Init: on lit les donn\xE9es sp\xE9cifiques pour avoir la bonne classe zeblicalquepanel --// + // // in=getParser().createObjectInputStream(new FileReader(new File(getMainFilePath()))); + // + // // donnee bidon + // // in.readInt(); + // // -- lire le type de classe du calque--// + // // String className=(String) in.readObject(); + // + // // -- on creer le type d'objet lu + // // ZEbliCalquesPanel panelUseAsStatic; + // + // // panelUseAsStatic = generateCalqueInstance(className); + // + // // -- etape 1: on lit les donn\xE9es sp\xE9cifiques pour avoir la data persistantes + // in = getParser().createObjectInputStream(new FileReader(new File(getSpecifiqueDataFilePath()))); + // ZebliCalqueDataPersitant dataPersistantes = (ZebliCalqueDataPersitant) in.readObject(); + // + // // -- etape 2 on creer l'obejt calque correspondant a partir des datas persitantes + // veritablePanel = dataPersistantes.generateCalquePanel(param); + // + // } catch (ClassNotFoundException e) { + // // TODO Auto-generated catch block + // e.printStackTrace(); + // } catch (IOException e) { + // // TODO Auto-generated catch block + // e.printStackTrace(); + // } finally { + // try { + // in.close(); + // } catch (IOException e) { + // // TODO Auto-generated catch block + // e.printStackTrace(); + // } + // } + // + // return veritablePanel; +// } + +} Property changes on: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliCalquesPanelPersistenceManager.java ___________________________________________________________________ Added: svn:mergeinfo + Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliFilleCalques.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliFilleCalques.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZEbliFilleCalques.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -10,6 +10,7 @@ import java.awt.Graphics; import java.awt.image.BufferedImage; import java.awt.print.PageFormat; +import java.io.File; import java.util.List; import java.util.Map; @@ -18,27 +19,26 @@ import javax.swing.JMenu; import javax.swing.event.InternalFrameEvent; -import com.memoire.bu.BuCommonInterface; -import com.memoire.bu.BuDesktop; -import com.memoire.bu.BuInformationsDocument; -import com.memoire.bu.BuMenu; -import com.memoire.fu.FuLog; - import org.fudaa.ctulu.CtuluSelectionInterface; import org.fudaa.ctulu.CtuluUI; import org.fudaa.ctulu.gui.CtuluFilleWithComponent; import org.fudaa.ctulu.image.CtuluImageProducer; - import org.fudaa.ebli.commun.EbliActionInterface; import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.commun.EbliPreferences; import org.fudaa.ebli.impression.EbliFilleImprimable; import org.fudaa.ebli.ressource.EbliResource; +import com.memoire.bu.BuCommonInterface; +import com.memoire.bu.BuDesktop; +import com.memoire.bu.BuInformationsDocument; +import com.memoire.bu.BuMenu; +import com.memoire.fu.FuLog; + /** * Fenetre d'affichage de calques contenant des services de base. (position souris, zoom fenetre, selection, - * transformations spatiales). Il est possible d'ajouter des boutons grace aux methodes <code>addButtonGroup</code>. - * Par defaut, 3 groupes de boutons sont proposes : selection, standard et navigation. Ils peuvent etre supprimes ou + * transformations spatiales). Il est possible d'ajouter des boutons grace aux methodes <code>addButtonGroup</code>. Par + * defaut, 3 groupes de boutons sont proposes : selection, standard et navigation. Ils peuvent etre supprimes ou * modifies avec les methodes remove * * @version $Id: ZEbliFilleCalques.java,v 1.64 2007-05-04 13:49:43 deniger Exp $ @@ -101,7 +101,6 @@ pack(); } - protected void addCalque(final BCalque _b, final boolean _enPremier) { pn_.addCalque(_b, _enPremier); @@ -113,8 +112,6 @@ fireInternalFrameEvent(InternalFrameEvent.INTERNAL_FRAME_ACTIVATED); } - - /** * Modifie la propriete <code>enable</code> de tous les boutons du groupe selection. * @@ -184,8 +181,8 @@ } /* *//** - * @return le menu contextuel a utiliser - */ + * @return le menu contextuel a utiliser + */ /* * public JPopupMenu getCmdsContextuelles() { return null; } */ @@ -243,9 +240,7 @@ l.toArray(specificTools_); pn_.updateKeyMap(this); } - if (specificTools_ == null) { - return null; - } + if (specificTools_ == null) { return null; } final JComponent[] r = new JComponent[specificTools_.length]; System.arraycopy(specificTools_, 0, r, 0, r.length); return r; @@ -278,7 +273,7 @@ public void majComponent(final Object _o) { if (_o instanceof BArbreCalque) { final BArbreCalque arbre = (BArbreCalque) _o; - + arbre.setModel(getArbreCalqueModel()); } else { FuLog.error("ECA: not a bcalque"); @@ -294,7 +289,7 @@ } public BufferedImage produceImage(final int _w, final int _h, final Map _params) { - return pn_.produceImage(_w,_h, _params); + return pn_.produceImage(_w, _h, _params); } public void replace() {} Deleted: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZebliCalqueDataPersitant.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZebliCalqueDataPersitant.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZebliCalqueDataPersitant.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -1,28 +0,0 @@ -package org.fudaa.ebli.calque; - -import java.util.Map; - - - -/** - * Interface definissant les datas persistantes du calque. - * Les classes qui impl\xE9mentent cette interface doivent etre SERIALIZABLE!!!! - * @author Adrien Hadoux - * - */ -public interface ZebliCalqueDataPersitant { - - /** - * Remplir les infos du calque correspondant - * @param panel - */ - public void fillInfoWith(ZEbliCalquesPanel panel); - - /** - * Methode qui genere le calque panel a partir des donn\xE9es - * @param parameters - * @return - */ - public ZEbliCalquesPanel generateCalquePanel(Map parameters); - -} Deleted: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZebliCalquePersist.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZebliCalquePersist.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/calque/ZebliCalquePersist.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -1,226 +0,0 @@ -package org.fudaa.ebli.calque; - -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.util.Map; - -import org.fudaa.ctulu.CtuluUI; -import org.fudaa.ebli.courbe.EGGrapheTreeModel; -import org.fudaa.ebli.courbe.EGGroupPersist; - -import com.thoughtworks.xstream.XStream; -import com.thoughtworks.xstream.io.xml.DomDriver; - - -/** - * Classe qui gere les diff\xE9rents fichiers pour la persistance du calque. Doit - * recevoir en parametre le path du repertoire dans lequel sera sauvegard\xE9 le - * calque. - * - * @author Adrien Hadoux - * - */ -public class ZebliCalquePersist { - - /** - * Path du repertoire dans lequel seront enregistr\xE9 toute les courbes, groupes et - * model... - */ - String directoryPath_; - Map parameters_; - - - private XStream parser_; - - private static String MAINFILE = "descriptorCalque.xml"; - private static String DATA = "datas.xml"; - private static String SPECIFIQUEFILE="specificDatas.xml"; - - - - public ZebliCalquePersist(String directoryPath_, Map parameters) throws IOException { - this.directoryPath_ = directoryPath_; - parameters_ = parameters; - } - - - - /** - * Recupere le parser adequat. - * @return - */ - private XStream getParser(){ - if(parser_==null) - parser_=initXmlParser(); - return parser_; - } - - /** - * Init le parser avec les alias adequats. - * @return - */ - private XStream initXmlParser(){ - XStream xstream = new XStream(new DomDriver()); - //-- creation des alias pour que ce soit + parlant dans le xml file --// - xstream.alias("Groupe", EGGroupPersist.class); - - return xstream; - } - - /** - * Path vers els datas classique du calque - * @return - */ - private String getDataFilePath(){ - return directoryPath_+File.separator+DATA; - } - - - /** - * Retourne le path vers le fiochier principal des courbes - * @return - */ - private String getMainFilePath(){ - return directoryPath_+File.separator+MAINFILE; - } - - - /** - * Retourne le chemin vers le fichier de datats specifiques. - * @return - */ - private String getSpecifiqueDataFilePath(){ - return directoryPath_+File.separator+SPECIFIQUEFILE; - } - - /** - * Enrtegistre le calque au format persistant xml. - * - * @param parameters - * des parametres supplementaires utiles. - * @throws IOException - */ - public void savePersitCalqueXml(ZEbliCalquesPanel panelTopersist) { - ObjectOutputStream out=null; - // -- etape 1: on sauvegarde les datasPersistantes du panel au format zip dans le main - // path principale --// - ZebliCalqueDataPersitant dataPersistantes= panelTopersist.getPersistantSaver(); - dataPersistantes.fillInfoWith(panelTopersist); - try { - out = getParser().createObjectOutputStream(new FileWriter(new File(getSpecifiqueDataFilePath()))); - out.writeObject(dataPersistantes); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - finally{ - try { - out.close(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - //-- etape 2: on sauvegarde le type de zeblicalquePanel dans le fichier general --// -// try { -// out = getParser().createObjectOutputStream(new FileWriter(new File(getMainFilePath()))); -// -// //-- donneees bidon --// -// //-- on enregistre le nb de pages --// -// out.writeInt(panelTopersist.getNumberOfPages()); -// //-- fin donn\xE9es bidons --// -// -// //-- on enregistre le type de calque --// -// out.writeObject(panelTopersist.getClass().toString()); -// -// } catch (IOException e) { -// // TODO Auto-generated catch block -// e.printStackTrace(); -// } -// finally{ -// try { -// out.close(); -// } catch (IOException e) { -// // TODO Auto-generated catch block -// e.printStackTrace(); -// } -// } - - - - - - } - - - public ZEbliCalquesPanel generateCalqueInstance(String className) throws ClassNotFoundException, InstantiationException, IllegalAccessException{ - if(className.startsWith("class ")) - className=className.substring("class ".length()); - Class myclass =Class.forName(className, true, Thread.currentThread(). - getContextClassLoader()); - Object myModel=myclass.newInstance(); - if(myModel instanceof ZEbliCalquesPanel) - return (ZEbliCalquesPanel)myModel; - return null; - - } - - - /** - * Methode qui remplit le panel fournit en parametre avec les donn\xE9es - * sauvegardees. - * - * @param panelToFill - */ - public ZEbliCalquesPanel loadPersitCalqueXml( Map param) { - ObjectInputStream in=null; - ZEbliCalquesPanel veritablePanel=null; - - try { - // -- Init: on lit les donn\xE9es sp\xE9cifiques pour avoir la bonne classe zeblicalquepanel --// - //in=getParser().createObjectInputStream(new FileReader(new File(getMainFilePath()))); - - //donnee bidon - //in.readInt(); - //-- lire le type de classe du calque--// - //String className=(String) in.readObject(); - - //-- on creer le type d'objet lu - //ZEbliCalquesPanel panelUseAsStatic; - - //panelUseAsStatic = generateCalqueInstance(className); - - //-- etape 1: on lit les donn\xE9es sp\xE9cifiques pour avoir la data persistantes - in=getParser().createObjectInputStream(new FileReader(new File(getSpecifiqueDataFilePath()))); - ZebliCalqueDataPersitant dataPersistantes= (ZebliCalqueDataPersitant) in.readObject(); - - //-- etape 2 on creer l'obejt calque correspondant a partir des datas persitantes - veritablePanel=dataPersistantes.generateCalquePanel(param); - - } catch (ClassNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - finally{ - try { - in.close(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - return veritablePanel; - } - - -} Modified: branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorVueCalque.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorVueCalque.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/ebli/src/org/fudaa/ebli/visuallibrary/calque/EbliWidgetCreatorVueCalque.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -8,9 +8,7 @@ import java.util.HashMap; import java.util.Map; -import org.fudaa.ctulu.CtuluUI; import org.fudaa.ebli.calque.ZEbliCalquesPanel; -import org.fudaa.ebli.calque.ZebliCalquePersist; import org.fudaa.ebli.geometrie.GrBoite; import org.fudaa.ebli.visuallibrary.EbliNode; import org.fudaa.ebli.visuallibrary.EbliNodeDefault; @@ -34,9 +32,11 @@ public EbliWidgetCreatorVueCalque(ZEbliCalquesPanel calque) { this(calque, null); } + public EbliWidgetCreatorVueCalque() { - + } + public EbliWidgetCreatorVueCalque(ZEbliCalquesPanel calque, GrBoite _initZoom) { super(); this.calque_ = calque; @@ -117,7 +117,6 @@ this.calque_ = calque; } - public Object getPersistData(Map parameters) { // TODO Auto-generated method stub // -- generation d'un identifiant unique pour le repertoire du graphe --// @@ -131,11 +130,8 @@ File createRep = new File(pathUnique); if (createRep.mkdir() || createRep.isDirectory()) { // (new FudaaFilleVisuPersistence(getCalque())).saveZEbliCalquesPanelIn - try { - (new ZebliCalquePersist(pathUnique, parameters)).savePersitCalqueXml(getCalque()); - } catch (IOException e) { - e.printStackTrace(); - } + getCalque().getPersistenceManager().savePersitCalqueXml(getCalque(), createRep, parameters); +// new ZebliCalquePersist(pathUnique, parameters).savePersitCalqueXml(getCalque()); } @@ -143,25 +139,23 @@ } public void setPersistData(Object data, Map parameters) { - // TODO Auto-generated method stub - if (data == null) - calque_ = new ZEbliCalquesPanel(null); + //comment on recupere le dossier ? + //il faut reconstruire le PersistenceManager par reflexion et c'est lui qui produire le ZEbliCalquesPanel + if (data == null) calque_ = new ZEbliCalquesPanel(null); else { String pathCalque = (String) data; - try { - calque_ = (new ZebliCalquePersist(pathCalque, parameters)).loadPersitCalqueXml(parameters ); - - } catch (FileNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } +// try { +//// calque_ = (new ZebliCalquePersist(pathCalque, parameters)).loadPersitCalqueXml(parameters); +// +// } catch (FileNotFoundException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } catch (IOException e) { +// // TODO Auto-generated catch block +// e.printStackTrace(); +// } } } - - } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/save/FudaaFilleVisuPersistence.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/save/FudaaFilleVisuPersistence.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/save/FudaaFilleVisuPersistence.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -9,6 +9,7 @@ import java.io.IOException; +import org.fudaa.ctulu.CtuluArkSaver; import org.fudaa.ctulu.CtuluUI; import org.fudaa.ctulu.ProgressionInterface; import org.fudaa.ebli.calque.BCalque; @@ -85,7 +86,7 @@ - public void saveIn(final FudaaSaveZipWriter _writer, final ProgressionInterface _prog) { + public void saveIn(final CtuluArkSaver _writer, final ProgressionInterface _prog) { try { final BGroupeCalque donneesCalque = visu_.getDonneesCalque(); _writer.createDir(rep_, donneesCalque.getTousCalques().length + 1); Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/save/FudaaSavable.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/save/FudaaSavable.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/save/FudaaSavable.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -7,19 +7,16 @@ */ package org.fudaa.fudaa.commun.save; -import com.db4o.ObjectContainer; +import org.fudaa.ctulu.CtuluSavable; -import org.fudaa.ctulu.ProgressionInterface; + /** * Une interface a implementer pour les composants persistants (stockables sur fichiers projet). + * * @author bmarchan * @version $Id: FudaaSavable.java,v 1.3 2008-01-10 09:58:20 bmarchan Exp $ */ -public interface FudaaSavable { +public interface FudaaSavable extends CtuluSavable { - void saveIn(ObjectContainer _db, ProgressionInterface _prog); - - void saveIn(FudaaSaveZipWriter _writer, ProgressionInterface _prog); - } Deleted: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/save/FudaaSaveZipWriter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/save/FudaaSaveZipWriter.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/save/FudaaSaveZipWriter.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -1,168 +0,0 @@ -/* - * @creation 30 ao\xFBt 06 - * @modification $Date: 2007-05-04 13:58:09 $ - * @license GNU General Public License 2 - * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne - * @mail de...@fu... - */ -package org.fudaa.fudaa.commun.save; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.OutputStream; -import java.util.HashMap; -import java.util.Map; -import java.util.zip.ZipEntry; -import java.util.zip.ZipOutputStream; - -import com.db4o.Db4o; -import com.db4o.ObjectContainer; - -import org.fudaa.ctulu.CtuluArkSaver; -import org.fudaa.ctulu.CtuluLibFile; -import org.fudaa.ctulu.CtuluLibString; - -/** - * @author fred deniger - * @version $Id: FudaaSaveZipWriter.java,v 1.4 2007-05-04 13:58:09 deniger Exp $ - */ -public class FudaaSaveZipWriter implements CtuluArkSaver { - - public class DirZipEntry { - int idx_; - final String name_; - final int nbDigits_; - - /** - * @param _name le nom du dossier a inserer dans le zip - * @param _nbEntry le nombre d'entrees pr\xE9vues y compris les dossiers - */ - public DirZipEntry(final String _name, final int _nbEntry) { - super(); - name_ = _name; - nbDigits_ = Integer.toString(_nbEntry).length() + 1; - } - - /** - * @param _entry l'entree a ajouter - * @return name_+"/"+_entry - */ - public String getEntryName(final String _entry) { - return name_ + '/' + _entry; - } - - /** - * @return un nouvelle identifiant - */ - public String getNextId() { - return CtuluLibString.adjustSizeBefore(nbDigits_, Integer.toString(++idx_), '0') + '-'; - } - - } - ObjectContainer cont_; - File dbFile_; - final File f_; - - public static String getIdFromEntry(final String _entry) { - if (_entry == null) { - return null; - } - final int idx = _entry.indexOf('-'); - if (idx >= 0) { - return _entry.substring(0, idx + 1); - } - return null; - } - Map nameDirZip_; - - final ZipOutputStream zipOut_; - - public FudaaSaveZipWriter(final File _f) throws IOException { - super(); - f_ = _f; - zipOut_ = new ZipOutputStream(new FileOutputStream(f_)); - zipOut_.setLevel(8); - } - - public File getDestDir() { - return f_.getParentFile(); - } - - public void close() throws IOException { - if (zipOut_ != null) { - if (dbFile_ != null && cont_ != null) { - cont_.close(); - final ZipEntry entry = new ZipEntry(getDbEntryName()); - entry.setComment("Donnees concernant le style et les calculs interm\xE9diaires"); - zipOut_.putNextEntry(entry); - CtuluLibFile.copyStream(new FileInputStream(dbFile_), zipOut_, true, false); - zipOut_.closeEntry(); - dbFile_.delete(); - } - zipOut_.close(); - } - } - - public boolean isDirCreated(final String _name) { - return (nameDirZip_ != null) && nameDirZip_.containsKey(_name); - } - - public void createDir(final String _dirName, final int _nbEntry) { - createDirZipEntry(_dirName, _nbEntry); - - } - - public String getNextIdForDir(final String _dir) { - final DirZipEntry entry = getDirZipEntry(_dir); - return entry == null ? null : entry.getNextId(); - } - - public void startEntry(final String _entryName) throws IOException { - zipOut_.putNextEntry(new ZipEntry(_entryName)); - - } - - public DirZipEntry createDirZipEntry(final String _name, final int _nbEntry) { - if (nameDirZip_ == null) { - nameDirZip_ = new HashMap(); - } else if (nameDirZip_.containsKey(_name)) { - throw new IllegalAccessError("ebtry is already created"); - } - final DirZipEntry res = new DirZipEntry(_name, _nbEntry); - nameDirZip_.put(_name, res); - return res; - } - - public boolean isDbCreated() { - return cont_ != null; - } - - public ObjectContainer getDb() throws IOException { - if (cont_ == null) { - dbFile_ = File.createTempFile("fudaa.project", ".db"); - if (dbFile_ != null) { - FudaaSaveLib.configureDb4o(); - cont_ = Db4o.openFile(dbFile_.getAbsolutePath()); - } - } - return cont_; - } - - public static String getDbEntryName() { - return "project.db"; - } - - public OutputStream getOutStream() { - return zipOut_; - } - - public DirZipEntry getDirZipEntry(final String _name) { - return (nameDirZip_ == null) ? null : (DirZipEntry) nameDirZip_.get(_name); - } - - public static String getProjectDescEntryName() { - return "project.desc.xml"; - } -} Added: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/save/FudaaSaveZipWriter.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/save/FudaaSaveZipWriter.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/save/FudaaSaveZipWriter.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -0,0 +1,168 @@ +/* + * @creation 30 ao\xFBt 06 + * @modification $Date: 2007-05-04 13:58:09 $ + * @license GNU General Public License 2 + * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne + * @mail de...@fu... + */ +package org.fudaa.fudaa.commun.save; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.util.HashMap; +import java.util.Map; +import java.util.zip.ZipEntry; +import java.util.zip.ZipOutputStream; + +import com.db4o.Db4o; +import com.db4o.ObjectContainer; + +import org.fudaa.ctulu.CtuluArkSaver; +import org.fudaa.ctulu.CtuluLibFile; +import org.fudaa.ctulu.CtuluLibString; + +/** + * @author fred deniger + * @version $Id: FudaaSaveZipWriter.java,v 1.4 2007-05-04 13:58:09 deniger Exp $ + */ +public class FudaaSaveZipWriter implements CtuluArkSaver { + + public class DirZipEntry { + int idx_; + final String name_; + final int nbDigits_; + + /** + * @param _name le nom du dossier a inserer dans le zip + * @param _nbEntry le nombre d'entrees pr\xE9vues y compris les dossiers + */ + public DirZipEntry(final String _name, final int _nbEntry) { + super(); + name_ = _name; + nbDigits_ = Integer.toString(_nbEntry).length() + 1; + } + + /** + * @param _entry l'entree a ajouter + * @return name_+"/"+_entry + */ + public String getEntryName(final String _entry) { + return name_ + '/' + _entry; + } + + /** + * @return un nouvelle identifiant + */ + public String getNextId() { + return CtuluLibString.adjustSizeBefore(nbDigits_, Integer.toString(++idx_), '0') + '-'; + } + + } + ObjectContainer cont_; + File dbFile_; + final File f_; + + public static String getIdFromEntry(final String _entry) { + if (_entry == null) { + return null; + } + final int idx = _entry.indexOf('-'); + if (idx >= 0) { + return _entry.substring(0, idx + 1); + } + return null; + } + Map nameDirZip_; + + final ZipOutputStream zipOut_; + + public FudaaSaveZipWriter(final File _f) throws IOException { + super(); + f_ = _f; + zipOut_ = new ZipOutputStream(new FileOutputStream(f_)); + zipOut_.setLevel(8); + } + + public File getDestDir() { + return f_.getParentFile(); + } + + public void close() throws IOException { + if (zipOut_ != null) { + if (dbFile_ != null && cont_ != null) { + cont_.close(); + final ZipEntry entry = new ZipEntry(getDbEntryName()); + entry.setComment("Donnees concernant le style et les calculs interm\xE9diaires"); + zipOut_.putNextEntry(entry); + CtuluLibFile.copyStream(new FileInputStream(dbFile_), zipOut_, true, false); + zipOut_.closeEntry(); + dbFile_.delete(); + } + zipOut_.close(); + } + } + + public boolean isDirCreated(final String _name) { + return (nameDirZip_ != null) && nameDirZip_.containsKey(_name); + } + + public void createDir(final String _dirName, final int _nbEntry) { + createDirZipEntry(_dirName, _nbEntry); + + } + + public String getNextIdForDir(final String _dir) { + final DirZipEntry entry = getDirZipEntry(_dir); + return entry == null ? null : entry.getNextId(); + } + + public void startEntry(final String _entryName) throws IOException { + zipOut_.putNextEntry(new ZipEntry(_entryName)); + + } + + public DirZipEntry createDirZipEntry(final String _name, final int _nbEntry) { + if (nameDirZip_ == null) { + nameDirZip_ = new HashMap(); + } else if (nameDirZip_.containsKey(_name)) { + throw new IllegalAccessError("ebtry is already created"); + } + final DirZipEntry res = new DirZipEntry(_name, _nbEntry); + nameDirZip_.put(_name, res); + return res; + } + + public boolean isDbCreated() { + return cont_ != null; + } + + public ObjectContainer getDb() throws IOException { + if (cont_ == null) { + dbFile_ = File.createTempFile("fudaa.project", ".db"); + if (dbFile_ != null) { + FudaaSaveLib.configureDb4o(); + cont_ = Db4o.openFile(dbFile_.getAbsolutePath()); + } + } + return cont_; + } + + public static String getDbEntryName() { + return "project.db"; + } + + public OutputStream getOutStream() { + return zipOut_; + } + + public DirZipEntry getDirZipEntry(final String _name) { + return (nameDirZip_ == null) ? null : (DirZipEntry) nameDirZip_.get(_name); + } + + public static String getProjectDescEntryName() { + return "project.desc.xml"; + } +} Property changes on: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/commun/save/FudaaSaveZipWriter.java ___________________________________________________________________ Added: svn:mergeinfo + Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/FSigLib.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/FSigLib.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/FSigLib.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -15,9 +15,9 @@ import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.ebli.calque.ZCalqueSelectionInteractionAbstract; - import org.fudaa.fudaa.commun.save.FudaaSaveZipWriter; + /** * Classe fourre tout d'utilitaires. * @author Fred Deniger Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/FSigProjectPersistence.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/FSigProjectPersistence.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/FSigProjectPersistence.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -20,6 +20,7 @@ import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.ctulu.CtuluSavable; import org.fudaa.ctulu.ProgressionInterface; import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation; @@ -83,11 +84,11 @@ for (int i = iframes.length - 1; i >= 0; i--) { if (iframes[i] instanceof FudaaSavable && !compSaved.contains(iframes[i])) { compSaved.add(iframes[i]); - ((FudaaSavable) iframes[i]).saveIn(writer, _prog); + ((CtuluSavable) iframes[i]).saveIn(writer, _prog); } } } - final FudaaSavable[] compToSave = _proj.getSavableComponent(); + final CtuluSavable[] compToSave = _proj.getSavableComponent(); if (compToSave != null) { for (int i = compToSave.length - 1; i >= 0; i--) { if (compToSave[i] != null && !compSaved.contains(compToSave[i])) { Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/FSigProjet.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/FSigProjet.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/FSigProjet.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -11,11 +11,11 @@ import com.memoire.bu.BuInformationsDocument; +import org.fudaa.ctulu.CtuluSavable; import org.fudaa.dodico.fichiers.FileFormatSoftware; import org.fudaa.fudaa.commun.FudaaProjectInterface; import org.fudaa.fudaa.commun.FudaaProjetStateInterface; -import org.fudaa.fudaa.commun.save.FudaaSavable; /** * @author fred deniger @@ -26,7 +26,7 @@ /** * @return les composants qui doivent etre sauvegard\xE9s */ - FudaaSavable[] getSavableComponent(); + CtuluSavable[] getSavableComponent(); /** * @return la version soft, version et langage utilise Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/FSigProjetDefault.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/FSigProjetDefault.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/FSigProjetDefault.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -15,13 +15,13 @@ import com.memoire.bu.BuInformationsDocument; +import org.fudaa.ctulu.CtuluSavable; import org.fudaa.dodico.fichiers.FileFormatSoftware; import org.fudaa.fudaa.commun.FudaaLib; import org.fudaa.fudaa.commun.FudaaProjectStateFrameListener; import org.fudaa.fudaa.commun.FudaaProjetStateDefault; import org.fudaa.fudaa.commun.FudaaProjetStateInterface; -import org.fudaa.fudaa.commun.save.FudaaSavable; /** * Fudaa-Modeleur : Une implementation de l'interface projet. @@ -65,7 +65,7 @@ opening_ = _b; } - public FudaaSavable[] getSavableComponent() { + public CtuluSavable[] getSavableComponent() { return null; } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/layer/FSigFilleDefault.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/layer/FSigFilleDefault.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/layer/FSigFilleDefault.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -13,6 +13,7 @@ import com.memoire.bu.BuUndoRedoInterface; +import org.fudaa.ctulu.CtuluArkSaver; import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluExportDataInterface; import org.fudaa.ctulu.CtuluUI; @@ -26,7 +27,6 @@ import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation; import org.fudaa.fudaa.commun.save.FudaaFilleVisuPersistence; import org.fudaa.fudaa.commun.save.FudaaSavable; -import org.fudaa.fudaa.commun.save.FudaaSaveZipWriter; import org.fudaa.fudaa.sig.FSigResource; import org.fudaa.fudaa.sig.FSigVisuPanelDefault; @@ -44,7 +44,7 @@ setPreferredSize(new Dimension(500, 400)); } - public void saveIn(final FudaaSaveZipWriter _writer, final ProgressionInterface _prog) { + public void saveIn(final CtuluArkSaver _writer, final ProgressionInterface _prog) { new FudaaFilleVisuPersistence(this).saveIn(_writer, _prog); } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/sig/layer/FSigVisuPanel.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -17,9 +17,11 @@ import javax.swing.JComponent; +import org.fudaa.ctulu.CtuluArkSaver; import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluLib; import org.fudaa.ctulu.CtuluUndoRedoInterface; +import org.fudaa.ctulu.ProgressionInterface; import org.fudaa.ebli.calque.BArbreCalque; import org.fudaa.ebli.calque.BGroupeCalque; import org.fudaa.ebli.calque.ZCalqueGrille; @@ -36,6 +38,7 @@ import org.fudaa.fudaa.commun.save.FudaaSaveZipWriter; import org.fudaa.fudaa.sig.FSigAttibuteTypeManager; +import com.db4o.ObjectContainer; import com.memoire.bu.BuMenu; /** @@ -44,6 +47,10 @@ */ public abstract class FSigVisuPanel extends ZEbliCalquesPanel implements CtuluUndoRedoInterface { + + + + private final CtuluCommandManager mng_; FSigAttibuteTypeManager attMng_; @@ -226,7 +233,6 @@ public final void updateInfoComponent() { getController().updateInfoComponent(); } - Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrProjetCommon.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrProjetCommon.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/common/TrProjetCommon.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -27,6 +27,7 @@ import org.fudaa.ctulu.CtuluHtmlWriter; import org.fudaa.ctulu.CtuluLib; +import org.fudaa.ctulu.CtuluSavable; import org.fudaa.ctulu.CtuluTaskDelegate; import org.fudaa.ctulu.CtuluUI; import org.fudaa.ctulu.ProgressionInterface; @@ -50,7 +51,6 @@ import org.fudaa.fudaa.commun.courbe.FudaaGrapheTimeAnimatedVisuPanel; import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation; import org.fudaa.fudaa.commun.projet.FudaaProjetInformationPanel; -import org.fudaa.fudaa.commun.save.FudaaSavable; import org.fudaa.fudaa.fdico.FDicoProjectState; import org.fudaa.fudaa.meshviewer.MvResource; import org.fudaa.fudaa.meshviewer.MvSelectionNodeOrEltData; @@ -327,8 +327,8 @@ return getTrParams().getH2dParametres().getMaillage(); } - public FudaaSavable[] getSavableComponent() { - return new FudaaSavable[] { visu_ }; + public CtuluSavable[] getSavableComponent() { + return new CtuluSavable[] { visu_ }; } public File getSaveFile() { Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/data/TrFilleVisu.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/data/TrFilleVisu.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/data/TrFilleVisu.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -11,6 +11,7 @@ import javax.swing.Action; import javax.swing.JMenu; +import org.fudaa.ctulu.CtuluArkSaver; import org.fudaa.ctulu.CtuluCommandManager; import org.fudaa.ctulu.CtuluExportDataInterface; import org.fudaa.ctulu.CtuluHtmlWriter; @@ -30,7 +31,6 @@ import org.fudaa.fudaa.commun.impl.FudaaCommonImplementation; import org.fudaa.fudaa.commun.save.FudaaFilleVisuPersistence; import org.fudaa.fudaa.commun.save.FudaaSavable; -import org.fudaa.fudaa.commun.save.FudaaSaveZipWriter; import org.fudaa.fudaa.tr.common.TrFilleVisuInterface; import org.fudaa.fudaa.tr.common.TrResource; @@ -232,7 +232,7 @@ @Override public void replace() {} - public void saveIn(final FudaaSaveZipWriter _writer, final ProgressionInterface _prog) { + public void saveIn(final CtuluArkSaver _writer, final ProgressionInterface _prog) { new FudaaFilleVisuPersistence(this).saveIn(_writer, _prog); } Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceAbstract.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceAbstract.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostSourceAbstract.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -27,6 +27,7 @@ import javax.swing.ListModel; import org.fudaa.ctulu.CtuluAnalyze; +import org.fudaa.ctulu.CtuluArkSaver; import org.fudaa.ctulu.CtuluCommand; import org.fudaa.ctulu.CtuluCommandContainer; import org.fudaa.ctulu.CtuluExpr; @@ -57,7 +58,6 @@ import org.fudaa.ebli.palette.BPaletteInfo.InfoData; import org.fudaa.fudaa.commun.courbe.FudaaCourbeTimeListModel; import org.fudaa.fudaa.commun.save.FudaaSaveLib; -import org.fudaa.fudaa.commun.save.FudaaSaveZipWriter; import org.fudaa.fudaa.tr.common.TrPreferences; import org.fudaa.fudaa.tr.common.TrResource; import org.nfunk.jep.Variable; @@ -1278,7 +1278,7 @@ } } - public void saveIn(final FudaaSaveZipWriter _writer, final ProgressionInterface _prog) { + public void saveIn(final CtuluArkSaver _writer, final ProgressionInterface _prog) { try { saveIn(_writer.getDb(), _prog); } catch (final IOException _evt) { Modified: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanel.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -8,8 +8,6 @@ package org.fudaa.fudaa.tr.post; import java.awt.event.ActionEvent; -import java.io.File; -import java.io.IOException; import java.util.List; import java.util.Map; import java.util.Set; @@ -37,8 +35,7 @@ import org.fudaa.ebli.calque.ZCalqueSondeInteraction; import org.fudaa.ebli.calque.ZCalqueSondeInterface; import org.fudaa.ebli.calque.ZEbliCalquePanelController; -import org.fudaa.ebli.calque.ZEbliCalquesPanel; -import org.fudaa.ebli.calque.ZebliCalqueDataPersitant; +import org.fudaa.ebli.calque.ZEbliCalquesPanelPersistenceManager; import org.fudaa.ebli.calque.action.CalqueActionSonde; import org.fudaa.ebli.calque.action.EbliCalqueActionTimeChooser; import org.fudaa.ebli.calque.action.EbliCalqueActionVariableChooser; @@ -48,9 +45,6 @@ import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.visuallibrary.EbliScene; import org.fudaa.ebli.visuallibrary.calque.CalqueLegendeWidgetAdapter; -import org.fudaa.fudaa.commun.save.FudaaFilleVisuPersistence; -import org.fudaa.fudaa.commun.save.FudaaSaveZipLoader; -import org.fudaa.fudaa.commun.save.FudaaSaveZipWriter; import org.fudaa.fudaa.meshviewer.MvSelectionNodeOrEltData; import org.fudaa.fudaa.meshviewer.export.MvExportFactory; import org.fudaa.fudaa.meshviewer.layer.MvFrontierLayerAbstract; @@ -74,6 +68,11 @@ @SuppressWarnings("serial") public class TrPostVisuPanel extends TrVisuPanel implements TrPostDataListener, EbliAnimatedInterface { + @Override + public ZEbliCalquesPanelPersistenceManager getPersistenceManager() { + return new TrPostVisuPanelPersistenceManager(); + } + private class EvolutionAction extends EbliActionSimple { boolean rubar_; @@ -151,7 +150,6 @@ protected TrPostProjet projet_; - public boolean simplifiedInit; /** * Tres important!!! c'est la source utilisee par le trpostvisupanel. Il est automatiquement plac\xE9 en param du @@ -161,9 +159,6 @@ final JComponent suiviPanel_; - - - public TrPostVisuPanel(final TrPostCommonImplementation _impl, final TrPostProjet _projet, final BCalqueLegende _leg, final TrPostSource _src) { this(_impl, _projet, false, _leg, _src); @@ -193,7 +188,7 @@ isoLayer_ = buildIsoLayer(); final EbliActionInterface[] action = new EbliActionInterface[] { addActionEvolutionFor(getSource().isRubar()), new TrIsoLineAction(this) }; - simplifiedInit=_simplified; + simplifiedInit = _simplified; if (!_simplified) { final TrPostFlecheLayer fleche = new TrPostFlecheLayer(source_); fleche.setVisible(false); @@ -221,8 +216,6 @@ } - - protected EbliActionInterface addActionEvolutionFor(final boolean _rubar) { return new EvolutionAction(_rubar); } @@ -512,13 +505,5 @@ public TrPostProjet getProjet_() { return projet_; } - - - - - public ZebliCalqueDataPersitant getPersistantSaver() { - return new TrPostVisuPanelPersist(); - } - } \ No newline at end of file Deleted: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersist.java =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersist.java 2008-10-15 17:54:53 UTC (rev 4069) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersist.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -1,95 +0,0 @@ -package org.fudaa.fudaa.tr.post; - -import java.io.File; -import java.util.Map; - -import org.fudaa.ebli.calque.ZEbliCalquesPanel; -import org.fudaa.ebli.calque.ZebliCalqueDataPersitant; -import org.fudaa.ebli.visuallibrary.EbliScene; -import org.fudaa.ebli.visuallibrary.calque.CalqueLegendeWidgetAdapter; - -/** - * Version persistante du trpostVisuPanel. - * Peut etre sauvegard\xE9, a partir d'un trpostvisupanel et permet de sauvegarder un autre trpostvisupanel - * @author Adrien Hadoux - * - */ -public class TrPostVisuPanelPersist implements ZebliCalqueDataPersitant{ - - /** - * Chemin de la source utilis\xE9e poru g\xE9n\xE9rer le calque - */ - String pathSource; - - boolean simplified; - - - TrPostVisuPanelPersist(){ - - } - - /** - * Remplit les infos persistantes avec celel du trpostvisupanel - * @param panel - */ - public void fillInfoWith(ZEbliCalquesPanel p){ - TrPostVisuPanel panel= (TrPostVisuPanel) p; - simplified=panel.simplifiedInit; - pathSource=panel.getSource().getFile().getAbsolutePath(); - - //-- sauvegarde complete accessoire --// -// try { -// (new FudaaFilleVisuPersistence(this, getImpl())).saveIn(new FudaaSaveZipWriter(_f), getImpl() -// .getMainProgression()); -// } catch (IOException e) { -// e.printStackTrace(); -// } - - - } - - - /** - * Methode qui reconstruit le trpostvisupanel a partir des donn\xE9es persistantes. - * @param parameters - * @return - */ - public ZEbliCalquesPanel generateCalquePanel(Map parameters){ - - TrPostProjet projet=(TrPostProjet) parameters.get("TrPostProjet"); - - if(projet==null) - return null; - - //-- etape 1: recherche du source qui contient le path donn\xE9 --// - TrPostSource src=projet.findSource(pathSource); - - //-- etape 2 si source pas trouv\xE9, chargement du source --// - if(src==null){ - TrPostMultiSourceActivator activator=new TrPostMultiSourceActivator(projet); - activator.active(new File(pathSource),projet.getImpl()); - } - - //-- etape 3: creation du legende adapter --// - final CalqueLegendeWidgetAdapter legendeCalque = new CalqueLegendeWidgetAdapter((EbliScene) parameters.get("scene"), null); - - - //-- etape 3: creation du panel --// - if(src==null)return null; - - TrPostVisuPanel newPanel=new TrPostVisuPanel(projet.getImpl(),projet,legendeCalque,src); - - - - //-- accessoire: restorer les donn\xE9es --// -// try { -// (new FudaaFilleVisuPersistence(panel, panel.getImpl())).restore(panel.getImpl(), new FudaaSaveZipLoader(f), panel.getImpl() -// .getMainProgression()); -// } catch (IOException e) { -// e.printStackTrace(); -// } - - return newPanel; - } - -} Copied: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersistenceManager.java (from rev 4069, branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersist.java) =================================================================== --- branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersistenceManager.java (rev 0) +++ branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersistenceManager.java 2008-10-15 22:33:24 UTC (rev 4070) @@ -0,0 +1,115 @@ +package org.fudaa.fudaa.tr.post; + +import java.io.File; +import java.io.IOException; +import java.util.Map; + +import org.fudaa.ctulu.CtuluArkSaver; +import org.fudaa.ctulu.ProgressionInterface; +import org.fudaa.ebli.calque.ZEbliCalquesPanel; +import org.fudaa.ebli.calque.ZEbliCalquesPanelPersistenceManager; +import org.fudaa.ebli.visuallibrary.EbliScene; +import org.fudaa.ebli.visuallibrary.calque.CalqueLegendeWidgetAdapter; +import org.fudaa.fudaa.commun.save.FudaaFilleVisuPersistence; +import org.fudaa.fudaa.commun.save.FudaaSaveZipWriter; + +import com.db4o.ObjectContainer; + +/** + * Version persistante du trpostVisuPanel. Peut etre sauvegard\xE9, a partir d'un trpostvisupanel et permet de sauvegarder + * un autre trpostvisupanel + * + * @author Adrien Hadoux + */ +public class TrPostVisuPanelPersistenceManager extends ZEbliCalquesPanelPersistenceManager { + + + + File dist_; + + TrPostVisuPanelPersistenceManager() {} + +// /** +// * Remplit les infos persistantes avec celel du trpostvisupanel +// * +// * @param panel +// */ +// public void fillInfoWith(ZEbliCalquesPanel p) { +// TrPostVisuPanel panel = (TrPostVisuPanel) p; +// data_.simplified = panel.simplifiedInit; +// data_.pathSource = panel.getSource().getFile().getAbsolutePath(); +// try { +// p.saveIn(new FudaaSaveZipWriter(dist_), p.getCtuluUI().getMainProgression()); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// +// } +// +// /** +// * Methode qui reconstruit le trpostvisupanel a partir des donn\xE9es persistantes. +// * +// * @param parameters +// * @return +// */ +// public ZEbliCalquesPanel generateCalquePanel(Map parameters) { +// +// TrPostProjet projet = (TrPostProjet) parameters.get("TrPostProjet"); +// +// if (projet == null) return null; +// +// // -- etape 1: recherche du source qui contient le path donn\xE9 --// +// TrPostSource src = projet.findSource(data_.pathSource); +// +// // -- etape 2 si source pas trouv\xE9, chargement du source --// +// if (src == null) { +// TrPostMultiSourceActivator activator = new TrPostMultiSourceActivator(projet); +// activator.active(new File(data_.pathSource), projet.getImpl()); +// } +// +// // -- etape 3: creation du legende adapter --// +// final CalqueLegendeWidgetAdapter legendeCalque = new CalqueLegendeWidgetAdapter( +// (EbliScene) parameters.get("scene"), null); +// +// // -- etape 3: creation du panel --// +// if (src == null) return null; +// +// TrPostVisuPanel newPanel = new TrPostVisuPanel(projet.getImpl(), projet, legendeCalque, src); +// +// // -- accessoire: restorer les donn\xE9es --// +// // try { +// // (new FudaaFilleVisuPersistence(panel, panel.getImpl())).restore(panel.getImpl(), new FudaaSaveZipLoader(f), +// // panel.getImpl() +// // .getMainProgression()); +// // } catch (IOException e) { +// // e.printStackTrace(); +// // } +// +// return newPanel; +// } + + @Override + public ZEbliCalquesPanel loadPersitCalqueXml(Map _param, File _dir) { + //il faut recuperer la source et construire le TrPOstVisuPanel normalemet + //pour les donn\xE9es, il faut s'inspirer de FudaaFilleVisuPersistence.restore + return null; + } + + @Override + public void savePersitCalqueXml(ZEbliCalquesPanel _panelTopersist, File _dir, Map _params) { + //TODO il faut persister les datas + TrPostVisuPanelPersistenceManagerData data= new TrPostVisuPanelPersistenceManagerData(); + //TODO ici il faudrait sauvegarder un identifiant de source comme ce doit etre le cas pour les graphes + data.pathSource=((TrPostVisuPanel)_panelTopersist).getSource().getFile().getAbsolutePath(); + //sauvegarder les datas avec xstream + //les donnees + try { + new FudaaFilleVisuPersistence(_panelTopersist, _panelTopersist.getCtuluUI()).saveIn(new FudaaSaveZipWriter(_dir), + _panelTopersist.getCtuluUI().getMainProgression()); + } catch (IOException e) { + e.printStackTrace(); + } + + } + +} Property changes on: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersistenceManager.java ___________________________________________________________________ Added: svn:mergeinfo + Added: branches/Prepro-0.92-SNAPSHOT/fudaa/src/org/fudaa/fudaa/tr/post/TrPostVisuPanelPersistenceManagerData.java =================================================================== --- bran... [truncated message content] |