|
From: <de...@us...> - 2010-03-28 20:48:52
|
Revision: 5731
http://fudaa.svn.sourceforge.net/fudaa/?rev=5731&view=rev
Author: deniger
Date: 2010-03-28 20:48:46 +0000 (Sun, 28 Mar 2010)
Log Message:
-----------
Modified Paths:
--------------
trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigVariableInterpolator.java
trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileModel.java
Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigVariableInterpolator.java
===================================================================
--- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigVariableInterpolator.java 2010-03-28 20:48:32 UTC (rev 5730)
+++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigVariableInterpolator.java 2010-03-28 20:48:46 UTC (rev 5731)
@@ -160,7 +160,7 @@
public void process(final CtuluAnalyze _analyse, final BitSet _set, final ProgressionInterface _prog) {
stop_ = false;
- final FSigVarAttrMapperTableModel.MapperResult res = tableModel_.getResult();
+ final FSigVarAttrMapperTableModel.MapperResult res = getAttModel().getResult();
final boolean isElt = target_.isElementVar();
final int nbObj = isElt ? target_.getGrid().getEltNb() : target_.getGrid().getPtsNb();
final BitSet objectSet = _set == null ? new BitSet(nbObj) : _set;
Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileModel.java
===================================================================
--- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileModel.java 2010-03-28 20:48:32 UTC (rev 5730)
+++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileModel.java 2010-03-28 20:48:46 UTC (rev 5731)
@@ -4,8 +4,14 @@
import java.util.HashMap;
import java.util.Map;
+import javax.swing.JFileChooser;
+
+import org.fudaa.ctulu.CtuluLib;
import org.fudaa.ctulu.CtuluLibString;
+import org.fudaa.ctulu.gui.CtuluCellFileEditor;
import org.fudaa.ctulu.gui.CtuluDialogPanel;
+import org.fudaa.ctulu.gui.CtuluFileChooser;
+import org.fudaa.ctulu.gui.CtuluLibSwing;
import org.fudaa.ctulu.gui.CtuluListEditorModel;
import org.fudaa.fudaa.commun.impl.FudaaImportCsvPanel;
import org.fudaa.fudaa.sig.FSigLib;
@@ -40,21 +46,15 @@
final BuFileFilter csv_;
protected FSigFileLoaderI createModel(final BuFileFilter _f) {
- if (_f == null) {
- return null;
- }
+ if (_f == null) { return null; }
return ((FSigFileLoaderI) fmtLoader_.get(_f)).createNew();
}
BuFileFilter guessFmt(final File _f) {
for (int i = 0; i < filters_.length; i++) {
- if (csv_ != filters_[i] && filters_[i].accept(_f)) {
- return filters_[i];
- }
+ if (csv_ != filters_[i] && filters_[i].accept(_f)) { return filters_[i]; }
}
- if (_f != null && (_f.getName().endsWith(".txt") || _f.getName().endsWith(".csv"))) {
- return csv_;
- }
+ if (_f != null && (_f.getName().endsWith(".txt") || _f.getName().endsWith(".csv"))) { return csv_; }
return null;
}
@@ -142,6 +142,20 @@
return _columnIndex > 0;
}
+ CtuluFileChooser fileChooser;
+
+ @Override
+ public Object createNewObject() {
+ if (fileChooser == null) {
+ fileChooser = new CtuluFileChooser(false);
+ }
+ fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
+ fileChooser.setMultiSelectionEnabled(false);
+ final int r = fileChooser.showOpenDialog(CtuluLibSwing.getActiveWindow());
+ if (r == JFileChooser.APPROVE_OPTION) { return fileChooser.getSelectedFile(); }
+ return null;
+ }
+
public void setValueAt(final Object _value, final int _rowIndex, final int _columnIndex) {
if (_columnIndex == 2) {
final FSigFileLoaderI loader = (FSigFileLoaderI) fileData_.get(getValueAt(_rowIndex));
@@ -165,12 +179,15 @@
} else if (_value instanceof String) {
f = new File((String) _value);
}
- final File old = (File) getValueAt(_rowIndex);
- if (!old.equals(f)) {
- fileData_.remove(old);
- super.setValueAt(f, _rowIndex, _columnIndex);
- setValueAt(guessFmt(f), _rowIndex, _columnIndex + 1);
+ if (getValueAt(_rowIndex) instanceof File) {
+ final File old = (File) getValueAt(_rowIndex);
+ if (!old.equals(f)) {
+ fileData_.remove(old);
+
+ }
}
+ super.setValueAt(f, _rowIndex, _columnIndex);
+ setValueAt(guessFmt(f), _rowIndex, _columnIndex + 1);
}
}
@@ -189,9 +206,7 @@
reader.setNumeric(true);
pn.setReader(reader);
- if (CtuluDialogPanel.isOkResponse(pn.afficheModale(BuLib.HELPER))) {
- return pn.buildOption();
- }
+ if (CtuluDialogPanel.isOkResponse(pn.afficheModale(BuLib.HELPER))) { return pn.buildOption(); }
return null;
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2010-08-30 21:00:43
|
Revision: 5892
http://fudaa.svn.sourceforge.net/fudaa/?rev=5892&view=rev
Author: deniger
Date: 2010-08-30 21:00:37 +0000 (Mon, 30 Aug 2010)
Log Message:
-----------
Modified Paths:
--------------
trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigFileLoaderCsv.java
trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileModel.java
Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigFileLoaderCsv.java
===================================================================
--- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigFileLoaderCsv.java 2010-08-30 21:00:17 UTC (rev 5891)
+++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigFileLoaderCsv.java 2010-08-30 21:00:37 UTC (rev 5892)
@@ -1,9 +1,13 @@
/*
- * @creation 8 juin 2005
- * @modification $Date: 2007-05-04 14:00:26 $
- * @license GNU General Public License 2
- * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
- * @mail fud...@li...
+ * @creation 8 juin 2005
+ *
+ * @modification $Date: 2007-05-04 14:00:26 $
+ *
+ * @license GNU General Public License 2
+ *
+ * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
+ *
+ * @mail fud...@li...
*/
package org.fudaa.fudaa.sig.wizard;
@@ -19,6 +23,7 @@
import org.fudaa.ctulu.CtuluLibArray;
import org.fudaa.ctulu.CtuluLibString;
import org.fudaa.ctulu.ProgressionInterface;
+import org.fudaa.ctulu.gis.GISAttributeConstants;
import org.fudaa.ctulu.gis.GISAttributeInterface;
import org.fudaa.ctulu.gis.GISDataModelListPtAdapter;
import org.fudaa.ctulu.gis.GISPoint;
@@ -78,15 +83,11 @@
}
public String[] getName() {
- if (reader_ == null) {
- return null;
- }
+ if (reader_ == null) { return null; }
String[] names = reader_.getName();
if (names == null) {
names = new String[reader_.getNbValues()];
- if (names.length < 2) {
- return null;
- }
+ if (names.length < 2) { return null; }
names[0] = "X";
names[1] = "Y";
for (int i = 2; i < names.length; i++) {
@@ -161,7 +162,8 @@
attValues = new double[att.length][];
for (int i = att.length - 1; i >= 0; i--) {
final int real = i + 2;
- att[i] = _r.findOrCreateAttribute(name.length > real ? name[real] : "V_" + (i + 1), Double.class, true);
+ att[i] = i == 0 ? GISAttributeConstants.BATHY : _r.findOrCreateAttribute(name.length > real ? name[real]
+ : "V_" + (i + 1), Double.class, true);
attValues[i] = values[real].toNativeArray();
}
_r.addUsedAttributes(att);
Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileModel.java
===================================================================
--- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileModel.java 2010-08-30 21:00:17 UTC (rev 5891)
+++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileModel.java 2010-08-30 21:00:37 UTC (rev 5892)
@@ -206,7 +206,7 @@
reader.setNumeric(true);
pn.setReader(reader);
- if (CtuluDialogPanel.isOkResponse(pn.afficheModale(BuLib.HELPER))) { return pn.buildOption(); }
+ if (CtuluDialogPanel.isOkResponse(pn.afficheModale(CtuluLibSwing.getActiveWindow()))) { return pn.buildOption(); }
return null;
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2010-11-05 23:29:00
|
Revision: 6031
http://fudaa.svn.sourceforge.net/fudaa/?rev=6031&view=rev
Author: deniger
Date: 2010-11-05 23:28:54 +0000 (Fri, 05 Nov 2010)
Log Message:
-----------
Modified Paths:
--------------
trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigDataModelSinusxAdapter.java
trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigFileLoaderSinusX.java
Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigDataModelSinusxAdapter.java
===================================================================
--- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigDataModelSinusxAdapter.java 2010-11-05 23:28:38 UTC (rev 6030)
+++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigDataModelSinusxAdapter.java 2010-11-05 23:28:54 UTC (rev 6031)
@@ -33,18 +33,6 @@
public void preload(final GISAttributeInterface[] _att, final ProgressionInterface _prog) {}
- /**
- * @param _f le fichier a lire
- * @param _filterClass la classe a filtrer Point.class,LineString.class ou LinearRing
- * @param _impl l'implemenation parent
- * @param _progress la barre de progression
- * @return le model correspondant
- */
-// public static GISDataModel readSxFilePoly(final File _f, final Class _filterClass, final CtuluUI _impl,
-// final ProgressionInterface _progress) {
-// return readSxFilePoly(_f, _filterClass, _impl, _progress, null);
-// }
-
public Envelope getEnvelopeInternal() {
return GISLib.computeEnveloppe(geoms_);
}
@@ -64,19 +52,6 @@
public static GISDataModel analyseSxFile(final GISZone _zi, final boolean _isPointAccepted,
final boolean _isPolyligneAccepted, final boolean _isPolygoneAccepted, final ProgressionInterface _progress,
final FSigFileLoadResult _res) {
-// int ibloc=0;
-// final List res = new ArrayList(100);
-// // final TDoubleArrayList zAverage = new TDoubleArrayList(100);
-// final List z = new ArrayList();
-// final TIntArrayList numBloc=new TIntArrayList();
-// final GISAttributeDouble zAtt = (GISAttributeDouble) GISAttributeConstants.BATHY;
-// final GISAttributeInterface numBlocAtt=GISDataModelPointMultiPointAdapter.ATT_NUM_BLOC;
-// final GISAttribute nameAtt = GISAttributeConstants.TITRE;
-// if (_res != null) {
-// _res.allAttribute_.add(zAtt);
-// _res.allAttribute_.add(numBlocAtt);
-// _res.allAttribute_.add(nameAtt);
-// }
final GISZoneCollectionPolygone[] polygones = _zi.getPolygoneCollections();
// on parcourt les polygones
if (polygones != null && _isPolygoneAccepted) {
@@ -88,27 +63,6 @@
}
GISDataModel mdl=new GISDataModelMultiAdapter(polygones);
return mdl;
-// final int nbPolyg = polygones.length;
-// for (int j = 0; j < nbPolyg; j++) {
-// final GISZoneCollectionPolygone polyzj = polygones[j];
-// final int nbpoly = polyzj.getNumGeometries();
-// for (int k = 0; k < nbpoly; k++) {
-// final GISPolygone pk = (GISPolygone) polyzj.getGeometry(k);
-// res.add(pk);
-// if (_res != null) {
-// _res.nbPolygones_++;
-// _res.nbPointTotal_ += pk.getNumGeometries();
-// }
-// final CoordinateSequence seq = pk.getCoordinateSequence();
-// final GISAttributeModelDoubleArray zl = zAtt.createAtomicModelDouble(pk.getNumPoints());
-// for (int l = zl.getSize() - 1; l >= 0; l--) {
-// zl.set(l, seq.getOrdinate(l, 2));
-// }
-// z.add(zl);
-// numBloc.add(ibloc++);
-// }
-//
-// }
}
final GISZoneCollectionPolyligne[] polyligne = _zi.getPolyligneCollections();
// on parcourt les polygones
@@ -121,27 +75,6 @@
}
GISDataModel mdl=new GISDataModelMultiAdapter(polyligne);
return mdl;
-// final int nbLignes = polyligne.length;
-// for (int j = 0; j < nbLignes; j++) {
-// final GISZoneCollectionPolyligne lignes = polyligne[j];
-// final int nbpoly = lignes.getNumGeometries();
-// for (int k = 0; k < nbpoly; k++) {
-// final GISPolyligne pk = (GISPolyligne) lignes.getGeometry(k);
-// res.add(pk);
-// if (_res != null) {
-// _res.nbPolylignes_++;
-// _res.nbPointTotal_ += pk.getNumGeometries();
-// }
-// final CoordinateSequence seq = pk.getCoordinateSequence();
-// final double[] zl = new double[pk.getNumPoints()];
-// for (int l = zl.length - 1; l >= 0; l--) {
-// zl[l] = seq.getOrdinate(l, 2);
-// }
-// z.add(new GISAttributeModelDoubleArray(zl, zAtt));
-// numBloc.add(ibloc++);
-// }
-//
-// }
}
final GISZoneCollectionPoint[] pts = _zi.getPointCollections();
if (pts != null && _isPointAccepted) {
@@ -153,77 +86,12 @@
}
GISDataModel mdl=new GISDataModelMultiAdapter(pts);
return mdl;
-// final int nbPts = pts.length;
-// for (int j = 0; j < nbPts; j++) {
-// final GISZoneCollectionPoint lignes = pts[j];
-// final int nbpoly = lignes.getNumGeometries();
-// if (_res != null) {
-// _res.nbPoint_ += lignes.getNumPoints();
-// _res.nbPointTotal_ += lignes.getNumPoints();
-// }
-// for (int k = 0; k < nbpoly; k++) {
-// final Point pk = (Point) lignes.getGeometry(k);
-// res.add(pk);
-// z.add(CtuluLib.getDouble(pk.getCoordinateSequence().getOrdinate(0, 2)));
-// numBloc.add(ibloc);
-// }
-// ibloc++;
-// }
}
-// final FSigDataModelSinusxAdapter r = new FSigDataModelSinusxAdapter();
-// r.geoms_ = new Geometry[res.size()];
-// res.toArray(r.geoms_);
-// r.model_ = new GISAttributeModel[2];
-// r.model_[0] = new GISAttributeModelObjectList(z, zAtt);
-// r.model_[1] = new GISAttributeModelIntegerList(numBloc.toNativeArray(),numBlocAtt);
-// r.model_[2] = new GISAttributeModelObjectList(nameAtt);
-// return r;
return null;
}
-// public static GISDataModel analyseSinusxRes(final GISZone _zones, final Class _filterClass,
-// final ProgressionInterface _progress, final FSigFileLoadResult _res) {
-// // on part sur 100 objets
-// boolean isPolygoneAccepted = true;
-// boolean isPolyligneAccepted = true;
-// boolean isPointAccepted = true;
-// if (_filterClass != null) {
-// if (LineString.class.equals(_filterClass)) {
-// isPointAccepted = false;
-// } else if (LinearRing.class.equals(_filterClass)) {
-// isPointAccepted = false;
-// isPolyligneAccepted = false;
-// } else if (Point.class.equals(_filterClass)) {
-// isPolyligneAccepted = false;
-// isPolygoneAccepted = false;
-// }
-// }
-// return analyseSxFile(_zones, isPointAccepted, isPolyligneAccepted, isPolygoneAccepted, _progress, _res);
-//
-// }
- /**
- * @param _f
- * @param _impl
- * @param _progress
- * @return la source correspondante
- */
-// public static GISDataModel readSxFilePoly(final File _f, final Class _filterClass, final CtuluUI _impl,
-// final ProgressionInterface _progress, final FSigFileLoadResult _res) {
-// final CtuluIOOperationSynthese result = SinusxFileFormat.getInstance().read(_f, _progress);
-// // si erreur fatale on renvoie null
-// if (_impl.manageErrorOperationAndIsFatal(result)) {
-// return null;
-// }
-// final GISZone zones = (GISZone) result.getSource();
-// if (zones == null || zones.getNumGeometries() == 0) {
-// return null;
-// }
-// return analyseSinusxRes(zones, _filterClass, _progress, _res);
-//
-// }
-
public GISAttributeInterface getAttribute(final int _idxAtt) {
return model_ == null ? null : model_[_idxAtt].getAttribute();
}
Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigFileLoaderSinusX.java
===================================================================
--- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigFileLoaderSinusX.java 2010-11-05 23:28:38 UTC (rev 6030)
+++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigFileLoaderSinusX.java 2010-11-05 23:28:54 UTC (rev 6031)
@@ -53,9 +53,15 @@
public void setInResult(final FSigFileLoadResult _r, final File _f, final ProgressionInterface _prog,
final CtuluAnalyze _analyze) {
if (zones_ == null) {
- final CtuluIOOperationSynthese op = SinusxFileFormat.getInstance().read(_f, _prog);
+ CtuluIOOperationSynthese op=null;
+ try {
+ op = SinusxFileFormat.getInstance().read(_f, _prog);
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
_analyze.merge(op.getAnalyze());
- if (op.containsMessages() && op.getAnalyze().containsErrors()) {
+ if (op.containsFatalError()) {
return;
}
zones_ = (GISZone) op.getSource();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2011-09-09 16:53:20
|
Revision: 6385
http://fudaa.svn.sourceforge.net/fudaa/?rev=6385&view=rev
Author: bmarchan
Date: 2011-09-09 16:53:14 +0000 (Fri, 09 Sep 2011)
Log Message:
-----------
Add : Lecture csv avec possibilit?\195?\169 d'avoir des colonnes String
Modified Paths:
--------------
trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigFileLoaderCsv.java
trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileModel.java
Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigFileLoaderCsv.java
===================================================================
--- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigFileLoaderCsv.java 2011-09-09 16:52:21 UTC (rev 6384)
+++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigFileLoaderCsv.java 2011-09-09 16:53:14 UTC (rev 6385)
@@ -11,7 +11,6 @@
*/
package org.fudaa.fudaa.sig.wizard;
-import gnu.trove.TDoubleArrayList;
import java.io.File;
import java.util.List;
@@ -20,19 +19,20 @@
import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.ctulu.CtuluDoubleParser;
import org.fudaa.ctulu.CtuluIOOperationSynthese;
-import org.fudaa.ctulu.CtuluLibArray;
import org.fudaa.ctulu.CtuluLibString;
import org.fudaa.ctulu.ProgressionInterface;
import org.fudaa.ctulu.gis.GISAttributeConstants;
import org.fudaa.ctulu.gis.GISAttributeInterface;
import org.fudaa.ctulu.gis.GISDataModelAttributeAdapter;
-import org.fudaa.ctulu.gis.GISDataModelListPtAdapter;
import org.fudaa.ctulu.gis.GISPoint;
import org.fudaa.dodico.mesure.DodicoCsvReader;
import org.fudaa.fudaa.commun.FudaaLib;
import org.fudaa.fudaa.sig.FSigLib;
import com.memoire.bu.BuFileFilter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import org.fudaa.ctulu.gis.GISZoneCollectionPoint;
/**
* @author Fred Deniger
@@ -80,6 +80,7 @@
public XYCsvReader() {
setNumeric(false);
+ setBlankValid(true);
super.minValueByLine_ = 2;
}
@@ -99,16 +100,26 @@
return reader_.getName();
}
- public boolean containsError() {
+ public String containsError() {
final String[][] r = getPreview();
- return r == null || r.length == 0 || r[0].length < 2;
+ if (r == null || r.length == 0 || r[0].length < 2) {
+ return FSigLib.getS("Le fichier doit contenir 2 champs (X,Y) au minimum");
+ }
+ if (colTypes_==null || colTypes_[0]==DodicoCsvReader.COL_TYPE_STRING ||
+ colTypes_[1]==DodicoCsvReader.COL_TYPE_STRING ) {
+ return FSigLib.getS("Les champs (X,Y) doivent \xEAtre de type num\xE9rique");
+ }
+
+ return null;
}
- protected Object internalRead() {
+ @Override
+ protected String[][] internalRead() {
analyze_.clear();
final String[][] r = (String[][]) super.internalRead();
- if (r == null || r.length == 0 || r[0].length < 2) {
- analyze_.addFatalError(FSigLib.getS("Le fichier doit contenir 2 champs (X,Y) au minimum"));
+ String error=containsError();
+ if (error!=null) {
+ analyze_.addFatalError(error);
return null;
}
return r;
@@ -136,6 +147,8 @@
public void setInResult(final FSigFileLoadResult _r, final File _f, String _fileOrigine, final ProgressionInterface _prog,
final CtuluAnalyze _analyze) {
+
+ // Lecture du fichier
final XYCsvReader reader = new XYCsvReader();
final CtuluDoubleParser parser = new CtuluDoubleParser();
parser.setEmptyIsNull(true);
@@ -146,38 +159,75 @@
_analyze.merge(op.getAnalyze());
return;
}
- final List lists = CtuluLibArray.getCorrectValueSplit((String[][]) op.getSource(), parser);
- for (int k = 0; k < lists.size(); k++) {
- final TDoubleArrayList[] values = (TDoubleArrayList[]) lists.get(k);
+
+ // Suppression des lignes invalides (X ou Y non Double) et conversion des
+ // String en Double pour les colonnes de ce type.
+ String[][] vals=(String[][]) op.getSource();
+ if (vals.length==0) return;
+
+ ArrayList[] lvals=new ArrayList[vals.length];
+ for (int i=0; i<lvals.length; i++) {
+ lvals[i]=new ArrayList(Arrays.asList(vals[i]));
+ }
+
+ int[] colTypes=reader.getColTypes();
+ for (int i=0; i<lvals.length; i++) {
+ if (colTypes[i] == DodicoCsvReader.COL_TYPE_STRING) {
+ continue;
+ }
- final GISPoint[] pt = new GISPoint[values[0].size()];
- for (int i = pt.length - 1; i >= 0; i--) {
- pt[i] = new GISPoint(values[0].get(i), values[1].get(i), 0);
+ for (int j=0; j < lvals[i].size(); ) {
+ try {
+ lvals[i].set(j,Double.parseDouble((String)lvals[i].get(j)));
+ j++;
+ }
+ catch (NumberFormatException _exc) {
+ for (int k=0; k < lvals.length; k++) {
+ lvals[k].remove(j);
+ }
+ }
}
+ }
- double[][] attValues = null;
- final String[] name = reader.getName();
- GISAttributeInterface[] att = null;
- if (values.length > 2) { // On ne prend pas le x et le y
- att = new GISAttributeInterface[values.length - 2];
- attValues = new double[att.length][];
- for (int i = att.length - 1; i >= 0; i--) {
- final int real = i + 2;
- att[i] = i == 0 ? GISAttributeConstants.BATHY : _r.findOrCreateAttribute(name.length > real ? name[real]
+ // Cr\xE9ation des points
+ final GISPoint[] pt=new GISPoint[lvals[0].size()];
+ for (int i=0; i<pt.length; i++) {
+ pt[i]=new GISPoint((Double) lvals[0].get(i), (Double) lvals[1].get(i), 0);
+ }
+
+ // Cr\xE9ation des attributs
+ List<Object[]> attVals=new ArrayList<Object[]>();
+
+ final String[] name=reader.getName();
+ GISAttributeInterface[] att=new GISAttributeInterface[lvals.length - 2];
+ if (lvals.length > 2) { // On ne prend pas le x et le y
+ for (int i=0; i < att.length; i++) {
+ final int real=i + 2;
+ if (colTypes[real] == DodicoCsvReader.COL_TYPE_STRING) {
+ att[i]=_r.findOrCreateAttribute(name.length > real ? name[real]
+ : "S_" + (i + 1), String.class, true);
+ attVals.add(lvals[real].toArray(new String[0]));
+ }
+ else {
+ att[i]=_r.findOrCreateAttribute(name.length > real ? name[real]
: "V_" + (i + 1), Double.class, true);
- attValues[i] = values[real].toNativeArray();
+ attVals.add(lvals[real].toArray(new Double[0]));
}
- _r.addUsedAttributes(att);
-
}
- _r.nbPoint_ += pt.length;
- _r.nbPointTotal_ += pt.length;
- // Ajout de l'attribut ETAT_GEOM
- _r.findOrCreateAttribute(GISAttributeConstants.ETAT_GEOM.getID(), String.class, false);
- GISDataModelAttributeAdapter adapter = new GISDataModelAttributeAdapter(new GISDataModelListPtAdapter(pt, att, attValues));
- adapter.addAttribut(GISAttributeConstants.ETAT_GEOM, _fileOrigine);
- //
- _r.pointModel_.add(adapter);
+ _r.addUsedAttributes(att);
}
+
+ GISZoneCollectionPoint zone=new GISZoneCollectionPoint();
+ zone.setAttributes(att, null);
+ zone.addAll(pt, attVals, null);
+
+ // Ajout de l'attribut ETAT_GEOM
+ _r.findOrCreateAttribute(GISAttributeConstants.ETAT_GEOM.getID(), String.class, false);
+ GISDataModelAttributeAdapter adapter=new GISDataModelAttributeAdapter(zone);
+ adapter.addAttribut(GISAttributeConstants.ETAT_GEOM, _fileOrigine);
+
+ _r.nbPoint_+=pt.length;
+ _r.nbPointTotal_+=pt.length;
+ _r.pointModel_.add(adapter);
}
}
Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileModel.java
===================================================================
--- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileModel.java 2011-09-09 16:52:21 UTC (rev 6384)
+++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileModel.java 2011-09-09 16:53:14 UTC (rev 6385)
@@ -80,10 +80,12 @@
origines_ = new HashMap<String, String>();
}
+ @Override
protected void actionBeforeRemove(final int _i) {
fileData_.remove(getValueAt(_i));
}
+ @Override
public void addElement(final Object _o) {
if (!fileData_.containsKey(_o)) {
// ajouter le format
@@ -129,10 +131,12 @@
}
}
+ @Override
public int getColumnCount() {
return 4;
}
+ @Override
public String getColumnName(final int _column) {
switch (_column) {
case 0:
@@ -148,6 +152,7 @@
}
}
+ @Override
public Object getValueAt(final int _row, final int _col) {
if (_col == 3) {
return origines_.get(((File) super.getValueAt(_row, 1)).getName());
@@ -158,6 +163,7 @@
return super.getValueAt(_row, _col);
}
+ @Override
public boolean isCellEditable(final int _rowIndex, final int _columnIndex) {
return _columnIndex > 0;
}
@@ -176,6 +182,7 @@
return null;
}
+ @Override
public void setValueAt(final Object _value, final int _rowIndex, final int _columnIndex) {
if (_columnIndex == 3) {
origines_.put(((File) super.getValueAt(_rowIndex, 1)).getName(), (String)_value);
@@ -220,15 +227,16 @@
@Override
public boolean isDataValid() {
- final boolean res = reader.containsError();
- if (res) {
- setErrorText(FSigLib.getS("Le fichier doit contenir 2 champs (X,Y) au minimum."));
+ reader.initFromOption(buildOption());
+ final String res = reader.containsError();
+ if (res!=null) {
+ setErrorText(res);
}
- return !res;
+ return res==null;
}
};
- reader.setNumeric(true);
+ reader.setNumeric(false);
pn.setReader(reader);
if (CtuluDialogPanel.isOkResponse(pn.afficheModale(CtuluLibSwing.getActiveWindow()))) { return pn.buildOption(); }
return null;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-02-23 00:10:28
|
Revision: 8300
http://fudaa.svn.sourceforge.net/fudaa/?rev=8300&view=rev
Author: deniger
Date: 2013-02-23 00:10:08 +0000 (Sat, 23 Feb 2013)
Log Message:
-----------
Modified Paths:
--------------
trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigFileLoaderCsv.java
trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileMng.java
trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileModel.java
Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigFileLoaderCsv.java
===================================================================
--- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigFileLoaderCsv.java 2013-02-22 23:35:17 UTC (rev 8299)
+++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigFileLoaderCsv.java 2013-02-23 00:10:08 UTC (rev 8300)
@@ -11,50 +11,54 @@
*/
package org.fudaa.fudaa.sig.wizard;
-
+import com.memoire.bu.BuFileFilter;
import java.io.File;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import java.util.Map;
-
import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.ctulu.CtuluDoubleParser;
import org.fudaa.ctulu.CtuluIOOperationSynthese;
import org.fudaa.ctulu.CtuluLibString;
import org.fudaa.ctulu.ProgressionInterface;
import org.fudaa.ctulu.gis.GISAttributeConstants;
+import org.fudaa.ctulu.gis.GISAttributeDouble;
import org.fudaa.ctulu.gis.GISAttributeInterface;
import org.fudaa.ctulu.gis.GISDataModelAttributeAdapter;
import org.fudaa.ctulu.gis.GISPoint;
+import org.fudaa.ctulu.gis.GISZoneCollectionPoint;
import org.fudaa.dodico.mesure.DodicoCsvReader;
import org.fudaa.fudaa.commun.FudaaLib;
import org.fudaa.fudaa.sig.FSigLib;
-import com.memoire.bu.BuFileFilter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import org.fudaa.ctulu.gis.GISZoneCollectionPoint;
-
/**
* @author Fred Deniger
* @version $Id: FSigFileLoaderCsv.java,v 1.2 2007-05-04 14:00:26 deniger Exp $
*/
public class FSigFileLoaderCsv implements FSigFileLoaderI {
-
+
final BuFileFilter ft_;
-
+ private GISAttributeDouble firstColonne;
+
public final Map getOptions() {
return options_;
}
-
+
public final void setOptions(final Map _options) {
options_ = _options;
}
+
+ void setFirstColonneAttribute(GISAttributeDouble csvFirstColonne) {
+ this.firstColonne = csvFirstColonne;
+ }
/**
* @author fred deniger
* @version $Id: FSigFileLoaderCsv.java,v 1.2 2007-05-04 14:00:26 deniger Exp $
*/
static final class CsvFileFilter extends BuFileFilter {
+
/**
* @param _filters
* @param _description
@@ -62,12 +66,12 @@
CsvFileFilter(String[] _filters, String _description) {
super(_filters, _description);
}
-
+
@Override
public boolean accept(final File _f) {
return _f != null;
}
-
+
@Override
public boolean accept(final File _d, final String _fn) {
return !new File(_fn).isDirectory();
@@ -79,20 +83,24 @@
* @version $Id: FSigFileLoaderCsv.java,v 1.2 2007-05-04 14:00:26 deniger Exp $
*/
public static class XYCsvReader extends DodicoCsvReader {
-
+
public XYCsvReader() {
setNumeric(false);
setBlankValid(true);
super.minValueByLine_ = 2;
}
-
+
@Override
public String[] getName() {
- if (reader_ == null) { return null; }
+ if (reader_ == null) {
+ return null;
+ }
String[] names = reader_.getName();
if (names == null) {
names = new String[reader_.getNbValues()];
- if (names.length < 2) { return null; }
+ if (names.length < 2) {
+ return null;
+ }
names[0] = "X";
names[1] = "Y";
for (int i = 2; i < names.length; i++) {
@@ -102,58 +110,58 @@
}
return reader_.getName();
}
-
+
public String containsError() {
final String[][] r = getPreview();
if (r == null || r.length == 0 || r[0].length < 2) {
return FSigLib.getS("Le fichier doit contenir 2 champs (X,Y) au minimum");
}
- if (colTypes_==null || colTypes_[0]==DodicoCsvReader.COL_TYPE_STRING ||
- colTypes_[1]==DodicoCsvReader.COL_TYPE_STRING ) {
+ if (colTypes_ == null || colTypes_[0] == DodicoCsvReader.COL_TYPE_STRING
+ || colTypes_[1] == DodicoCsvReader.COL_TYPE_STRING) {
return FSigLib.getS("Les champs (X,Y) doivent \xEAtre de type num\xE9rique");
}
return null;
}
-
+
@Override
protected String[][] internalRead() {
analyze_.clear();
final String[][] r = (String[][]) super.internalRead();
- String error=containsError();
- if (error!=null) {
+ String error = containsError();
+ if (error != null) {
analyze_.addFatalError(error);
return null;
}
return r;
}
-
}
-
+
public FSigFileLoaderCsv() {
- ft_ = new CsvFileFilter(new String[] { "txt", "csv", "*" }, FudaaLib.getS("Fichier csv"));
+ ft_ = new CsvFileFilter(new String[]{"txt", "csv", "*"}, FudaaLib.getS("Fichier csv"));
}
-
Map options_;
-
+
private FSigFileLoaderCsv(final BuFileFilter _ft) {
ft_ = _ft;
}
-
+
@Override
public FSigFileLoaderI createNew() {
- return new FSigFileLoaderCsv(ft_);
+ final FSigFileLoaderCsv fSigFileLoaderCsv = new FSigFileLoaderCsv(ft_);
+ fSigFileLoaderCsv.setFirstColonneAttribute(firstColonne);
+ return fSigFileLoaderCsv;
}
-
+
@Override
public BuFileFilter getFileFilter() {
return ft_;
}
-
+
@Override
public void setInResult(final FSigFileLoadResult _r, final File _f, String _fileOrigine, final ProgressionInterface _prog,
- final CtuluAnalyze _analyze) {
-
+ final CtuluAnalyze _analyze) {
+
// Lecture du fichier
final XYCsvReader reader = new XYCsvReader();
final CtuluDoubleParser parser = new CtuluDoubleParser();
@@ -165,30 +173,31 @@
_analyze.merge(op.getAnalyze());
return;
}
-
+
// Suppression des lignes invalides (X ou Y non Double) et conversion des
// String en Double pour les colonnes de ce type.
- String[][] vals=(String[][]) op.getSource();
- if (vals.length==0) return;
+ String[][] vals = (String[][]) op.getSource();
+ if (vals.length == 0) {
+ return;
+ }
- ArrayList[] lvals=new ArrayList[vals.length];
- for (int i=0; i<lvals.length; i++) {
- lvals[i]=new ArrayList(Arrays.asList(vals[i]));
+ ArrayList[] lvals = new ArrayList[vals.length];
+ for (int i = 0; i < lvals.length; i++) {
+ lvals[i] = new ArrayList(Arrays.asList(vals[i]));
}
- int[] colTypes=reader.getColTypes();
- for (int i=0; i<lvals.length; i++) {
+ int[] colTypes = reader.getColTypes();
+ for (int i = 0; i < lvals.length; i++) {
if (colTypes[i] == DodicoCsvReader.COL_TYPE_STRING) {
continue;
}
-
- for (int j=0; j < lvals[i].size(); ) {
+
+ for (int j = 0; j < lvals[i].size();) {
try {
- lvals[i].set(j,Double.parseDouble((String)lvals[i].get(j)));
+ lvals[i].set(j, Double.parseDouble((String) lvals[i].get(j)));
j++;
- }
- catch (NumberFormatException _exc) {
- for (int k=0; k < lvals.length; k++) {
+ } catch (NumberFormatException _exc) {
+ for (int k = 0; k < lvals.length; k++) {
lvals[k].remove(j);
}
}
@@ -196,44 +205,48 @@
}
// Cr\xE9ation des points
- final GISPoint[] pt=new GISPoint[lvals[0].size()];
- for (int i=0; i<pt.length; i++) {
- pt[i]=new GISPoint((Double) lvals[0].get(i), (Double) lvals[1].get(i), 0);
+ final GISPoint[] pt = new GISPoint[lvals[0].size()];
+ for (int i = 0; i < pt.length; i++) {
+ pt[i] = new GISPoint((Double) lvals[0].get(i), (Double) lvals[1].get(i), 0);
}
// Cr\xE9ation des attributs
- List<Object[]> attVals=new ArrayList<Object[]>();
-
- final String[] name=reader.getName();
- GISAttributeInterface[] att=new GISAttributeInterface[lvals.length - 2];
+ List<Object[]> attVals = new ArrayList<Object[]>();
+
+ final String[] name = reader.getName();
+ GISAttributeInterface[] att = new GISAttributeInterface[lvals.length - 2];
if (lvals.length > 2) { // On ne prend pas le x et le y
- for (int i=0; i < att.length; i++) {
- final int real=i + 2;
+ for (int i = 0; i < att.length; i++) {
+ final int real = i + 2;
+ if (i == 0 && firstColonne != null) {
+ att[i] = firstColonne;
+ attVals.add(lvals[real].toArray(new Double[0]));
+ continue;
+ }
if (colTypes[real] == DodicoCsvReader.COL_TYPE_STRING) {
- att[i]=_r.findOrCreateAttribute(name.length > real ? name[real]
- : "S_" + (i + 1), String.class, true);
+ att[i] = _r.findOrCreateAttribute(name.length > real ? name[real]
+ : "S_" + (i + 1), String.class, true);
attVals.add(lvals[real].toArray(new String[0]));
- }
- else {
- att[i]=_r.findOrCreateAttribute(name.length > real ? name[real]
- : "V_" + (i + 1), Double.class, true);
+ } else {
+ att[i] = _r.findOrCreateAttribute(name.length > real ? name[real]
+ : "V_" + (i + 1), Double.class, true);
attVals.add(lvals[real].toArray(new Double[0]));
}
}
_r.addUsedAttributes(att);
}
-
- GISZoneCollectionPoint zone=new GISZoneCollectionPoint();
+
+ GISZoneCollectionPoint zone = new GISZoneCollectionPoint();
zone.setAttributes(att, null);
zone.addAll(pt, attVals, null);
// Ajout de l'attribut ETAT_GEOM
_r.findOrCreateAttribute(GISAttributeConstants.ETAT_GEOM.getID(), String.class, false);
- GISDataModelAttributeAdapter adapter=new GISDataModelAttributeAdapter(zone);
+ GISDataModelAttributeAdapter adapter = new GISDataModelAttributeAdapter(zone);
adapter.addAttribut(GISAttributeConstants.ETAT_GEOM, _fileOrigine);
-
- _r.nbPoint_+=pt.length;
- _r.nbPointTotal_+=pt.length;
+
+ _r.nbPoint_ += pt.length;
+ _r.nbPointTotal_ += pt.length;
_r.pointModel_.add(adapter);
}
}
Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileMng.java
===================================================================
--- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileMng.java 2013-02-22 23:35:17 UTC (rev 8299)
+++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileMng.java 2013-02-23 00:10:08 UTC (rev 8300)
@@ -7,6 +7,9 @@
*/
package org.fudaa.fudaa.sig.wizard;
+import com.memoire.bu.BuComboBox;
+import com.memoire.bu.BuFileFilter;
+import com.memoire.fu.FuLog;
import java.awt.Color;
import java.awt.Frame;
import java.io.File;
@@ -17,14 +20,12 @@
import java.util.Iterator;
import java.util.List;
import java.util.Map;
-
import javax.swing.DefaultCellEditor;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JFileChooser;
import javax.swing.event.TableModelEvent;
import javax.swing.event.TableModelListener;
import javax.swing.table.TableCellEditor;
-
import org.fudaa.ctulu.CtuluAnalyze;
import org.fudaa.ctulu.ProgressionInterface;
import org.fudaa.ctulu.gis.GISAttributeConstants;
@@ -37,14 +38,10 @@
import org.fudaa.dodico.ef.io.trigrid.TrigridFileFormat;
import org.fudaa.dodico.rubar.io.RubarDATFileFormat;
import org.fudaa.dodico.rubar.io.RubarMAIFileFormat;
+import org.fudaa.fudaa.commun.FudaaPreferences;
import org.fudaa.fudaa.sig.FSigLib;
import org.geotools.data.FileDataStoreFactorySpi;
-import com.memoire.bu.BuComboBox;
-import com.memoire.bu.BuFileFilter;
-import com.memoire.fu.FuLog;
-import org.fudaa.fudaa.commun.FudaaPreferences;
-
/**
* @author Fred Deniger
* @version $Id$
@@ -56,6 +53,7 @@
* @version $Id$
*/
static final class FilterComparator implements Comparator {
+
@Override
public int compare(Object _o1, Object _o2) {
return ((BuFileFilter) _o1).getDescription().compareTo(((BuFileFilter) _o2).getDescription());
@@ -67,6 +65,7 @@
* @version $Id$
*/
static final class FmtRowRenderer extends CtuluCellTextRenderer {
+
@Override
protected void setValue(final Object _value) {
setForeground(_value == null ? Color.RED : Color.BLACK);
@@ -79,6 +78,7 @@
}
static final class FmtRowOrigineRenderer extends CtuluCellTextRenderer {
+
@Override
protected void setValue(final Object _value) {
setForeground(_value == null ? Color.RED : Color.BLACK);
@@ -86,27 +86,25 @@
setText(FSigLib.getS("Non d\xE9fini"));
} else {
String val = FSigLib.getS("Inconnu");
- if((String) _value == GISAttributeConstants.ATT_VAL_ETAT_ORIG)
+ if ((String) _value == GISAttributeConstants.ATT_VAL_ETAT_ORIG) {
val = FSigLib.getS("Origine");
- else if((String) _value == GISAttributeConstants.ATT_VAL_ETAT_MODI)
+ } else if ((String) _value == GISAttributeConstants.ATT_VAL_ETAT_MODI) {
val = FSigLib.getS("Modifi\xE9");
+ }
setText(val);
}
}
}
-
FSigWizardFileModel model_;
-
FSigFileLoadResult res_;
-
- /** Le file chooser pour tous les fichiers. En variable globale pour conserver la derniere op\xE9ration */
+ /**
+ * Le file chooser pour tous les fichiers. En variable globale pour conserver la derniere op\xE9ration
+ */
CtuluFileChooser fileChooser_;
-
public FSigWizardFileMng() {
model_ = buildFmt();
model_.addTableModelListener(new TableModelListener() {
-
@Override
public void tableChanged(final TableModelEvent _e) {
res_ = null;
@@ -192,40 +190,41 @@
/**
* Choisit un fichier a importer.
+ *
* @param _f Le nom du fichier en cas de modification de selection. Peut \xEAtre null.
* @param _frame Le frame parent.
* @return Le filtre et les fichiers selectionn\xE9s (null si pas de fichiers selectionn\xE9s).
*/
FSigWizardFileModel.FileSelectResult startEditingFile(final File _f, final Frame _frame) {
- if (fileChooser_==null) {
+ if (fileChooser_ == null) {
// Recup\xE9ration du dernier format de fichier sauvegard\xE9.
- String fltImport=FudaaPreferences.FUDAA.getStringProperty("filter.import");
- BuFileFilter lastFlt=null;
- fileChooser_=new CtuluFileChooser(true);
- for (int i=0; i<model_.filters_.length; i++) {
+ String fltImport = FudaaPreferences.FUDAA.getStringProperty("filter.import");
+ BuFileFilter lastFlt = null;
+ fileChooser_ = new CtuluFileChooser(true);
+ for (int i = 0; i < model_.filters_.length; i++) {
fileChooser_.addChoosableFileFilter(model_.filters_[i]);
if (model_.filters_[i].getShortDescription().equals(fltImport)) {
fileChooser_.setFileFilter(model_.filters_[i]);
- lastFlt=model_.filters_[i];
+ lastFlt = model_.filters_[i];
}
}
fileChooser_.setDialogType(JFileChooser.OPEN_DIALOG);
- fileChooser_.setFileFilter(lastFlt!=null ? lastFlt:fileChooser_.getAcceptAllFileFilter());
+ fileChooser_.setFileFilter(lastFlt != null ? lastFlt : fileChooser_.getAcceptAllFileFilter());
}
if (_f != null) {
fileChooser_.setSelectedFile(_f);
}
fileChooser_.setMultiSelectionEnabled(_f == null ? true : false);
final FSigWizardFileModel.FileSelectResult r = new FSigWizardFileModel.FileSelectResult();
- if (fileChooser_.showOpenDialog(_frame)==JFileChooser.APPROVE_OPTION) {
+ if (fileChooser_.showOpenDialog(_frame) == JFileChooser.APPROVE_OPTION) {
r.f_ = fileChooser_.getSelectedFiles();
- String fltImport="";
+ String fltImport = "";
if (r.f_ != null && (fileChooser_.getFileFilter() instanceof BuFileFilter)) {
r.ft_ = (BuFileFilter) fileChooser_.getFileFilter();
- fltImport=((BuFileFilter)fileChooser_.getFileFilter()).getShortDescription();
+ fltImport = ((BuFileFilter) fileChooser_.getFileFilter()).getShortDescription();
}
// Sauvegarde du format de fichier pour une prochaine ouverture.
- FudaaPreferences.FUDAA.putStringProperty("filter.import",fltImport);
+ FudaaPreferences.FUDAA.putStringProperty("filter.import", fltImport);
FudaaPreferences.FUDAA.writeIniFile();
}
return r;
@@ -246,7 +245,7 @@
public final CtuluCellTextRenderer getFmtRowRenderer() {
return new FmtRowRenderer();
}
-
+
public final TableCellEditor getFmtRowOrigineEditor() {
return GISAttributeConstants.ETAT_GEOM.getEditor().createTableEditorComponent();
}
@@ -281,6 +280,9 @@
}
String fileOrigine = origines.get(file.getName());
try {
+ if (model instanceof FSigFileLoaderCsv) {
+ ((FSigFileLoaderCsv) model).setFirstColonneAttribute(getModel().getCsvFirstColonne());
+ }
model.setInResult(res_, file, fileOrigine, _prog, _analyze);
} catch (final Exception _e) {
_analyze.addError(_e.getMessage(), -1);
@@ -290,5 +292,4 @@
}
return res_;
}
-
}
Modified: trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileModel.java
===================================================================
--- trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileModel.java 2013-02-22 23:35:17 UTC (rev 8299)
+++ trunk/business/fudaa-sig/src/main/java/org/fudaa/fudaa/sig/wizard/FSigWizardFileModel.java 2013-02-23 00:10:08 UTC (rev 8300)
@@ -1,24 +1,23 @@
package org.fudaa.fudaa.sig.wizard;
+import com.memoire.bu.BuFileFilter;
import java.io.File;
import java.util.HashMap;
import java.util.Map;
-
+import javax.swing.JFileChooser;
import org.fudaa.ctulu.CtuluLibString;
import org.fudaa.ctulu.gis.GISAttributeConstants;
+import org.fudaa.ctulu.gis.GISAttributeDouble;
import org.fudaa.ctulu.gui.CtuluDialogPanel;
+import org.fudaa.ctulu.gui.CtuluFileChooser;
+import org.fudaa.ctulu.gui.CtuluLibSwing;
import org.fudaa.ctulu.gui.CtuluListEditorModel;
import org.fudaa.fudaa.commun.impl.FudaaImportCsvPanel;
import org.fudaa.fudaa.sig.FSigLib;
-import com.memoire.bu.BuFileFilter;
-import javax.swing.JFileChooser;
-import org.fudaa.ctulu.gui.CtuluFileChooser;
-import org.fudaa.ctulu.gui.CtuluLibSwing;
-
/**
* Le modele gerant le fichier.
- *
+ *
* @author Fred Deniger
* @version $Id: FSigWizardFileModel.java,v 1.2 2007-04-30 14:22:39 deniger Exp $
*/
@@ -29,29 +28,24 @@
* @version $Id: FSigWizardFileModel.java,v 1.2 2007-04-30 14:22:39 deniger Exp $
*/
protected final static class FileSelectResult {
+
File[] f_;
-
BuFileFilter ft_;
}
-
final Map fileData_;
-
final Map fmtLoader_;
-
final BuFileFilter[] filters_;
-
final BuFileFilter csv_;
-
// Association entre le nom du fichier et son \xE9tat (d'origine ou non)
private HashMap<String, String> origines_;
/**
* @return Une HashMap Associant le nom du fichier et son \xE9tat (d'origine ou non)
*/
- public HashMap<String, String> getOrigines(){
+ public HashMap<String, String> getOrigines() {
return origines_;
}
-
+
protected FSigFileLoaderI createModel(final BuFileFilter _f) {
if (_f == null) {
return null;
@@ -92,7 +86,17 @@
super.addElement(_o);
}
}
+ private GISAttributeDouble csvFirstColonne;
+ public void setCsvFirstColonne(GISAttributeDouble csvFirstColonne) {
+ this.csvFirstColonne = csvFirstColonne;
+ }
+
+ public GISAttributeDouble getCsvFirstColonne() {
+ return csvFirstColonne;
+ }
+
+
public void addFiles(final FSigWizardFileModel.FileSelectResult _r, final int _i) {
if (_r.f_ != null && _r.f_.length > 0) {
if (_r.ft_ == null) {
@@ -109,9 +113,9 @@
boolean modifyData = false;
if (!fileData_.containsKey(_r.f_[i])) {
modifyData = true;
- if (_i >= 0)
+ if (_i >= 0) {
super.add(_i, _r.f_[i]);
- else {
+ } else {
super.addElement(_r.f_[i]);
super.getRowCount();
}
@@ -121,6 +125,7 @@
if (modifyData || !((FSigFileLoaderI) fileData_.get(_r.f_[i])).getFileFilter().equals(_r.ft_)) {
if (isCsv) {
final FSigFileLoaderCsv csv = (FSigFileLoaderCsv) createModel(csv_);
+ csv.setFirstColonneAttribute(csvFirstColonne);
csv.setOptions(options);
fileData_.put(_r.f_[i], csv);
} else {
@@ -139,16 +144,16 @@
@Override
public String getColumnName(final int _column) {
switch (_column) {
- case 0:
- return FSigLib.getS("N\xB0");
- case 1:
- return FSigLib.getS("Fichier");
- case 2:
- return FSigLib.getS("Format");
- case 3:
- return FSigLib.getS(GISAttributeConstants.ETAT_GEOM.getName());
- default:
- return CtuluLibString.EMPTY_STRING;
+ case 0:
+ return FSigLib.getS("N\xB0");
+ case 1:
+ return FSigLib.getS("Fichier");
+ case 2:
+ return FSigLib.getS("Format");
+ case 3:
+ return FSigLib.getS(GISAttributeConstants.ETAT_GEOM.getName());
+ default:
+ return CtuluLibString.EMPTY_STRING;
}
}
@@ -167,7 +172,6 @@
public boolean isCellEditable(final int _rowIndex, final int _columnIndex) {
return _columnIndex > 0;
}
-
CtuluFileChooser fileChooser;
@Override
@@ -178,14 +182,16 @@
fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
fileChooser.setMultiSelectionEnabled(false);
final int r = fileChooser.showOpenDialog(CtuluLibSwing.getActiveWindow());
- if (r == JFileChooser.APPROVE_OPTION) { return fileChooser.getSelectedFile(); }
+ if (r == JFileChooser.APPROVE_OPTION) {
+ return fileChooser.getSelectedFile();
+ }
return null;
}
@Override
public void setValueAt(final Object _value, final int _rowIndex, final int _columnIndex) {
if (_columnIndex == 3) {
- origines_.put(((File) super.getValueAt(_rowIndex, 1)).getName(), (String)_value);
+ origines_.put(((File) super.getValueAt(_rowIndex, 1)).getName(), (String) _value);
}
if (_columnIndex == 2) {
final FSigFileLoaderI loader = (FSigFileLoaderI) fileData_.get(getValueAt(_rowIndex));
@@ -224,21 +230,22 @@
public static Map loadCsv(final File _f) {
final FSigFileLoaderCsv.XYCsvReader reader = new FSigFileLoaderCsv.XYCsvReader();
final FudaaImportCsvPanel pn = new FudaaImportCsvPanel(_f, false) {
-
@Override
public boolean isDataValid() {
reader.initFromOption(buildOption());
final String res = reader.containsError();
- if (res!=null) {
+ if (res != null) {
setErrorText(res);
}
- return res==null;
+ return res == null;
}
};
reader.setNumeric(false);
pn.setReader(reader);
- if (CtuluDialogPanel.isOkResponse(pn.afficheModale(CtuluLibSwing.getActiveWindow()))) { return pn.buildOption(); }
+ if (CtuluDialogPanel.isOkResponse(pn.afficheModale(CtuluLibSwing.getActiveWindow()))) {
+ return pn.buildOption();
+ }
return null;
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|