|
From: <bma...@us...> - 2011-10-27 13:15:46
|
Revision: 6586
http://fudaa.svn.sourceforge.net/fudaa/?rev=6586&view=rev
Author: bmarchan
Date: 2011-10-27 13:15:36 +0000 (Thu, 27 Oct 2011)
Log Message:
-----------
Add : Sauvegarde des propri?\195?\169t?\195?\169s graphiques des calques
Modified Paths:
--------------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivControlPointsModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivGridModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivIASALayer.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivIASAModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivOriginalImageModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivRealImageModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransfImageModel.java
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
Added Paths:
-----------
trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivPersistence.java
Added: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivPersistence.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivPersistence.java (rev 0)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivPersistence.java 2011-10-27 13:15:36 UTC (rev 6586)
@@ -0,0 +1,155 @@
+package org.fudaa.fudaa.piv;
+
+import com.db4o.Db4o;
+import com.db4o.ObjectContainer;
+import com.db4o.ObjectSet;
+import com.memoire.fu.FuLog;
+import java.io.File;
+import java.io.IOException;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
+import org.fudaa.ctulu.CtuluLibFile;
+import org.fudaa.ctulu.ProgressionInterface;
+import org.fudaa.ebli.commun.EbliUIProperties;
+import org.fudaa.fudaa.commun.save.FudaaSaveLib;
+import org.fudaa.fudaa.piv.metier.PivProject;
+
+/**
+ * Sauve ou charge un fichier projet depuis un fichier ZIP. Le fichier contient
+ * des datas et des caract\xE9ristiques graphiques.
+ * @author Bertrand Marchand (mar...@de...)
+ */
+public class PivPersistence {
+ PivImplementation impl_;
+ private PivProject prj_;
+ private Map<String,EbliUIProperties> uiprops_;
+
+ public PivPersistence(PivImplementation _impl) {
+ impl_=_impl;
+ }
+
+ /**
+ * Sauvegarde dans un format zipp\xE9 du projet et des propri\xE9t\xE9s graphiques.
+ * @param _prjFile Le fichier zip de destination.
+ * @param _prog L'interface de progression.
+ * @return True : Si la sauvegarde s'est bien d\xE9roul\xE9e.
+ */
+ public boolean save(File _prjFile, ProgressionInterface _prog) {
+ PivProject prj=impl_.getCurrentProject();
+
+ // Sauvegarde des datas dans le r\xE9pertoire temporaire.
+ prj.save(_prjFile, _prog);
+
+ // Sauvegarde des propri\xE9t\xE9s graphiques des calques.
+ File dbFile=new File(prj.getRoot(), "project.db");
+ dbFile.delete();
+ FudaaSaveLib.configureDb4o();
+ ObjectContainer cont=Db4o.openFile(dbFile.getAbsolutePath());
+ for (EbliUIProperties props : impl_.get2dFrame().getVisuPanel().getLayerProperties().values()) {
+ cont.set(props);
+ }
+ cont.commit();
+ cont.close();
+
+ // Compression du projet en ZIP.
+ try {
+ CtuluLibFile.zip(prj.getRoot(), _prjFile, _prog);
+ }
+ catch (IOException ex) {
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Charge le projet depuis le fichier projet donn\xE9. Le fichier projet est
+ * d\xE9zipp\xE9, puis il est charg\xE9 s'il est conforme.
+ *
+ * @param _prjFile Le fichier contenant le projet.
+ * @param _prog L'interface de progression. Peut etre <tt>null</tt>
+ * @return True Si le fichier donn\xE9 est bien un fichier projet.
+ */
+ public boolean load(File _prjFile, ProgressionInterface _prog) {
+ if (_prog!=null)
+ _prog.setDesc(PivResource.getS("Chargement du projet"));
+
+ // Controle que le fichier archive est bien un fichier PIV par recherche
+ // d'un repertoire OUTPUT_DIR dans toutes les entries. Suivant le zippeur,
+ // il se peut que le r\xE9pertoire en tant qu'entry n'existe pas. On recherche
+ // donc ce nom dans toutes les entries.
+ try {
+ boolean bfound=false;
+ ZipFile zf=new ZipFile(_prjFile);
+
+ FuLog.debug("Fichiers dans le ZIP:");
+ NEXT_ENTRY:
+ for (Enumeration<? extends ZipEntry> e=zf.entries(); e.hasMoreElements();) {
+ File f=new File(e.nextElement().getName());
+ FuLog.debug(f.getPath());
+ while (f!=null) {
+ if (PivProject.OUTPUT_DIR.equals(f.getPath())) {
+ bfound=true;
+ break NEXT_ENTRY;
+ }
+ f=f.getParentFile();
+ }
+ }
+ if (!bfound) return false;
+
+ zf.close();
+ }
+ catch (IOException ex) {
+ FuLog.debug(ex.getMessage());
+ return false;
+ }
+
+ // Cr\xE9ation du r\xE9pertoire temporaire de travail pour le unzip...
+ prj_=new PivProject();
+ prj_.init();
+ // ... puis unzip
+ try {
+ CtuluLibFile.unzip(_prjFile, prj_.getRoot(), _prog);
+ }
+ catch (IOException ex) {
+ FuLog.debug(ex.getMessage());
+ return false;
+ }
+
+ // Lecture du projet
+ prj_.load(_prjFile, _prog);
+
+
+ // Lecture des propri\xE9t\xE9s graphiques des calques.
+ File dbFile_=new File(prj_.getRoot(), "project.db");
+ FudaaSaveLib.configureDb4o();
+ ObjectContainer cont=Db4o.openFile(dbFile_.getAbsolutePath());
+ ObjectSet set=cont.query(EbliUIProperties.class);
+ uiprops_=new HashMap<String,EbliUIProperties>();
+ while (set.hasNext()) {
+ EbliUIProperties props=(EbliUIProperties)set.next();
+ cont.activate(props, Integer.MAX_VALUE);
+ uiprops_.put(props.getLayerName(),props);
+ }
+ cont.close();
+
+ return true;
+ }
+
+ /**
+ * @return Le projet apr\xE8s chargement
+ */
+ public PivProject getProject() {
+ return prj_;
+ }
+
+ /**
+ * @return Les propri\xE9t\xE9s graphiques apr\xE8s chargement.
+ */
+ public Map<String,EbliUIProperties> getLayerProperties() {
+ return uiprops_;
+ }
+}
Property changes on: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivPersistence.java
___________________________________________________________________
Added: svn:keywords
+ Id
Added: svn:eol-style
+ native
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java 2011-10-27 12:48:58 UTC (rev 6585)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/PivVisuPanel.java 2011-10-27 13:15:36 UTC (rev 6586)
@@ -10,6 +10,8 @@
import java.awt.Color;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
+import java.util.HashMap;
+import java.util.Map;
import javax.swing.Action;
import javax.swing.JMenu;
import javax.units.NonSI;
@@ -32,6 +34,7 @@
import org.fudaa.ebli.calque.edition.ZModelePointEditable;
import org.fudaa.ebli.commun.EbliActionAbstract;
import org.fudaa.ebli.commun.EbliFormatter;
+import org.fudaa.ebli.commun.EbliUIProperties;
import org.fudaa.ebli.palette.BPalettePlageDiscret;
import org.fudaa.ebli.palette.BPlageDiscret;
import org.fudaa.ebli.trace.TraceIcon;
@@ -171,7 +174,7 @@
getCqSelectionI().setEditSelectionWhenDoubleClick(false);
- initCalques();
+ initLayers();
getScene().setRestrictedToCalqueActif(true);
buildActions();
}
@@ -182,6 +185,9 @@
*/
public void setProjet(PivProject _prj) {
projet=_prj;
+
+ viewMode_=0;
+ initLayers();
majLayers();
}
@@ -235,7 +241,7 @@
/**
* Initialise les calques contenus dans le panneau de visualisation.
*/
- public void initCalques() {
+ public void initLayers() {
removeAllCalqueDonnees();
addCqInfos();
@@ -244,6 +250,46 @@
buildRealLayers();
buildOriginalLayers();
}
+
+ /**
+ * Retourne les propri\xE9tes graphiques des calques.
+ * @return Les propri\xE9tes pour tous les calques
+ */
+ public Map<String,EbliUIProperties> getLayerProperties() {
+ Map<String,EbliUIProperties> props=new HashMap<String,EbliUIProperties>();
+ props.put(cqFlowResults.getName(),cqFlowResults.saveUIProperties());
+ props.put(cqVelResults.getName(),cqVelResults.saveUIProperties());
+ props.put(cqTransfImage_.getName(),cqTransfImage_.saveUIProperties());
+ props.put(cqGrille_.getName(),cqGrille_.saveUIProperties());
+ props.put(cqCntGrille_.getName(),cqCntGrille_.saveUIProperties());
+ props.put(cqOrthoPoints_.getName(),cqOrthoPoints_.saveUIProperties());
+ props.put(cqOriginalImg_.getName(),cqOriginalImg_.saveUIProperties());
+ props.put(cqRealOrthoPoints_.getName(),cqRealOrthoPoints_.saveUIProperties());
+ props.put(cqRealControlPoints_.getName(),cqRealControlPoints_.saveUIProperties());
+ props.put(cqRealImg_.getName(),cqRealImg_.saveUIProperties());
+ props.put(cqTransect_.getName(),cqTransect_.saveUIProperties());
+ props.put(cqIASA_.getName(),cqIASA_.saveUIProperties());
+ return props;
+ }
+
+ /**
+ * Restaure les propri\xE9tes graphiques des calques.
+ * @param _props Les propri\xE9tes pour tous les calques
+ */
+ public void setLayerProperties(Map<String,EbliUIProperties> _props) {
+ cqFlowResults.initFrom(_props.get(cqFlowResults.getName()));
+ cqVelResults.initFrom(_props.get(cqVelResults.getName()));
+ cqTransfImage_.initFrom(_props.get(cqTransfImage_.getName()));
+ cqGrille_.initFrom(_props.get(cqGrille_.getName()));
+ cqCntGrille_.initFrom(_props.get(cqCntGrille_.getName()));
+ cqOrthoPoints_.initFrom(_props.get(cqOrthoPoints_.getName()));
+ cqOriginalImg_.initFrom(_props.get(cqOriginalImg_.getName()));
+ cqRealOrthoPoints_.initFrom(_props.get(cqRealOrthoPoints_.getName()));
+ cqRealControlPoints_.initFrom(_props.get(cqRealControlPoints_.getName()));
+ cqRealImg_.initFrom(_props.get(cqRealImg_.getName()));
+ cqTransect_.initFrom(_props.get(cqTransect_.getName()));
+ cqIASA_.initFrom(_props.get(cqIASA_.getName()));
+ }
/**
* Construit les actions du panneau. Ces actions peuvent intervenir sur
@@ -356,16 +402,13 @@
viewMode_=_mode;
removeAllCalqueDonnees();
+ getCqLegend().enleveTousCalques();
String title=null;
if (_mode == MODE_ORIGINAL_VIEW) {
addCalque(cqOrthoPoints_);
addCalque(cqOriginalImg_);
- getCqLegend().enleve(cqIASA_);
- getCqLegend().enleve(cqRealControlPoints_);
- getCqLegend().enleve(cqVelResults);
- getCqLegend().enleve(cqFlowResults);
actOriginalView_.putValue(Action.SELECTED_KEY,true);
setCoordinateDefinitions(new EbliCoordinateDefinition[]{DEF_COOR_I,DEF_COOR_J});
@@ -376,23 +419,19 @@
cqRealOrthoPoints_.setLegende(null);
cqRealOrthoPoints_.setLegende(getCqLegend());
+ cqVelResults.setLegende(null);
+ cqVelResults.setLegende(getCqLegend());
+
+ cqFlowResults.setLegende(null);
+ cqFlowResults.setLegende(getCqLegend());
+
+ addCalque(cqVelResults);
+ addCalque(cqFlowResults);
addCalque(cqTransect_);
- if (projet!=null && projet.getVelResults()!=null) {
- cqVelResults.setLegende(null);
- cqVelResults.setLegende(getCqLegend());
- addCalque(cqVelResults,true);
- }
- if (projet!=null && projet.getFlowResults()!=null) {
- cqFlowResults.setLegende(null);
- cqFlowResults.setLegende(getCqLegend());
- addCalque(cqFlowResults,true);
- }
-
addCalque(cqRealOrthoPoints_);
addCalque(cqRealImg_);
actRealView_.putValue(Action.SELECTED_KEY, true);
- getCqLegend().enleve(cqIASA_);
setCoordinateDefinitions(new EbliCoordinateDefinition[]{DEF_COOR_X,DEF_COOR_Y});
@@ -408,9 +447,6 @@
addCalque(cqGrille_);
addCalque(cqTransfImage_);
actTransfView_.putValue(Action.SELECTED_KEY,true);
- getCqLegend().enleve(cqRealControlPoints_);
- getCqLegend().enleve(cqVelResults);
- getCqLegend().enleve(cqFlowResults);
setCoordinateDefinitions(new EbliCoordinateDefinition[]{DEF_COOR_J,DEF_COOR_I});
@@ -447,11 +483,6 @@
* @param _b True : Le calque est visible.
*/
public void setVelocitiesLayerVisible(boolean _b) {
- if (_b) {
- if (viewMode_==MODE_REAL_VIEW) {
- addCalque(cqVelResults, true);
- }
- }
cqVelResults.setVisible(_b);
}
@@ -460,11 +491,6 @@
* @param _b True : Le calque est visible.
*/
public void setFlowLayerVisible(boolean _b) {
- if (_b) {
- if (viewMode_==MODE_REAL_VIEW) {
- addCalque(cqFlowResults, true);
- }
- }
cqFlowResults.setVisible(_b);
}
@@ -481,14 +507,16 @@
* Construction du calque de saisie de formes.
*/
protected void buildEditionLayer() {
- cqEdition_=new ZCalqueEditionInteraction();
- cqEdition_.setName("cqEdition");
- cqEdition_.setGele(true);
- cqEdition_.setLineModel(new TraceLigneModel(TraceLigne.LISSE, 1, Color.RED));
- cqEdition_.setIconModel(new TraceIconModel(TraceIcon.PLUS, 5, Color.RED));
+ if (cqEdition_ == null) {
+ cqEdition_=new ZCalqueEditionInteraction();
+ cqEdition_.setName("cqEdition");
+ cqEdition_.setGele(true);
+ cqEdition_.setLineModel(new TraceLigneModel(TraceLigne.LISSE, 1, Color.RED));
+ cqEdition_.setIconModel(new TraceIconModel(TraceIcon.PLUS, 5, Color.RED));
- // Ce calque peut \xEAtre ajout\xE9 d\xE9s le d\xE9but, il n'apparait pas dans l'arbre de calques
- getController().addCalqueInteraction(cqEdition_);
+ // Ce calque peut \xEAtre ajout\xE9 d\xE9s le d\xE9but, il n'apparait pas dans l'arbre de calques
+ getController().addCalqueInteraction(cqEdition_);
+ }
}
/**
@@ -689,9 +717,11 @@
mdlTransect.setProjet(projet);
cqTransect_.modele(mdlTransect);
- if (projet.hasTransfImages())
+ if (projet.hasRawVelocities())
+ setViewMode(MODE_REAL_VIEW);
+ else if (projet.hasTransfImages())
setViewMode(MODE_TRANSF_VIEW);
- else if (projet.hasPgmImages())
+ else
setViewMode(MODE_ORIGINAL_VIEW);
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivControlPointsModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivControlPointsModel.java 2011-10-27 12:48:58 UTC (rev 6585)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivControlPointsModel.java 2011-10-27 13:15:36 UTC (rev 6586)
@@ -12,7 +12,7 @@
* Un modele pour les points d'orthorectification recalcul\xE9s, dans l'espace r\xE9el.
*
* @author Bertrand Marchand (mar...@de...)
- * @version $Id:$
+ * @version $Id$
*/
public class PivControlPointsModel extends ZModeleMultiPointEditable {
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivGridModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivGridModel.java 2011-10-27 12:48:58 UTC (rev 6585)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivGridModel.java 2011-10-27 13:15:36 UTC (rev 6586)
@@ -14,7 +14,7 @@
* peuvent \xEAtre supprim\xE9s.
*
* @author Bertrand Marchand (mar...@de...)
- * @version $Id:$
+ * @version $Id$
*/
public class PivGridModel extends ZModelePointEditable {
// Le projet.
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivIASALayer.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivIASALayer.java 2011-10-27 12:48:58 UTC (rev 6585)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivIASALayer.java 2011-10-27 13:15:36 UTC (rev 6586)
@@ -15,7 +15,7 @@
* pour afficher le SA et le IA suivant des couleurs diff\xE9rentes.
*
* @author Bertrand Marchand (mar...@de...)
- * @version $Id:$
+ * @version $Id$
*/
public class PivIASALayer extends ZCalqueLigneBrisee {
/** L'attribut utilis\xE9 pour mapper la palette de couleurs. */
@@ -85,4 +85,8 @@
return true;
}
+ @Override
+ public boolean isPaletteModifiable() {
+ return true;
+ }
}
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivIASAModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivIASAModel.java 2011-10-27 12:48:58 UTC (rev 6585)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivIASAModel.java 2011-10-27 13:15:36 UTC (rev 6586)
@@ -18,7 +18,7 @@
* Un modele pour les IA/SA bas\xE9 sur le modele de ligne bris\xE9es.
*
* @author Bertrand Marchand (mar...@de...)
- * @version $Id:$
+ * @version $Id$
*/
public class PivIASAModel extends ZModeleLigneBriseeDefault {
/** L'attribut utilis\xE9 pour l'affichage des lignes suivant une palette de couleurs. */
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivOriginalImageModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivOriginalImageModel.java 2011-10-27 12:48:58 UTC (rev 6585)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivOriginalImageModel.java 2011-10-27 13:15:36 UTC (rev 6586)
@@ -15,7 +15,7 @@
* Un modele pour l'image reconditionn\xE9e.
*
* @author Bertrand Marchand (mar...@de...)
- * @version $Id:$
+ * @version $Id$
*/
public class PivOriginalImageModel extends ZModeleStatiqueImageRaster {
// Le projet.
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivRealImageModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivRealImageModel.java 2011-10-27 12:48:58 UTC (rev 6585)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivRealImageModel.java 2011-10-27 13:15:36 UTC (rev 6586)
@@ -15,7 +15,7 @@
* Un modele pour l'image dans l'espace r\xE9el.
*
* @author Bertrand Marchand (mar...@de...)
- * @version $Id:$
+ * @version $Id$
*/
public class PivRealImageModel extends ZModeleStatiqueImageRaster {
// Le projet.
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransfImageModel.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransfImageModel.java 2011-10-27 12:48:58 UTC (rev 6585)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/layer/PivTransfImageModel.java 2011-10-27 13:15:36 UTC (rev 6586)
@@ -15,7 +15,7 @@
* Un modele pour l'image transform\xE9e.
*
* @author Bertrand Marchand (mar...@de...)
- * @version $Id:$
+ * @version $Id$
*/
public class PivTransfImageModel extends ZModeleStatiqueImageRaster {
// Le projet.
Modified: trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java
===================================================================
--- trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2011-10-27 12:48:58 UTC (rev 6585)
+++ trunk/soft/fudaa-lspiv/src/main/java/org/fudaa/fudaa/piv/metier/PivProject.java 2011-10-27 13:15:36 UTC (rev 6586)
@@ -6,11 +6,8 @@
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
-import java.util.Enumeration;
import java.util.HashSet;
import java.util.Iterator;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
import javax.imageio.ImageIO;
import javax.imageio.ImageReader;
import javax.imageio.stream.ImageInputStream;
@@ -432,50 +429,6 @@
* @return True Si le fichier donn\xE9 est bien un fichier projet.
*/
public boolean load(File _prjFile, ProgressionInterface _prog) {
- if (_prog!=null)
- _prog.setDesc(PivResource.getS("Chargement du projet"));
-
- // Controle que le fichier archive est bien un fichier PIV par recherche
- // d'un repertoire OUTPUT_DIR dans toutes les entries. Suivant le zippeur,
- // il se peut que le r\xE9pertoire en tant qu'entry n'existe pas. On recherche
- // donc ce nom dans toutes les entries.
- try {
- boolean bfound=false;
- ZipFile zf=new ZipFile(_prjFile);
-
- FuLog.debug("Fichiers dans le ZIP:");
- NEXT_ENTRY:
- for (Enumeration<? extends ZipEntry> e=zf.entries(); e.hasMoreElements();) {
- File f=new File(e.nextElement().getName());
- FuLog.debug(f.getPath());
- while (f!=null) {
- if (OUTPUT_DIR.equals(f.getPath())) {
- bfound=true;
- break NEXT_ENTRY;
- }
- f=f.getParentFile();
- }
- }
- if (!bfound) return false;
-
- zf.close();
- }
- catch (IOException ex) {
- FuLog.debug(ex.getMessage());
- return false;
- }
-
- // Cr\xE9ation du r\xE9pertoire temporaire de travail pour le unzip...
- init();
- // ... puis unzip
- try {
- CtuluLibFile.unzip(_prjFile, rootPath, _prog);
- }
- catch (IOException ex) {
- FuLog.debug(ex.getMessage());
- return false;
- }
-
File outputDir=new File(rootPath,OUTPUT_DIR);
// Le fichier GRP
@@ -683,12 +636,6 @@
FileWriteOperationAbstract writer=PivBathyFileFormat.getInstance().createWriter();
CtuluIOOperationSynthese ret=writer.write(transect, transectFile, null);
}
- try {
- CtuluLibFile.zip(rootPath, _prjFile, _prog);
- }
- catch (IOException ex) {
- return false;
- }
isModified=false;
return true;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|