From: <de...@us...> - 2015-09-22 22:11:48
|
Revision: 9175 http://sourceforge.net/p/fudaa/svn/9175 Author: deniger Date: 2015-09-22 22:11:45 +0000 (Tue, 22 Sep 2015) Log Message: ----------- CRUE-662 Modified Paths: -------------- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/AbstractLoiCourbeModel.java trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/DefaultLoiTableModel.java trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilSectionLoiTableModel.java trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilSectionLoiUiController.java trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/controller/LayerTraceGisBuilder.java Modified: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/AbstractLoiCourbeModel.java =================================================================== --- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/AbstractLoiCourbeModel.java 2015-09-22 22:09:19 UTC (rev 9174) +++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/AbstractLoiCourbeModel.java 2015-09-22 22:11:45 UTC (rev 9175) @@ -154,7 +154,6 @@ treeSet.add(ptEvolDelta); } - } return true; } @@ -524,7 +523,10 @@ } Arrays.sort(idxToRemove); for (int i = nb - 1; i >= 0; i--) { - lines.remove(idxToRemove[i]); + int idx = idxToRemove[i]; + if (idx < lines.size() && idx >= 0) { + lines.remove(idx); + } } changeDone(); return true; Modified: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/DefaultLoiTableModel.java =================================================================== --- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/DefaultLoiTableModel.java 2015-09-22 22:09:19 UTC (rev 9174) +++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/DefaultLoiTableModel.java 2015-09-22 22:11:45 UTC (rev 9175) @@ -1,19 +1,25 @@ package org.fudaa.fudaa.crue.loi.common; +import java.util.List; import org.apache.commons.lang.StringUtils; +import org.fudaa.ctulu.CtuluCommandComposite; +import org.fudaa.ctulu.CtuluDoubleParser; import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.ctulu.table.CtuluTableExportInterface; import org.fudaa.dodico.crue.config.ccm.PropertyNature; import org.fudaa.ebli.courbe.EGAxe; import org.fudaa.ebli.courbe.EGCourbe; import org.fudaa.ebli.courbe.EGTableGraphePanel; import org.fudaa.ebli.courbe.EGTableGraphePanel.SpecTableModel; +import org.fudaa.ebli.courbe.EGTableModel; +import org.fudaa.ebli.courbe.EGTableModelUpdatable; /** * Etend le tableModel par defaut de ebli-graphe, pour ajouter une colonne indiquant les erreurs/warnings et pour ne réagir qu'au courbe des points. * * @author Frederic Deniger */ -public class DefaultLoiTableModel extends SpecTableModel { +public class DefaultLoiTableModel extends SpecTableModel implements CtuluTableExportInterface, EGTableModelUpdatable { public DefaultLoiTableModel(EGTableGraphePanel graphePanel) { super(graphePanel); @@ -27,6 +33,51 @@ } @Override + public boolean isColumnExportable(int colModel) { + return colModel != 0; + } + + @Override + public int updateLines(final List _tab, final int _selectedColumm, + final int _selectedRow, final CtuluDoubleParser _doubleParser, final CtuluCommandComposite _cmp) { + final int nbLine = _tab.size(); + final int maxUpdate = Math.min(nbLine, getCourbe().getModel().getNbValues() - _selectedRow); + for (int i = 0; i < maxUpdate; i++) { + final List listCell = (List) _tab.get(i); + final int max = Math.min(getRowCount() - _selectedColumm, listCell.size()); + for (int j = 0; j < max; j++) { + final int iCellule = i + _selectedRow; + final int jCellule = j + _selectedColumm; + if (jCellule >= 1) { + final Object o = listCell.get(j); + setValueInModel(o, _doubleParser, iCellule, jCellule, _cmp); + } + } + } + return maxUpdate; + } + + protected void setValueInModel(final Object o, final CtuluDoubleParser _doubleParser, final int iCellule, final int jCellule, + final CtuluCommandComposite _cmp) { + boolean ok = false; + double d = 0; + if (o instanceof Number) { + d = ((Number) o).doubleValue(); + ok = true; + } else if (o != null) { + try { + d = _doubleParser.parse(o.toString()); + ok = true; + } catch (final NumberFormatException e) { + ok = false; + } + } + if (ok) { + setValueAt(d, iCellule, jCellule, _cmp); + } + } + + @Override protected void selectedCourbeChanged(EGCourbe _a) { if (_a == null && getCourbe() == null) { return; Modified: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilSectionLoiTableModel.java =================================================================== --- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilSectionLoiTableModel.java 2015-09-22 22:09:19 UTC (rev 9174) +++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilSectionLoiTableModel.java 2015-09-22 22:11:45 UTC (rev 9175) @@ -3,6 +3,7 @@ */ package org.fudaa.fudaa.crue.loi.section; +import com.memoire.fu.FuEmptyArrays; import gnu.trove.TIntObjectHashMap; import java.util.ArrayList; import java.util.Collections; @@ -10,7 +11,12 @@ import java.util.List; import java.util.Map; import java.util.Set; +import org.apache.commons.lang.StringUtils; +import org.fudaa.ctulu.CtuluCommandComposite; +import org.fudaa.ctulu.CtuluDoubleParser; +import org.fudaa.ctulu.CtuluLibArray; import org.fudaa.ctulu.CtuluListSelection; +import org.fudaa.dodico.crue.common.transformer.TransformerHelper; import org.fudaa.dodico.crue.metier.emh.DonFrt; import org.fudaa.dodico.crue.config.lit.LitNommeLimite; import org.fudaa.ebli.courbe.EGTableGraphePanel; @@ -28,9 +34,11 @@ public static final int COLUMN_FRT = 4; protected String donFrtLimiteLitAsString; protected String donFrtLimiteLitNommeAsString; + private final ProfilSectionLoiUiController profilSectionLoiUiController; - public ProfilSectionLoiTableModel(EGTableGraphePanel graphePanel) { + public ProfilSectionLoiTableModel(EGTableGraphePanel graphePanel, ProfilSectionLoiUiController profilSectionLoiUiController) { super(graphePanel); + this.profilSectionLoiUiController = profilSectionLoiUiController; donFrtLimiteLitAsString = org.openide.util.NbBundle.getMessage(LoiMessages.class, "ProfilSection.DonFrt.LimiteLit"); donFrtLimiteLitNommeAsString = org.openide.util.NbBundle.getMessage(LoiMessages.class, "ProfilSection.DonFrt.LimiteLitNomme"); } @@ -64,10 +72,38 @@ } @Override - public String getColumnName(int _column) { + protected void setValueInModel(final Object o, final CtuluDoubleParser _doubleParser, final int iCellule, final int jCellule, + final CtuluCommandComposite _cmp) { + if (jCellule == COLUMN_ETIQUETTE) { + String etiquettesValue = o == null ? null : o.toString(); + String[] etiquettes = StringUtils.split(etiquettesValue, ";"); + final List<ProfilSectionEtiquette> allEtiquettes = ProfilSectionEtiquette.getEtiquettes(profilSectionLoiUiController.getCcm()); + List<ProfilSectionEtiquette> newEtiquettes = new ArrayList<>(); + final Map<String, ProfilSectionEtiquette> toMapOfString = CtuluLibArray.toMapOfString(allEtiquettes); + for (String etiquette : etiquettes) { + final ProfilSectionEtiquette found = toMapOfString.get(etiquette); + if (found != null) { + newEtiquettes.add(found); + } + } + setEtiquettes(newEtiquettes, iCellule); + + } else if (jCellule == COLUMN_FRT) { + String frt = o == null ? null : o.toString(); + DonFrt toSet = profilSectionLoiUiController.getDonFrtByName(frt); + setValueAt(toSet, iCellule, jCellule); + } else { + super.setValueInModel(o, _doubleParser, iCellule, jCellule, _cmp); + } + } + + @Override + public String + getColumnName(int _column) { if (_column == COLUMN_ETIQUETTE) { return NbBundle.getMessage(LoiMessages.class, "Etiquette.Label"); } + if (_column == COLUMN_FRT) { return NbBundle.getMessage(LoiMessages.class, "DonFrt.Label"); } @@ -77,6 +113,7 @@ @Override public void setValueAt(Object _value, int _rowIndex, int _columnIndex) { if (_columnIndex == COLUMN_ETIQUETTE) { + // ne rien faire ici.setEtiquettes appelé explicitement par le CellEditor. } else if (_columnIndex == COLUMN_FRT) { if (_rowIndex < getCourbe().getModel().getNbValues()) { Modified: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilSectionLoiUiController.java =================================================================== --- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilSectionLoiUiController.java 2015-09-22 22:09:19 UTC (rev 9174) +++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilSectionLoiUiController.java 2015-09-22 22:11:45 UTC (rev 9175) @@ -24,6 +24,7 @@ import org.fudaa.ctulu.CtuluLogLevel; import org.fudaa.ctulu.CtuluNumberFormatDefault; import org.fudaa.dodico.crue.common.io.CrueIOResu; +import org.fudaa.dodico.crue.common.transformer.TransformerHelper; import org.fudaa.dodico.crue.config.ccm.ConfigLoi; import org.fudaa.dodico.crue.config.ccm.CrueConfigMetier; import org.fudaa.dodico.crue.config.ccm.DecimalFormatEpsilonEnum; @@ -187,6 +188,20 @@ } } + protected DonFrt getDonFrtByName(String id) { + if (id == null) { + return null; + } + Map<String, DonFrt> toMapOfId = TransformerHelper.toMapOfId(frt); + DonFrt frt = toMapOfId.get(id.toUpperCase()); + if (frt != null) { + return frt; + } + toMapOfId = TransformerHelper.toMapOfId(frtStockage); + return toMapOfId.get(id.toUpperCase()); + + } + public JLabel getLabelValidating() { return labelValidating; } @@ -330,7 +345,7 @@ @Override protected AbstractTableModel createTableModel() { - return new ProfilSectionLoiTableModel(tableGraphePanel); + return new ProfilSectionLoiTableModel(tableGraphePanel, this); } @Override Modified: trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/controller/LayerTraceGisBuilder.java =================================================================== --- trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/controller/LayerTraceGisBuilder.java 2015-09-22 22:09:19 UTC (rev 9174) +++ trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/controller/LayerTraceGisBuilder.java 2015-09-22 22:11:45 UTC (rev 9175) @@ -195,6 +195,13 @@ Coordinate aval = brancheGis.getCoordinateN(segmentidx + 1); double norm = amont.distance(aval); if (norm == 0) { + if (segmentidx > 0) { + amont = brancheGis.getCoordinateN(segmentidx - 1); + norm = amont.distance(aval); + if (norm == 0) { + return null; + } + } return null; } double vx = aval.x - amont.x; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2015-10-09 19:53:35
|
Revision: 9184 http://sourceforge.net/p/fudaa/svn/9184 Author: deniger Date: 2015-10-09 19:53:32 +0000 (Fri, 09 Oct 2015) Log Message: ----------- CRUE-644 Modified Paths: -------------- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/CourbesUiController.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalCourbesUiResController.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalCourbesUiResController.java trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/services/TableExportCommentSupplier.java Modified: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/CourbesUiController.java =================================================================== --- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/CourbesUiController.java 2015-10-09 19:53:24 UTC (rev 9183) +++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/CourbesUiController.java 2015-10-09 19:53:32 UTC (rev 9184) @@ -203,6 +203,8 @@ toolbar.add(new CourbeVisibiltyUIAction(graphe).buildToolButton(EbliComponentFactory.INSTANCE)); EGTableAction tableAction = (EGTableAction) getActions("TABLE").get(0); tableAction.setAddOptions(false); + tableAction.setAddCheckbox(true); + tableAction.setShowColumnToExport(false); tableAction.setDisplayAll(true); PopupMenuReceiver popupTable = createLoiPoupReceiver(); popupTable.install(tableGraphePanel.getTable(), CtuluUIForNetbeans.DEFAULT); Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalCourbesUiResController.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalCourbesUiResController.java 2015-10-09 19:53:24 UTC (rev 9183) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalCourbesUiResController.java 2015-10-09 19:53:32 UTC (rev 9184) @@ -21,6 +21,8 @@ public ReportLongitudinalCourbesUiResController() { EGTableAction tableAction = (EGTableAction) getActions("TABLE").get(0); tableAction.setAddOptions(false); + tableAction.setAddCheckbox(true); + tableAction.setShowColumnToExport(false); tableAction.setDisplayAll(true); tableAction.setShowLabel(true); setUseVariableForAxeH(true); Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalCourbesUiResController.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalCourbesUiResController.java 2015-10-09 19:53:24 UTC (rev 9183) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalCourbesUiResController.java 2015-10-09 19:53:32 UTC (rev 9184) @@ -21,6 +21,8 @@ public ReportTemporalCourbesUiResController() { EGTableAction tableAction = (EGTableAction) getActions("TABLE").get(0); tableAction.setAddOptions(false); + tableAction.setAddCheckbox(true); + tableAction.setShowColumnToExport(false); tableAction.setDisplayAll(true); tableAction.setShowLabel(true); } Modified: trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/services/TableExportCommentSupplier.java =================================================================== --- trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/services/TableExportCommentSupplier.java 2015-10-09 19:53:24 UTC (rev 9183) +++ trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/services/TableExportCommentSupplier.java 2015-10-09 19:53:32 UTC (rev 9184) @@ -4,10 +4,10 @@ package org.fudaa.fudaa.crue.study.services; import java.util.Arrays; +import java.util.Collections; import java.util.List; import org.fudaa.dodico.crue.common.BusinessMessages; import org.openide.util.Lookup; -import org.openide.util.NbBundle; /** * @@ -23,6 +23,10 @@ } public List<String> getComments(String type) { + //pour tests uniquement + if (crueService == null) { + return Collections.emptyList(); + } if (post) { return Arrays.asList( BusinessMessages.getString("ExportFichierEtu") + ": " + crueService.getEtuFileLoaded().getAbsolutePath(), This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2015-10-09 23:02:48
|
Revision: 9185 http://sourceforge.net/p/fudaa/svn/9185 Author: deniger Date: 2015-10-09 23:02:45 +0000 (Fri, 09 Oct 2015) Log Message: ----------- CRUE-644 Modified Paths: -------------- trunk/soft/fudaa-crue/crue-otfa/src/main/java/org/fudaa/dodico/crue/projet/otfa/OtfaReportExecutorDelegate.java trunk/soft/fudaa-crue/crue-otfa/src/main/java/org/fudaa/dodico/crue/projet/otfa/OtfaReportExecutorDelegateTemporal.java trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/CourbesUiController.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalTimeChooser.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalCourbesUiResController.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalTopComponent.java trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/Bundle.properties trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/data/Bundle.properties trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties Added Paths: ----------- trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/export/ trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/export/ReportExportTemporal.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/data/ReportVariableChooser.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportCourbeExportActionAbstract.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportTemporalExportAction.java Modified: trunk/soft/fudaa-crue/crue-otfa/src/main/java/org/fudaa/dodico/crue/projet/otfa/OtfaReportExecutorDelegate.java =================================================================== --- trunk/soft/fudaa-crue/crue-otfa/src/main/java/org/fudaa/dodico/crue/projet/otfa/OtfaReportExecutorDelegate.java 2015-10-09 19:53:32 UTC (rev 9184) +++ trunk/soft/fudaa-crue/crue-otfa/src/main/java/org/fudaa/dodico/crue/projet/otfa/OtfaReportExecutorDelegate.java 2015-10-09 23:02:45 UTC (rev 9185) @@ -13,7 +13,6 @@ import org.fudaa.dodico.crue.common.BusinessMessages; import org.fudaa.dodico.crue.config.ccm.CrueConfigMetierConstants; import org.fudaa.dodico.crue.config.ccm.DecimalFormatEpsilonEnum; -import org.fudaa.dodico.crue.config.ccm.ItemVariable; import org.fudaa.dodico.crue.config.ccm.PropertyNature; import org.fudaa.dodico.crue.metier.emh.ResultatTimeKey; import org.fudaa.dodico.crue.projet.report.ReportViewLineInfoAndType; Modified: trunk/soft/fudaa-crue/crue-otfa/src/main/java/org/fudaa/dodico/crue/projet/otfa/OtfaReportExecutorDelegateTemporal.java =================================================================== --- trunk/soft/fudaa-crue/crue-otfa/src/main/java/org/fudaa/dodico/crue/projet/otfa/OtfaReportExecutorDelegateTemporal.java 2015-10-09 19:53:32 UTC (rev 9184) +++ trunk/soft/fudaa-crue/crue-otfa/src/main/java/org/fudaa/dodico/crue/projet/otfa/OtfaReportExecutorDelegateTemporal.java 2015-10-09 23:02:45 UTC (rev 9185) @@ -10,11 +10,8 @@ import java.util.List; import java.util.Map; import java.util.Set; -import org.apache.commons.lang.StringUtils; import org.fudaa.ctulu.CtuluLog; import org.fudaa.dodico.crue.common.BusinessMessages; -import org.fudaa.dodico.crue.config.ccm.DecimalFormatEpsilonEnum; -import org.fudaa.dodico.crue.config.ccm.PropertyNature; import org.fudaa.dodico.crue.metier.emh.ResultatTimeKey; import org.fudaa.dodico.crue.projet.report.ReportViewLineInfoAndType; import org.fudaa.dodico.crue.projet.report.data.ReportRunKey; Added: trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/export/ReportExportTemporal.java =================================================================== --- trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/export/ReportExportTemporal.java (rev 0) +++ trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/export/ReportExportTemporal.java 2015-10-09 23:02:45 UTC (rev 9185) @@ -0,0 +1,89 @@ +/* + GPL 2 + */ +package org.fudaa.dodico.crue.projet.report.export; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.fudaa.ctulu.CtuluLibFile; +import org.fudaa.ctulu.CtuluLibString; +import org.fudaa.ctulu.CtuluResource; +import org.fudaa.ctulu.table.CtuluTableXlsxWriter; +import org.fudaa.dodico.crue.common.BusinessMessages; +import org.fudaa.dodico.crue.metier.emh.ResultatTimeKey; +import org.fudaa.dodico.crue.projet.report.ReportResultProviderServiceContrat; +import org.fudaa.dodico.crue.projet.report.data.ReportRunVariableEmhKey; +import org.fudaa.dodico.crue.projet.report.persist.ReportTemporalConfig; + +/** + * + * @author Frederic Deniger + */ +public class ReportExportTemporal { + + private final ReportTemporalConfig config; + private final ReportResultProviderServiceContrat resultService; + private final String name; + + public ReportExportTemporal(ReportTemporalConfig config, ReportResultProviderServiceContrat resultService, String name) { + this.config = config; + this.resultService = resultService; + this.name = name; + } + + public void export(List<ReportRunVariableEmhKey> variablesToExport, List<ResultatTimeKey> times, File target) { + Workbook wb = new XSSFWorkbook(); + writeInBook(wb, variablesToExport, times); + writeToFile(wb, target); + + } + + protected void writeInBook(Workbook wb, List<ReportRunVariableEmhKey> variablesToExport, List<ResultatTimeKey> times) { + String sheetName = name; + if (sheetName == null) { + sheetName = CtuluResource.CTULU.getString("Feuille {0}", CtuluLibString.getString(1)); + } + Sheet currentSheet = wb.createSheet(sheetName); + //Titres + int rowIdx = 0; + Row row = currentSheet.createRow(rowIdx++); + int idx = 0; + row.createCell(idx++).setCellValue(BusinessMessages.getString("Export.Calcul.ColumnName")); + row.createCell(idx++).setCellValue(BusinessMessages.getString("Export.Temps.ColumnName")); + for (ReportRunVariableEmhKey variable : variablesToExport) { + row.createCell(idx++).setCellValue(variable.getRunVariableKey().getVariable().getVariableDisplayName() + "-" + variable.getEmhName()); + } + for (ResultatTimeKey time : times) { + idx = 0; + row = currentSheet.createRow(rowIdx++); + row.createCell(idx++).setCellValue(time.getNomCalcul()); + row.createCell(idx++).setCellValue(time.getTemps()); + for (ReportRunVariableEmhKey variable : variablesToExport) { + Double val = resultService.getValue(time, variable.getRunVariableKey(), variable.getEmhName()); + row.createCell(idx++).setCellValue(val.doubleValue()); + } + + } + } + + protected void writeToFile(Workbook wb, File target) { + FileOutputStream fileOut = null; + try { + fileOut = new FileOutputStream(target); + wb.write(fileOut); + fileOut.close(); + } catch (IOException ex) { + Logger.getLogger(CtuluTableXlsxWriter.class.getName()).log(Level.SEVERE, null, ex); + } finally { + CtuluLibFile.close(fileOut); + } + } +} Modified: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/CourbesUiController.java =================================================================== --- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/CourbesUiController.java 2015-10-09 19:53:32 UTC (rev 9184) +++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/CourbesUiController.java 2015-10-09 23:02:45 UTC (rev 9185) @@ -45,90 +45,90 @@ * @author Frederic Deniger */ public class CourbesUiController implements CtuluImageProducer { - + protected EGFillePanel panel; protected EGTableGraphePanel tableGraphePanel; protected EGAxeHorizontal axeH; protected JPanel toolbar; protected boolean useVariableForAxeH; protected List<EbliActionInterface> editCourbeActions = new ArrayList<EbliActionInterface>(); - + protected void configureTablePanel() { tableGraphePanel.getTable().setModel(createTableModel()); tableGraphePanel.setPreferredSize(new Dimension(300, 600)); new LoiTimeExportDecorator(tableGraphePanel.getTable()); } - + public boolean isUseVariableForAxeH() { return useVariableForAxeH; } - + public void setUseVariableForAxeH(boolean useVariableForAxeH) { this.useVariableForAxeH = useVariableForAxeH; } - + public void installComboxSelector() { tableGraphePanel.getTitleLabel().setVisible(false); tableGraphePanel.remove(tableGraphePanel.getTitleLabel()); ComboboxCourbeSelector cb = new ComboboxCourbeSelector(getGraphe()); tableGraphePanel.add(cb.getCb(), BorderLayout.NORTH); - + } - + public EGGrapheSimpleModel getEGGrapheSimpleModel() { return (EGGrapheSimpleModel) getGraphe().getModel(); } - + public EGTableGraphePanel getTableGraphePanel() { return tableGraphePanel; } - + public EGAxeHorizontal getAxeX() { return getEGGrapheSimpleModel().getAxeX(); } - + public List<EGAxeVertical> getAxesY() { return getGraphe().getAllAxeVertical(); } - + @Override public BufferedImage produceImage(final Map _params) { return panel.produceImage(_params); - + } - + @Override public BufferedImage produceImage(int _w, int _h, Map _params) { return panel.produceImage(_w, _h, _params); } - + @Override public Dimension getDefaultImageDimension() { return panel.getDefaultImageDimension(); } - + public void addExportImagesToToolbar() { toolbar.add(new ExportImageAction(panel).buildToolButton(EbliComponentFactory.INSTANCE)); toolbar.add(new ExportImageToClipboardAction(panel).buildToolButton(EbliComponentFactory.INSTANCE)); } - + public JPanel getToolbar() { return toolbar; } - + public EGFillePanel getPanel() { return panel; } - + public EGGraphe getGraphe() { return panel.getGraphe(); } - + public void removeEditActions() { tableGraphePanel.removeEditButtonsButCopy(); removeActions("MOVE_POINT", "SIMPLIFY"); } - + public void removeActions(String... actionCommands) { if (toolbar != null) { Set<String> command = new HashSet<String>(Arrays.asList(actionCommands)); @@ -140,12 +140,12 @@ toolbar.remove(component); } } - + } } - + } - + public List<EbliActionInterface> getActions(String... command) { EbliActionInterface[] specificActions = panel.getSpecificActions(); List<EbliActionInterface> res = new ArrayList<EbliActionInterface>(); @@ -161,11 +161,11 @@ } return res; } - + public List<EbliActionInterface> getEditActions() { return getActions("CONFIGURE", "CONFIGURE_REPERE"); } - + public CourbesUiController() { final EGGrapheSimpleModel grapheModel = new LoiGrapheSimpleModel(); axeH = new EGAxeHorizontal(); @@ -212,21 +212,25 @@ popupGraphe.setEditEnable(true); popupGraphe.install(panel.getGraphe(), tableGraphePanel.getTable(), CtuluUIForNetbeans.DEFAULT); } + + public void addToolbarAction(EbliActionInterface action) { + toolbar.add(action.buildToolButton(EbliComponentFactory.INSTANCE), toolbar.getComponentCount() - 2); + } protected boolean editable; - + public void setEditable(boolean b) { editable = b; tableGraphePanel.updateState(); for (EbliActionInterface ebliActionInterface : editCourbeActions) { ebliActionInterface.setEnabled(b); - + } } - + protected AbstractTableModel createTableModel() { return new EGTableGraphePanel.SpecTableModel(tableGraphePanel); } - + public void configureAxeH(final PropertyNature natureAbscisse, boolean usePresentation) { if (natureAbscisse == null) { return; @@ -237,7 +241,7 @@ axeH.setUnite(natureAbscisse.getUnite()); installFormatter(natureAbscisse, axeH, usePresentation); } - + public void configureAxeH(final ItemVariable varAbscisse, boolean usePresentation) { if (varAbscisse == null) { return; @@ -246,15 +250,15 @@ axeH.setTitre(varAbscisse.getDisplayNom()); axeH.setUserObject(varAbscisse); } - + public EGAxeVertical findAxe(final ItemVariable varOrdonnee) { if (varOrdonnee == null) { return null; } return findAxe(varOrdonnee.getNature()); - + } - + public EGAxeVertical findAxe(final PropertyNature nature) { if (nature == null) { return null; @@ -267,15 +271,15 @@ } return null; } - + public EGAxeVertical createAxeVertical(final ItemVariable varOrdonnee, boolean usePresentation) { if (varOrdonnee == null) { return null; } return createAxeVertical(varOrdonnee.getNature(), usePresentation); - + } - + public EGAxeVertical createAxeVertical(final PropertyNature nature, boolean usePresentation) { EGAxeVertical axeV = null; if (nature != null) { @@ -289,7 +293,7 @@ installFormatter(nature, axeV, usePresentation); return axeV; } - + public void setAxeHSpecificFormats(CtuluNumberFormatI mainFormat, CtuluNumberFormatI detailFormat, final CtuluValueEditorI _valueEditor) { if (getAxeX() != null) { getAxeX().setSpecificFormat(mainFormat); @@ -297,10 +301,10 @@ getAxeX().setValueEditor(_valueEditor); } } - + protected void installFormatter(final PropertyNature var, EGAxe axe, boolean usePresentation) { if (var != null) { - + if (var.isEnum()) { axe.setSpecificFormat(new EnumNumberFormatter(var)); axe.setAxisIterator(new FixedIntegerIterator(var.getItemEnumByValue().keys())); @@ -318,7 +322,7 @@ } axe.setUserObject(var); } - + public LoiPopupMenuReceiver createLoiPoupReceiver() { return new LoiPopupMenuReceiver(panel); } @@ -338,7 +342,7 @@ configureAxeH(varAbscisse.getNature(), usePresentationFormat); } } - + public void initAxeWithDuration(final PropertyNature var, EGAxe axe) { final ToStringTransformerSecond toStringTransformerSecond = new ToStringTransformerSecond(); final CtuluNumberFormatDefault toSecondFormat = new CtuluNumberFormatDefault(var.getFormatter(DecimalFormatEpsilonEnum.COMPARISON)); Added: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/data/ReportVariableChooser.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/data/ReportVariableChooser.java (rev 0) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/data/ReportVariableChooser.java 2015-10-09 23:02:45 UTC (rev 9185) @@ -0,0 +1,97 @@ +/* + GPL 2 + */ +package org.fudaa.fudaa.crue.report.data; + +import com.jidesoft.swing.CheckBoxList; +import java.awt.BorderLayout; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.Set; +import javax.swing.JCheckBox; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import org.fudaa.dodico.crue.projet.report.data.ReportRunKey; +import org.fudaa.dodico.crue.projet.report.data.ReportRunVariableEmhKey; +import org.fudaa.dodico.crue.projet.report.data.ReportVariableKey; +import org.fudaa.fudaa.crue.common.PerspectiveEnum; +import org.fudaa.fudaa.crue.common.helper.CheckBoxListPopupListener; +import org.fudaa.fudaa.crue.common.helper.DialogHelper; +import org.fudaa.fudaa.crue.report.longitudinal.ReportLongitudinalTimeChooser; +import org.fudaa.fudaa.crue.report.service.ReportResultProviderService; +import org.openide.util.NbBundle; + +/** + * + * @author Frederic Deniger + */ +public class ReportVariableChooser { + + private final List<String> choosableVariables; + private final Set<String> currentSelected; + + public ReportVariableChooser(List<String> choosableVariables, Set<String> currentSelected) { + this.choosableVariables = choosableVariables; + this.currentSelected = currentSelected; + } + + public List<ReportRunVariableEmhKey> getKeysForCurrentRun(ReportResultProviderService reportService, List<String> variables, List<String> emhs) { + List<ReportRunVariableEmhKey> res = new ArrayList<>(); + if (variables != null) { + for (String variable : variables) { + final ReportVariableKey createVariableKey = reportService.createVariableKey(variable); + for (String emh : emhs) { + ReportRunVariableEmhKey key = new ReportRunVariableEmhKey(reportService.getReportService().getCurrentRunKey(), createVariableKey, emh); + res.add(key); + } + } + } + return res; + + } + + public List<String> choose() { + final CheckBoxList list = new CheckBoxList(choosableVariables.toArray()); + for (int i = 0; i < choosableVariables.size(); i++) { + if (currentSelected.contains(choosableVariables.get(i))) { + list.addSelectionInterval(i, i); + } + + } + list.setCellRenderer(new ReportVariableCellRenderer()); + new CheckBoxListPopupListener(list); + JPanel pn = new JPanel(new BorderLayout(0, 5)); + final JCheckBox selectAll = new JCheckBox(NbBundle.getMessage(ReportLongitudinalTimeChooser.class, "ChooseTime.SelectAllNone")); + selectAll.addItemListener(new ItemListener() { + + @Override + public void itemStateChanged(ItemEvent e) { + boolean select = selectAll.isSelected(); + if (select) { + list.selectAll(); + } else { + list.selectNone(); + } + } + }); + pn.add(new JScrollPane(list)); + pn.add(selectAll, BorderLayout.NORTH); + String title = org.openide.util.NbBundle.getMessage(ReportVariableChooser.class, "ReportVariableChooser.DialogTitle"); + boolean ok = DialogHelper.showQuestionAndSaveDialogConf(title, pn, getClass()); + if (ok) { + final Object[] checkBoxListSelectedValues = list.getCheckBoxListSelectedValues(); + List<String> res = new ArrayList<>(); + for (Object checkBoxListSelectedValue : checkBoxListSelectedValues) { + res.add((String) checkBoxListSelectedValue); + } + return res; + } + return Collections.emptyList(); + + } + +} Added: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportCourbeExportActionAbstract.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportCourbeExportActionAbstract.java (rev 0) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportCourbeExportActionAbstract.java 2015-10-09 23:02:45 UTC (rev 9185) @@ -0,0 +1,48 @@ +/* + GPL 2 + */ +package org.fudaa.fudaa.crue.report.export; + +import com.memoire.bu.BuResource; +import java.io.File; +import org.fudaa.ctulu.gui.CtuluExportTableChooseFile; +import org.fudaa.ctulu.gui.CtuluFileChooserCsvExcel; +import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.fudaa.crue.common.helper.CrueProgressUtils; +import org.fudaa.fudaa.crue.common.helper.CtuluUIForNetbeans; +import org.fudaa.fudaa.crue.common.helper.DialogHelper; +import org.fudaa.fudaa.crue.report.AbstractReportTimeViewTopComponent; +import org.netbeans.api.progress.ProgressRunnable; + +/** + * + * @author Frederic Deniger + */ +public abstract class ReportCourbeExportActionAbstract<T extends AbstractReportTimeViewTopComponent> extends EbliActionSimple { + + protected final T topComponent; + + public ReportCourbeExportActionAbstract(T topComponent) { + super(org.openide.util.NbBundle.getMessage(ReportCourbeExportActionAbstract.class, "ExportAll.Action"), BuResource.BU.getToolIcon("exporter"), + "EXPORT"); + setDefaultToolTip(org.openide.util.NbBundle.getMessage(ReportCourbeExportActionAbstract.class, "ExportAll.Tootltip")); + this.topComponent = topComponent; + } + + protected File chooseTargetFile() { + final CtuluFileChooserCsvExcel choose = new CtuluFileChooserCsvExcel(CtuluUIForNetbeans.DEFAULT); + choose.removeChoosableFileFilter(choose.getFtCsv()); + choose.removeChoosableFileFilter(choose.getFtXsl()); + final File f = new CtuluExportTableChooseFile(choose).chooseExportFile(); + return f; + } + + protected void execute(ProgressRunnable<Boolean> runnable, File f) { + Boolean res = CrueProgressUtils.showProgressDialogAndRun(runnable, getTitle()); + if (Boolean.TRUE.equals(res)) { + DialogHelper.showNotifyOperationTermine(getTitle(), org.openide.util.NbBundle.getMessage(ReportTemporalExportAction.class, "ExportEnded", f. + getAbsolutePath())); + } + } + +} Added: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportTemporalExportAction.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportTemporalExportAction.java (rev 0) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportTemporalExportAction.java 2015-10-09 23:02:45 UTC (rev 9185) @@ -0,0 +1,67 @@ +/* + GPL 2 + */ +package org.fudaa.fudaa.crue.report.export; + +import java.awt.event.ActionEvent; +import java.io.File; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import org.fudaa.dodico.crue.metier.emh.ResultatTimeKey; +import org.fudaa.dodico.crue.projet.report.data.ReportRunContent; +import org.fudaa.dodico.crue.projet.report.data.ReportRunVariableEmhKey; +import org.fudaa.dodico.crue.projet.report.export.ReportExportTemporal; +import org.fudaa.fudaa.crue.report.data.ReportVariableChooser; +import org.fudaa.fudaa.crue.report.service.ReportResultProviderService; +import org.fudaa.fudaa.crue.report.temporal.ReportTemporalTopComponent; +import org.netbeans.api.progress.ProgressHandle; +import org.netbeans.api.progress.ProgressRunnable; +import org.openide.util.Lookup; + +/** + * + * @author Frederic Deniger + */ +public class ReportTemporalExportAction extends ReportCourbeExportActionAbstract<ReportTemporalTopComponent> { + + public ReportTemporalExportAction(ReportTemporalTopComponent topComponent) { + super(topComponent); + } + + @Override + public void actionPerformed(ActionEvent _e) { + final List<String> choosableVariables = new ArrayList<>(Arrays.asList(topComponent.getChoosableVariables())); + choosableVariables.remove(null); + final Set<String> selectedVariables = new HashSet<>(topComponent.getReportConfig().getVariables()); + ReportVariableChooser variableChooser = new ReportVariableChooser(choosableVariables, selectedVariables); + final List<String> toExport = variableChooser.choose(); + if (!toExport.isEmpty()) { + final ReportResultProviderService reportResultProviderService = Lookup.getDefault().lookup(ReportResultProviderService.class); + final List<ResultatTimeKey> selectedTimeKeys = reportResultProviderService.getReportService().getRangeSelectedTimeKeys(); + final List<ReportRunVariableEmhKey> variablesKeys = variableChooser.getKeysForCurrentRun(reportResultProviderService, toExport, topComponent. + getReportConfig().getEmhs()); + + final File f = chooseTargetFile(); + if (f != null) { + ProgressRunnable runnable = new ProgressRunnable<Boolean>() { + + @Override + public Boolean run(ProgressHandle handle) { + final ReportRunContent runCourant = reportResultProviderService.getRunCourant(); + String currentRunName = runCourant.getScenario().getNom() + "-" + runCourant.getRun().getNom(); + ReportExportTemporal exporter = new ReportExportTemporal(topComponent.getReportConfig(), reportResultProviderService, currentRunName); + exporter.export(variablesKeys, selectedTimeKeys, f); + return Boolean.TRUE; + } + }; + execute(runnable, f); + + } + + } + } + +} Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalTimeChooser.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalTimeChooser.java 2015-10-09 19:53:32 UTC (rev 9184) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalTimeChooser.java 2015-10-09 23:02:45 UTC (rev 9185) @@ -64,8 +64,7 @@ }); pn.add(new JScrollPane(list)); pn.add(selectAll, BorderLayout.NORTH); - String title = org.openide.util.NbBundle.getMessage(ReportLongitudinalTimeChooser.class, "ChooseTime.DialogTitle", - "vueProfilLongitudinalConfigurationPasDeTemps", PerspectiveEnum.REPORT); + String title = org.openide.util.NbBundle.getMessage(ReportLongitudinalTimeChooser.class, "ChooseTime.DialogTitle"); boolean ok = DialogHelper.showQuestionAndSaveDialogConf(title, pn, getClass(), "vueProfilLongitudinal_ConfigurationPasDeTemps", PerspectiveEnum.REPORT, true); if (ok) { Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalCourbesUiResController.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalCourbesUiResController.java 2015-10-09 19:53:32 UTC (rev 9184) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalCourbesUiResController.java 2015-10-09 23:02:45 UTC (rev 9185) @@ -25,6 +25,7 @@ tableAction.setShowColumnToExport(false); tableAction.setDisplayAll(true); tableAction.setShowLabel(true); + } @Override Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalTopComponent.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalTopComponent.java 2015-10-09 19:53:32 UTC (rev 9184) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalTopComponent.java 2015-10-09 23:02:45 UTC (rev 9185) @@ -1,5 +1,6 @@ package org.fudaa.fudaa.crue.report.temporal; +import org.fudaa.fudaa.crue.report.export.ReportTemporalExportAction; import org.fudaa.dodico.crue.projet.report.persist.ReportTemporalConfig; import com.memoire.bu.BuGridLayout; import java.awt.BorderLayout; @@ -12,6 +13,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import java.util.MissingResourceException; import java.util.Set; import javax.swing.JComboBox; import javax.swing.JLabel; @@ -113,6 +115,7 @@ @Override protected CourbesUiResController createCourbesUiController() { CourbesUiResController res = new ReportTemporalCourbesUiResController(); + res.addToolbarAction(new ReportTemporalExportAction(this)); return res; } @@ -181,15 +184,7 @@ } public void chooseVariable() { - EnumCatEMH usedCat = ChooseEMHByTypeHelper.getUsedCat(reportService, content.getEmhs()); - if (CollectionUtils.isNotEmpty(content.getEmhs()) - && usedCat == null) { - DialogHelper.showWarn(org.openide.util.NbBundle.getMessage(ChooseEMHByTypeHelper.class, "UsedEMHNotFound.warning")); - } - OrdResExtractor extractor = new OrdResExtractor(getScenario().getOrdResScenario()); - List<String> selectedVariables = extractor.getSelectableVariables(usedCat, reportFormuleService.getVariablesKeys()); - selectedVariables.add(0, null); - String[] selectedVariablesArray = (String[]) selectedVariables.toArray(new String[selectedVariables.size()]); + String[] selectedVariablesArray = getChoosableVariables(); ReportVariableCellRenderer cellRenderer = new ReportVariableCellRenderer(); ByRunSelector selector = new ByRunSelector(); @@ -231,7 +226,7 @@ } } } - + boolean accepted = DialogHelper.showQuestionOkCancel(NbBundle.getMessage(ReportTemporalTopComponent.class, "ChooseVariable.ButtonName"), pn); if (accepted) { content.getVariables().clear(); @@ -273,6 +268,19 @@ } } + public String[] getChoosableVariables() throws MissingResourceException { + EnumCatEMH usedCat = ChooseEMHByTypeHelper.getUsedCat(reportService, content.getEmhs()); + if (CollectionUtils.isNotEmpty(content.getEmhs()) + && usedCat == null) { + DialogHelper.showWarn(org.openide.util.NbBundle.getMessage(ChooseEMHByTypeHelper.class, "UsedEMHNotFound.warning")); + } + OrdResExtractor extractor = new OrdResExtractor(getScenario().getOrdResScenario()); + List<String> selectedVariables = extractor.getSelectableVariables(usedCat, reportFormuleService.getVariablesKeys()); + selectedVariables.add(0, null); + String[] selectedVariablesArray = (String[]) selectedVariables.toArray(new String[selectedVariables.size()]); + return selectedVariablesArray; + } + @Override protected void saveCourbeConfig(EGCourbePersist persitUiConfig, ReportKeyContract key) { if (ReportVerticalTimeKey.isTimeKey(key)) { Modified: trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/Bundle.properties =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/Bundle.properties 2015-10-09 19:53:32 UTC (rev 9184) +++ trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/Bundle.properties 2015-10-09 23:02:45 UTC (rev 9185) @@ -51,3 +51,4 @@ formuleCyclesDetected.error=<html><body>La vue n''a pas \u00e9t\u00e9 valid\u00e9e. Des cycles ont \u00e9t\u00e9 d\u00e9tect\u00e9s pour:<ul>{0}</ul></body></html> button.export.name=Exporter viewManager.columnName=Rapports + Modified: trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/data/Bundle.properties =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/data/Bundle.properties 2015-10-09 19:53:32 UTC (rev 9184) +++ trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/data/Bundle.properties 2015-10-09 23:02:45 UTC (rev 9185) @@ -1 +1,2 @@ -Variable.NoSelection=Vide \ No newline at end of file +Variable.NoSelection=Vide +ReportVariableChooser.DialogTitle=Choisir les variables Modified: trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties 2015-10-09 19:53:32 UTC (rev 9184) +++ trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties 2015-10-09 23:02:45 UTC (rev 9185) @@ -12,4 +12,7 @@ Export.OperationFinish=Exportation termin\u00e9e: {0} ReportExportNodeAction.DisplayName=Exporter Export.ChooseFile.LabelName=Fichier CSV: -DefaultExportType=type export: action exporter perspective Rapports \ No newline at end of file +DefaultExportType=type export: action exporter perspective Rapports +ExportAll.Action=Exporter\n +ExportAll.Tootltip=Export en masse +ExportEnded=Export termin\u00e9 vers le fichier {0} \ 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...> - 2015-10-14 22:13:06
|
Revision: 9190 http://sourceforge.net/p/fudaa/svn/9190 Author: deniger Date: 2015-10-14 22:13:03 +0000 (Wed, 14 Oct 2015) Log Message: ----------- CRUE-644 Modified Paths: -------------- trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/export/ReportExportProfilLongitudinal.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/data/ReportVariableChooser.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportCourbeExportActionAbstract.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportLongitudinalExportAction.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportMulitVarExportAction.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportProfilLongitudinalTopComponent.java trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties Modified: trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/export/ReportExportProfilLongitudinal.java =================================================================== --- trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/export/ReportExportProfilLongitudinal.java 2015-10-13 21:03:58 UTC (rev 9189) +++ trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/export/ReportExportProfilLongitudinal.java 2015-10-14 22:13:03 UTC (rev 9190) @@ -21,6 +21,7 @@ import org.fudaa.dodico.crue.config.ccm.DecimalFormatEpsilonEnum; import org.fudaa.dodico.crue.config.ccm.ItemEnum; import org.fudaa.dodico.crue.config.ccm.ItemVariable; +import org.fudaa.dodico.crue.config.ccm.PropertyNature; import org.fudaa.dodico.crue.config.lit.LitNommeLimite; import org.fudaa.dodico.crue.config.lit.ReportLongitudinalLimitHelper; import org.fudaa.dodico.crue.metier.emh.CatEMHSection; @@ -89,7 +90,8 @@ for (ResultatTimeKey time : times) { for (ReportRunVariableKey variable : variablesToExport) { row.createCell(idx++).setCellValue( - variable.getDisplayName() + " - " + ResultatTimeKey.timeToString(time) + " - " + variable.getReportRunKey().getDisplayName()); + variable.getVariable().getVariableDisplayName() + " - " + ResultatTimeKey.timeToString(time) + " - " + variable.getReportRunKey(). + getDisplayName()); } } final List<ReportLongitudinalBrancheConfig> branchesConfig = content.getBranchesConfig(); @@ -110,8 +112,9 @@ final List<ReportLongitudinalBrancheCartouche> cartouches = result.getCartouches(); //les styles commun final CellStyle xpStyle = formater.getStyle(propertyXp.getNature(), DecimalFormatEpsilonEnum.COMPARISON); + final PropertyNature natureForZ = resultService.getCcm().getProperty(CrueConfigMetierConstants.PROP_Z).getNature(); final CellStyle zStyle = formater. - getStyle(resultService.getCcm().getNature(CrueConfigMetierConstants.PROP_Z), DecimalFormatEpsilonEnum.COMPARISON); + getStyle(natureForZ, DecimalFormatEpsilonEnum.COMPARISON); for (ReportLongitudinalBrancheCartouche cartouche : cartouches) { final ReportLongitudinalPositionSectionByRun sectionPositions = cartouche.getSectionPositions(runCourant); final List<ReportLongitudinalPositionSection> sectionDisplayPositions = sectionPositions.getSectionDisplayPositions(); Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/data/ReportVariableChooser.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/data/ReportVariableChooser.java 2015-10-13 21:03:58 UTC (rev 9189) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/data/ReportVariableChooser.java 2015-10-14 22:13:03 UTC (rev 9190) @@ -38,7 +38,8 @@ this.currentSelected = currentSelected; } - public List<ReportRunVariableEmhKey> getKeysForCurrentRun(ReportResultProviderService reportService, List<String> variables, List<String> emhs) { + public static List<ReportRunVariableEmhKey> getKeysForCurrentRun(ReportResultProviderService reportService, List<String> variables, + List<String> emhs) { List<ReportRunVariableEmhKey> res = new ArrayList<>(); if (variables != null) { for (String variable : variables) { @@ -53,14 +54,14 @@ } - public List<ReportRunVariableEmhKey> getKeysForRuns(ReportResultProviderService reportService, List<String> variables, List<String> emhs, + public static List<ReportRunVariableEmhKey> getKeysForRuns(ReportResultProviderService reportService, List<String> variables, List<String> emhs, List<ReportRunKey> runkeys) { List<ReportRunVariableEmhKey> res = new ArrayList<>(); if (variables != null) { - for (String variable : variables) { - final ReportVariableKey createVariableKey = reportService.createVariableKey(variable); + for (ReportRunKey runkey : runkeys) { for (String emh : emhs) { - for (ReportRunKey runkey : runkeys) { + for (String variable : variables) { + final ReportVariableKey createVariableKey = reportService.createVariableKey(variable); ReportRunVariableEmhKey key = new ReportRunVariableEmhKey(runkey, createVariableKey, emh); res.add(key); } Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportCourbeExportActionAbstract.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportCourbeExportActionAbstract.java 2015-10-13 21:03:58 UTC (rev 9189) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportCourbeExportActionAbstract.java 2015-10-14 22:13:03 UTC (rev 9190) @@ -11,6 +11,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.ctulu.gui.CtuluExportTableChooseFile; import org.fudaa.ctulu.gui.CtuluFileChooserCsvExcel; import org.fudaa.dodico.crue.metier.comparator.ObjetNommeByNameComparator; @@ -61,10 +62,7 @@ @Override public void actionPerformed(ActionEvent _e) { - final List<String> choosableVariables = getChoosableVariables(); - final Set<String> selectedVariables = getCurrentSelectedVariables(); - ReportVariableChooser variableChooser = new ReportVariableChooser(choosableVariables, selectedVariables); - final List<String> toExport = variableChooser.choose(); + List<String> toExport = chooseVariables(); if (!toExport.isEmpty()) { //on récupère tous les runs configurés pour la vue en question. final ReportResultProviderService reportResultProviderService = Lookup.getDefault().lookup(ReportResultProviderService.class); @@ -75,11 +73,21 @@ keys.addAll(runKey); Collections.sort(keys, ObjetNommeByNameComparator.INSTANCE); final List<ResultatTimeKey> selectedTimeKeys = reportResultProviderService.getReportService().getRangeSelectedTimeKeys(); - final List<ReportRunVariableEmhKey> variablesKeys = variableChooser.getKeysForRuns(reportResultProviderService, toExport, + final List<ReportRunVariableEmhKey> variablesKeys = ReportVariableChooser.getKeysForRuns(reportResultProviderService, toExport, ReportCourbeExportActionAbstract.this.getEMHs(), keys); final File f = chooseTargetFile(); if (f != null) { + String error = CtuluLibFile.canWrite(f); + if (error == null && f.exists() && !f.delete()) { + error = org.openide.util.NbBundle.getMessage(ReportCourbeExportActionAbstract.class, "cantWriteToFileUsedByAnotherProcess.error"); + } + if (error != null) { + DialogHelper.showError(org.openide.util.NbBundle.getMessage(ReportCourbeExportActionAbstract.class, "cantWriteToFile.error", f.getName(), + error)); + return; + + } ProgressRunnable runnable = new ProgressRunnable<Boolean>() { @Override @@ -96,6 +104,14 @@ } } + protected List<String> chooseVariables() { + final List<String> choosableVariables = getChoosableVariables(); + final Set<String> selectedVariables = getCurrentSelectedVariables(); + ReportVariableChooser variableChooser = new ReportVariableChooser(choosableVariables, selectedVariables); + final List<String> toExport = variableChooser.choose(); + return toExport; + } + protected File chooseTargetFile() { final CtuluFileChooserCsvExcel choose = new CtuluFileChooserCsvExcel(CtuluUIForNetbeans.DEFAULT); choose.removeChoosableFileFilter(choose.getFtCsv()); Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportLongitudinalExportAction.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportLongitudinalExportAction.java 2015-10-13 21:03:58 UTC (rev 9189) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportLongitudinalExportAction.java 2015-10-14 22:13:03 UTC (rev 9190) @@ -11,11 +11,13 @@ import java.util.List; import java.util.Set; import java.util.TreeSet; +import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.dodico.crue.metier.comparator.ObjetNommeByNameComparator; import org.fudaa.dodico.crue.metier.emh.ResultatTimeKey; import org.fudaa.dodico.crue.projet.report.data.ReportRunKey; import org.fudaa.dodico.crue.projet.report.data.ReportRunVariableKey; import org.fudaa.dodico.crue.projet.report.export.ReportExportProfilLongitudinal; +import org.fudaa.fudaa.crue.common.helper.DialogHelper; import org.fudaa.fudaa.crue.report.data.ReportVariableChooser; import org.fudaa.fudaa.crue.report.longitudinal.ReportProfilLongitudinalTopComponent; import org.fudaa.fudaa.crue.report.service.ReportResultProviderService; @@ -40,7 +42,7 @@ @Override protected List<String> getChoosableVariables() { - final List<String> choosableVariables = topComponent.getChoosableVariables(); + final List<String> choosableVariables = topComponent.getChoosableVariablesForExport(); choosableVariables.remove(null); return choosableVariables; } @@ -58,6 +60,11 @@ if (var != null) { res.add(var); } + final List<String> variablesAsZDrawn = topComponent.getReportConfig(). + getVariablesAsZDrawn(reportResultProviderService.getRunCourant().getRunKey(), reportResultProviderService); + if (variablesAsZDrawn != null) { + res.addAll(variablesAsZDrawn); + } return res; } @@ -83,7 +90,18 @@ final List<ReportRunVariableKey> variablesKeys = variableChooser.getKeysForRuns(reportResultProviderService, toExport, keys); final File f = chooseTargetFile(); + if (f != null) { + String error = CtuluLibFile.canWrite(f); + if (error == null && f.exists() && !f.delete()) { + error = org.openide.util.NbBundle.getMessage(ReportCourbeExportActionAbstract.class, "cantWriteToFileUsedByAnotherProcess.error"); + } + if (error != null) { + DialogHelper.showError(org.openide.util.NbBundle.getMessage(ReportCourbeExportActionAbstract.class, "cantWriteToFile.error", f.getName(), + error)); + return; + + } ProgressRunnable runnable = new ProgressRunnable<Boolean>() { @Override Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportMulitVarExportAction.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportMulitVarExportAction.java 2015-10-13 21:03:58 UTC (rev 9189) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportMulitVarExportAction.java 2015-10-14 22:13:03 UTC (rev 9190) @@ -30,6 +30,15 @@ } @Override + protected List<String> chooseVariables() { + final List<String> chooseVariables = super.chooseVariables(); + if (!chooseVariables.isEmpty()) { + chooseVariables.add(0, topComponent.getReportConfig().getHorizontalVar()); + } + return chooseVariables; + } + + @Override protected List<String> getChoosableVariables() { final List<String> choosableVariables = new ArrayList<>(topComponent.getChoosableVariables()); choosableVariables.remove(null); Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportProfilLongitudinalTopComponent.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportProfilLongitudinalTopComponent.java 2015-10-13 21:03:58 UTC (rev 9189) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportProfilLongitudinalTopComponent.java 2015-10-14 22:13:03 UTC (rev 9190) @@ -11,8 +11,12 @@ import javax.swing.Action; import javax.swing.JPanel; import javax.swing.JSplitPane; +import org.fudaa.dodico.crue.config.ccm.CrueConfigMetier; +import org.fudaa.dodico.crue.metier.emh.EMHScenario; +import org.fudaa.dodico.crue.metier.emh.EnumCatEMH; import org.fudaa.dodico.crue.metier.emh.OrdResScenario; import org.fudaa.dodico.crue.metier.emh.OrdResSection; +import org.fudaa.dodico.crue.metier.helper.ResPrtHelper; import org.fudaa.dodico.crue.metier.result.OrdResExtractor; import org.fudaa.dodico.crue.metier.result.OrdResVariableSelection; import org.fudaa.ebli.commun.EbliActionInterface; @@ -25,12 +29,14 @@ import org.fudaa.dodico.crue.projet.report.data.ReportExpressionHelper; import org.fudaa.dodico.crue.projet.report.data.ReportKeyContract; import org.fudaa.dodico.crue.projet.report.data.ReportRunKey; +import org.fudaa.dodico.crue.projet.report.data.ReportRunVariableHelper; import org.fudaa.dodico.crue.projet.report.data.ReportRunVariableKey; import org.fudaa.dodico.crue.projet.report.data.ReportRunVariableTimeKey; import org.fudaa.dodico.crue.projet.report.data.ReportVariableKey; import org.fudaa.dodico.crue.projet.report.data.ReportVariableTypeEnum; import org.fudaa.fudaa.crue.report.export.ReportLongitudinalExportAction; import org.fudaa.fudaa.crue.report.service.ReportFormuleService; +import org.fudaa.fudaa.crue.report.service.ReportResultProviderService; import org.netbeans.api.settings.ConvertAsProperties; import org.openide.util.Lookup; import org.openide.util.NbBundle; @@ -150,8 +156,25 @@ } } - public List<String> getChoosableVariables() { - return new ReportLongitudinalRightVariableChooser(content).getChoosableVariables(); + public List<String> getChoosableVariablesForExport() { + final List<String> choosableVariables = new ReportLongitudinalRightVariableChooser(content).getChoosableVariables(); + //ajout des variables z + ReportResultProviderService reportResultProviderService = Lookup.getDefault().lookup(ReportResultProviderService.class); + EMHScenario scenario = reportService.getRunCourant().getScenario(); + OrdResExtractor extractor = new OrdResExtractor(scenario.getOrdResScenario()); + List<String> selectableVariables = extractor.getSelectableVariables(EnumCatEMH.SECTION, reportFormuleService.getVariablesKeys()); + //on ne conserve que les variables qui sont affichées sur l'axe des z: + for (Iterator<String> it = selectableVariables.iterator(); it.hasNext();) { + String string = it.next(); + if (ReportRunVariableHelper.isZOrDzNature(string, reportResultProviderService)) { + choosableVariables.add(string); + it.remove(); + } + } + // ajout Zini issu du RPTI + List<String> varZIni = ResPrtHelper.getZiniVar(); + choosableVariables.addAll(varZIni); + return choosableVariables; } protected void chooseRightVariable() { Modified: trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties 2015-10-13 21:03:58 UTC (rev 9189) +++ trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties 2015-10-14 22:13:03 UTC (rev 9190) @@ -15,4 +15,6 @@ DefaultExportType=type export: action exporter perspective Rapports ExportAll.Action=Exporter\n ExportAll.Tootltip=Export en masse -ExportEnded=Export termin\u00e9 vers le fichier {0} \ No newline at end of file +ExportEnded=Export termin\u00e9 vers le fichier {0} +cantWriteToFile.error=Il est impossible d'\u00e9crire dans le fichier {0}.\nRaison: {1} +cantWriteToFileUsedByAnotherProcess.error=il est probablement ouvert par une autre application (Excel) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2015-11-05 22:02:13
|
Revision: 9192 http://sourceforge.net/p/fudaa/svn/9192 Author: deniger Date: 2015-11-05 22:02:10 +0000 (Thu, 05 Nov 2015) Log Message: ----------- CRUE-644 Modified Paths: -------------- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnable.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopComponent.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopExportImportPopupBuilder.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportValue.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImporter.java trunk/soft/fudaa-crue/ui-modelling/src/main/resources/org/fudaa/fudaa/crue/modelling/calcul/importer/Bundle.properties trunk/soft/fudaa-crue/ui-views/src/main/java/org/fudaa/fudaa/crue/views/DonCLimMLineBuilder.java trunk/soft/fudaa-crue/ui-views/src/main/java/org/fudaa/fudaa/crue/views/DonClimMTableModel.java Added Paths: ----------- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportData.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportLine.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportLinesBuilder.java Removed Paths: ------------- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportKey.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportKeyFromArray.java Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnable.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnable.java 2015-11-05 22:01:14 UTC (rev 9191) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnable.java 2015-11-05 22:02:10 UTC (rev 9192) @@ -22,6 +22,7 @@ import org.apache.poi.ss.usermodel.WorkbookFactory; import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.fudaa.crue.modelling.calcul.importer.CLimMsImporter; +import org.fudaa.fudaa.crue.views.DonClimMTableModel; import org.netbeans.api.progress.ProgressHandle; import org.netbeans.api.progress.ProgressRunnable; import org.openide.util.Exceptions; @@ -30,7 +31,7 @@ * * @author Frederic Deniger */ -public class ModellingListCLimMsProgressRunnable implements ProgressRunnable<Object> { +public class ModellingListCLimMsProgressRunnable implements ProgressRunnable<DonClimMTableModel> { private File file; private final ModellingListCLimMsTopComponent topComponent; @@ -47,8 +48,7 @@ } @Override - public Object run(ProgressHandle handle) { - Reader reader = null; + public DonClimMTableModel run(ProgressHandle handle) { String[][] values = null; if (initValues != null) { char sep = '\t'; @@ -62,10 +62,9 @@ if (values == null) { return null; } - CLimMsImporter importer = new CLimMsImporter(topComponent.getCcm(), topComponent.getScenario().getLoiConteneur(), values); + CLimMsImporter importer = new CLimMsImporter(topComponent.getCcm(), topComponent.getScenario(), values); importer.setTableModel(topComponent.tableModel); - importer.importData(); - return null; + return importer.importData(); } protected String getValue(Cell cell) { Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopComponent.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopComponent.java 2015-11-05 22:01:14 UTC (rev 9191) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopComponent.java 2015-11-05 22:02:10 UTC (rev 9192) @@ -70,9 +70,34 @@ @Override public ExplorerManager getExplorerManager() { return null; -// return helper.getExplorerManager(); } + protected void rebuildCenterFor(DonClimMTableModel newModel) { + JComponent oldCenter = CtuluLibSwing.findChildByName(this, CENTER_NAME); + remove(oldCenter); + setDoubleBuffered(false); + final ModellingOpenDLHYAction loiDisplayer = new ModellingOpenDLHYAction(); + final ModellingListCLimMsTopExportImportPopupBuilder popupReceiver = new ModellingListCLimMsTopExportImportPopupBuilder( + this, loiDisplayer); + Pair<JScrollPane, DonClimMTableModel> createScrollPane = new DonCLimMLineBuilder().createScrollPane(newModel, getCcm(), getScenario(), true, + loiDisplayer, + popupReceiver); + tableModel = createScrollPane.second; + final JScrollPane newCenter = createScrollPane.first; + popupReceiver.install(newCenter); + tableModel.addTableModelListener(new TableModelListener() { + @Override + public void tableChanged(TableModelEvent e) { + setModified(true); + } + }); + add(newCenter); + revalidate(); + repaint(); + newCenter.revalidate(); + newCenter.repaint(); + } + @Override protected void scenarioUnloaded() { super.scenarioUnloaded(); Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopExportImportPopupBuilder.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopExportImportPopupBuilder.java 2015-11-05 22:01:14 UTC (rev 9191) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopExportImportPopupBuilder.java 2015-11-05 22:02:10 UTC (rev 9192) @@ -16,6 +16,7 @@ import org.fudaa.ctulu.gui.CtuluTableSimpleExporter; import org.fudaa.fudaa.crue.common.helper.CrueProgressUtils; import org.fudaa.fudaa.crue.common.helper.CtuluUIForNetbeans; +import org.fudaa.fudaa.crue.views.DonClimMTableModel; import org.fudaa.fudaa.crue.views.LoiDisplayer; import org.fudaa.fudaa.crue.views.LoiDisplayerInstaller; import org.fudaa.fudaa.crue.views.export.DonClimMExportTableModel; @@ -70,8 +71,12 @@ ModellingListCLimMsTopExportImportPopupBuilder.class, "button.import.name")); if (res == JFileChooser.APPROVE_OPTION) { - CrueProgressUtils.showProgressDialogAndRun(new ModellingListCLimMsProgressRunnable(fileChooser.getSelectedFile(), tc), NbBundle. + final DonClimMTableModel result = CrueProgressUtils.showProgressDialogAndRun(new ModellingListCLimMsProgressRunnable(fileChooser. + getSelectedFile(), tc), NbBundle. getMessage(ModellingListCLimMsTopExportImportPopupBuilder.class, "button.import.name")); + if (result != null) { + tc.rebuildCenterFor(result); + } } } Added: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportData.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportData.java (rev 0) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportData.java 2015-11-05 22:02:10 UTC (rev 9192) @@ -0,0 +1,27 @@ +/* + GPL 2 + */ +package org.fudaa.fudaa.crue.modelling.calcul.importer; + +import java.util.ArrayList; +import java.util.List; + +/** + * + * @author Frederic Deniger + */ +public class CLimMsImportData { + + private final List<CLimMsImportLine> calculs = new ArrayList<>(); + private final List<String> emhs = new ArrayList<>(); + + public List<CLimMsImportLine> getCalculs() { + return calculs; + } + + public List<String> getEmhs() { + return emhs; + } + + +} Deleted: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportKey.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportKey.java 2015-11-05 22:01:14 UTC (rev 9191) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportKey.java 2015-11-05 22:02:10 UTC (rev 9192) @@ -1,58 +0,0 @@ -/* - GPL 2 - */ -package org.fudaa.fudaa.crue.modelling.calcul.importer; - -/** - * - * @author Frederic Deniger - */ -public class CLimMsImportKey { - - private final String emh; - private final String calculId; - - public CLimMsImportKey(String emhId, String calculId) { - this.emh = emhId; - this.calculId = calculId; - } - - @Override - public int hashCode() { - int hash = 7; - hash = 59 * hash + (this.emh != null ? this.emh.hashCode() : 0); - hash = 59 * hash + (this.calculId != null ? this.calculId.hashCode() : 0); - return hash; - } - - public String getEmh() { - return emh; - } - - public String getCalculId() { - return calculId; - } - - @Override - public String toString() { - return calculId + ", " + emh; - } - - @Override - public boolean equals(Object obj) { - if (obj == null) { - return false; - } - if (getClass() != obj.getClass()) { - return false; - } - final CLimMsImportKey other = (CLimMsImportKey) obj; - if ((this.emh == null) ? (other.emh != null) : !this.emh.equals(other.emh)) { - return false; - } - if ((this.calculId == null) ? (other.calculId != null) : !this.calculId.equals(other.calculId)) { - return false; - } - return true; - } -} Deleted: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportKeyFromArray.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportKeyFromArray.java 2015-11-05 22:01:14 UTC (rev 9191) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportKeyFromArray.java 2015-11-05 22:02:10 UTC (rev 9192) @@ -1,72 +0,0 @@ -/* - GPL 2 - */ -package org.fudaa.fudaa.crue.modelling.calcul.importer; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import org.apache.commons.lang.StringUtils; -import org.fudaa.ctulu.CtuluLog; -import org.fudaa.dodico.crue.common.io.CrueIOResu; -import org.openide.util.NbBundle; - -/** - * - * @author Frederic Deniger - */ -public class CLimMsImportKeyFromArray { - - public CLimMsImportKeyFromArray() { - } - - public CrueIOResu<Map<CLimMsImportKey, CLimMsImportValue>> extract(String[][] values) { - CrueIOResu<Map<CLimMsImportKey, CLimMsImportValue>> ioRes = new CrueIOResu<Map<CLimMsImportKey, CLimMsImportValue>>(); - Map<CLimMsImportKey, CLimMsImportValue> res = new HashMap<CLimMsImportKey, CLimMsImportValue>(); - CtuluLog log = new CtuluLog(); - //on parse les colonne - //calcul;EMH 1 (; - ioRes.setAnalyse(log); - ioRes.setMetier(res); - if (values.length == 0) { - return ioRes; - } - final int nbColumns = values[0].length; - if (nbColumns % 2 == 0) { - log.addSevereError(NbBundle.getMessage(CLimMsImportKeyFromArray.class, "climImport.wrongColumnsNumber")); - return ioRes; - } - List<String> emhs = new ArrayList<String>(); - for (int i = 1; i < nbColumns; i += 2) { - String emh1 = StringUtils.substringBeforeLast(values[0][i], "(").trim(); - String emh2 = StringUtils.substringBeforeLast(values[0][i + 1], "(").trim(); - if (!StringUtils.equals(emh1, emh2)) { - log.addSevereError(NbBundle.getMessage(CLimMsImportKeyFromArray.class, "climImport.wrongColumnsOrganization")); - } else { - emhs.add(emh1); - } - } - final int nbEmhs = emhs.size(); - for (int row = 1; row < values.length; row++) { - String[] val = values[row]; - if (val.length != nbColumns) { - log.addSevereError(NbBundle.getMessage(CLimMsImportKeyFromArray.class, "climImport.ligneWithWrongColumnsNumber"), Integer. - toString(row + 1)); - return ioRes; - } - String calcId = val[0]; - for (int i = 0; i < nbEmhs; i++) { - CLimMsImportKey key = new CLimMsImportKey(emhs.get(i), calcId); - CLimMsImportValue value = new CLimMsImportValue(val[1 + 2 * i], val[2 + 2 * i]); - res.put(key, value); - } - } - if (log.containsErrorOrSevereError()) { - return ioRes; - } - - - return ioRes; - } -} Copied: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportLine.java (from rev 9158, trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportKey.java) =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportLine.java (rev 0) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportLine.java 2015-11-05 22:02:10 UTC (rev 9192) @@ -0,0 +1,65 @@ +/* + GPL 2 + */ +package org.fudaa.fudaa.crue.modelling.calcul.importer; + +import java.util.ArrayList; +import java.util.List; +import java.util.Objects; +import org.fudaa.dodico.crue.metier.factory.CruePrefix; + +/** + * + * @author Frederic Deniger + */ +public class CLimMsImportLine { + + private final String calculId; + private final List<CLimMsImportValue> values = new ArrayList<>(); + + public CLimMsImportLine(String calculId) { + this.calculId = calculId; + } + + public String getCalculId() { + return calculId; + } + + public List<CLimMsImportValue> getValues() { + return values; + } + + public boolean isNameValide() { + return calculId.startsWith(CruePrefix.P_CALCUL_PSEUDOPERMANENT) || calculId.startsWith(CruePrefix.P_CALCUL_TRANSITOIRE); + } + + public boolean isTransitoire() { + return calculId.startsWith(CruePrefix.P_CALCUL_TRANSITOIRE); + } + public boolean isPermanent() { + return calculId.startsWith(CruePrefix.P_CALCUL_PSEUDOPERMANENT); + } + + @Override + public int hashCode() { + int hash = 7; + hash = 97 * hash + Objects.hashCode(this.calculId); + return hash; + } + + @Override + public boolean equals(Object obj) { + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + final CLimMsImportLine other = (CLimMsImportLine) obj; + if (!Objects.equals(this.calculId, other.calculId)) { + return false; + } + return true; + } + +} Copied: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportLinesBuilder.java (from rev 9158, trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportKeyFromArray.java) =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportLinesBuilder.java (rev 0) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportLinesBuilder.java 2015-11-05 22:02:10 UTC (rev 9192) @@ -0,0 +1,87 @@ +/* + GPL 2 + */ +package org.fudaa.fudaa.crue.modelling.calcul.importer; + +import java.util.HashSet; +import java.util.Set; +import org.apache.commons.lang.StringUtils; +import org.fudaa.ctulu.CtuluLog; +import org.fudaa.dodico.crue.common.io.CrueIOResu; +import org.openide.util.NbBundle; + +/** + * Permet simplement de lire les données. Ne fait pas de tests métiers sur les données. Test uniquement si doublons dans les données + * + * @author Frederic Deniger + */ +public class CLimMsImportLinesBuilder { + + public CLimMsImportLinesBuilder() { + } + + public CrueIOResu<CLimMsImportData> extract(String[][] values) { + CrueIOResu<CLimMsImportData> ioRes = new CrueIOResu<>(); + CLimMsImportData res = new CLimMsImportData(); + CtuluLog log = new CtuluLog(); + //on parse les colonne + //calcul;EMH 1 (; + ioRes.setAnalyse(log); + ioRes.setMetier(res); + if (values.length == 0) { + return ioRes; + } + final int nbColumns = values[0].length; + if (nbColumns % 2 == 0) { + log.addSevereError(NbBundle.getMessage(CLimMsImportLinesBuilder.class, "climImport.wrongColumnsNumber")); + return ioRes; + } + for (int i = 1; i < nbColumns; i += 2) { + String emh1 = StringUtils.substringBeforeLast(values[0][i], "(").trim(); + String emh2 = StringUtils.substringBeforeLast(values[0][i + 1], "(").trim(); + if (!StringUtils.equals(emh1, emh2)) { + log.addSevereError(NbBundle.getMessage(CLimMsImportLinesBuilder.class, "climImport.wrongColumnsOrganization")); + } else if (res.getEmhs().contains(emh1)) { + log.addSevereError(NbBundle.getMessage(CLimMsImportLinesBuilder.class, "climImport.doublonEMH", emh1)); + } else { + res.getEmhs().add(emh1); + } + } + final int nbEmhs = res.getEmhs().size(); + Set<String> definedCalcul = new HashSet<>(); + for (int row = 1; row < values.length; row++) { + String[] val = values[row]; + if (val.length > nbColumns) { + log.addSevereError(NbBundle.getMessage(CLimMsImportLinesBuilder.class, "climImport.ligneWithWrongColumnsNumber"), Integer. + toString(row + 1), Integer.toString(nbColumns)); + return ioRes; + } + String calcId = val[0]; + if (definedCalcul.contains(calcId)) { + log.addSevereError(NbBundle.getMessage(CLimMsImportLinesBuilder.class, "climImport.doublonCalcul"), calcId); + } + definedCalcul.add(calcId); + CLimMsImportLine line = new CLimMsImportLine(calcId); + boolean existing = false; + for (int i = 0; i < nbEmhs; i++) { + String emh = res.getEmhs().get(i); + int idxCol = 2 + 2 * i; + if (val.length > idxCol) { + CLimMsImportValue value = new CLimMsImportValue(emh, val[idxCol - 1], val[idxCol]); + if (StringUtils.isNotBlank(value.getTypeClimM()) && StringUtils.isNotBlank(value.getValue())) { + line.getValues().add(value); + existing = true; + } + } + } + if (existing) { + res.getCalculs().add(line); + } + } + if (log.containsErrorOrSevereError()) { + return ioRes; + } + + return ioRes; + } +} Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportValue.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportValue.java 2015-11-05 22:01:14 UTC (rev 9191) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImportValue.java 2015-11-05 22:02:10 UTC (rev 9192) @@ -3,28 +3,38 @@ */ package org.fudaa.fudaa.crue.modelling.calcul.importer; +import java.util.Objects; + /** * * @author Frederic Deniger */ public class CLimMsImportValue { + private final String emh; private final String typeClimM; private final String value; - public CLimMsImportValue(String typeClimM, String value) { + public CLimMsImportValue(String emh, String typeClimM, String value) { + this.emh = emh; this.typeClimM = typeClimM; this.value = value; } - @Override - public int hashCode() { - int hash = 7; - hash = 59 * hash + (this.typeClimM != null ? this.typeClimM.hashCode() : 0); - hash = 59 * hash + (this.value != null ? this.value.hashCode() : 0); - return hash; + public String getEmh() { + return emh; } + + public boolean isPermanent() { + try { + Double.parseDouble(value); + return true; + } catch (NumberFormatException numberFormatException) { + } + return false; + } + public String getTypeClimM() { return typeClimM; } @@ -39,6 +49,15 @@ } @Override + public int hashCode() { + int hash = 7; + hash = 59 * hash + Objects.hashCode(this.emh); + hash = 59 * hash + Objects.hashCode(this.typeClimM); + hash = 59 * hash + Objects.hashCode(this.value); + return hash; + } + + @Override public boolean equals(Object obj) { if (obj == null) { return false; @@ -47,12 +66,16 @@ return false; } final CLimMsImportValue other = (CLimMsImportValue) obj; - if ((this.typeClimM == null) ? (other.typeClimM != null) : !this.typeClimM.equals(other.typeClimM)) { + if (!Objects.equals(this.emh, other.emh)) { return false; } - if ((this.value == null) ? (other.value != null) : !this.value.equals(other.value)) { + if (!Objects.equals(this.typeClimM, other.typeClimM)) { return false; } + if (!Objects.equals(this.value, other.value)) { + return false; + } return true; } + } Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImporter.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImporter.java 2015-11-05 22:01:14 UTC (rev 9191) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImporter.java 2015-11-05 22:02:10 UTC (rev 9192) @@ -3,25 +3,29 @@ */ package org.fudaa.fudaa.crue.modelling.calcul.importer; +import gnu.trove.TLongObjectHashMap; import java.util.ArrayList; import java.util.Iterator; -import java.util.LinkedHashSet; import java.util.List; import java.util.Map; -import java.util.Set; -import org.apache.commons.lang.StringUtils; +import java.util.MissingResourceException; import org.fudaa.ctulu.CtuluLog; import org.fudaa.dodico.crue.common.io.CrueIOResu; import org.fudaa.dodico.crue.common.transformer.TransformerHelper; import org.fudaa.dodico.crue.config.ccm.CrueConfigMetier; +import org.fudaa.dodico.crue.edition.bean.DonCLimMLineContent; +import org.fudaa.dodico.crue.metier.emh.Calc; +import org.fudaa.dodico.crue.metier.emh.CalcPseudoPerm; import org.fudaa.dodico.crue.metier.emh.CalcPseudoPermBrancheOrificeManoeuvre; import org.fudaa.dodico.crue.metier.emh.CalcPseudoPermItem; +import org.fudaa.dodico.crue.metier.emh.CalcTrans; import org.fudaa.dodico.crue.metier.emh.CalcTransBrancheOrificeManoeuvre; import org.fudaa.dodico.crue.metier.emh.CalcTransItem; import org.fudaa.dodico.crue.metier.emh.DonCLimM; import org.fudaa.dodico.crue.metier.emh.DonCLimMCommonItem; import org.fudaa.dodico.crue.metier.emh.DonLoiHYConteneur; import org.fudaa.dodico.crue.metier.emh.EMH; +import org.fudaa.dodico.crue.metier.emh.EMHScenario; import org.fudaa.dodico.crue.metier.emh.EnumSensOuv; import org.fudaa.dodico.crue.metier.emh.Loi; import org.fudaa.dodico.crue.metier.factory.DclmFactory; @@ -41,115 +45,145 @@ private final String[][] values; private final CrueConfigMetier ccm; private final DonLoiHYConteneur loiConteneur; + private final EMHScenario scenario; - public CLimMsImporter(CrueConfigMetier ccm, DonLoiHYConteneur loiConteneur, String[][] values) { + public CLimMsImporter(CrueConfigMetier ccm, EMHScenario scenario, String[][] values) { this.values = values; this.ccm = ccm; - this.loiConteneur = loiConteneur; + this.scenario = scenario; + this.loiConteneur = scenario.getLoiConteneur(); } DonClimMTableModel model; - public void importData() { - CLimMsImportKeyFromArray fromArray = new CLimMsImportKeyFromArray(); - CrueIOResu<Map<CLimMsImportKey, CLimMsImportValue>> importedData = fromArray.extract(values); + public DonClimMTableModel importData() { + CLimMsImportLinesBuilder fromArray = new CLimMsImportLinesBuilder(); + CrueIOResu<CLimMsImportData> importedData = fromArray.extract(values); final CtuluLog log = importedData.getAnalyse(); if (log.containsErrorOrSevereError()) { LogsDisplayer.displayError(log, NbBundle.getMessage(CLimMsImporter.class, "importCLimMs.bilan")); - return; + return null; } - Map<CLimMsImportKey, CLimMsImportValue> metier = importedData.getMetier(); - Set<CLimMsImportKey> notComputedData = new LinkedHashSet<CLimMsImportKey>(); - notComputedData.addAll(metier.keySet()); + + CLimMsImportData importedValues = importedData.getMetier(); + final Map<String, EMH> emhByNom = scenario.getIdRegistry().getEmhByNom(); + CtuluLog logCheckEMH = valideImportDatas(emhByNom, importedValues); + if (logCheckEMH.containsErrorOrSevereError()) { + LogsDisplayer.displayError(logCheckEMH, NbBundle.getMessage(CLimMsImporter.class, "importCLimMs.bilan")); + return null; + } + List<DonCLimMLineContent> dclimFinal = new ArrayList<>(); + List<EMH> emhsFinal = new ArrayList<>(); + for (String emh : importedValues.getEmhs()) { + emhsFinal.add(emhByNom.get(emh)); + } String versHaut = EnumSensOuv.OUV_VERS_HAUT.geti18n(); String versBas = EnumSensOuv.OUV_VERS_BAS.geti18n(); - for (int col = 0; col < model.getColumnCount(); col++) { - for (int row = 0; row < model.getRowCount(); row++) { - DonCLimM currentCLimM = (DonCLimM) model.getValueAt(row, col); - if (currentCLimM == null) { - continue; + for (CLimMsImportLine imported : importedValues.getCalculs()) { + //pas de lignes: on ignore + if (imported.getValues().isEmpty()) { + continue; + } +// DonCLimM currentCLimM = (DonCLimM) model.getValueAt(row, col); + String calculName = imported.getCalculId(); + boolean transitoire = imported.isTransitoire(); + Calc newCalcul = transitoire ? new CalcTrans() : new CalcPseudoPerm(); + newCalcul.setNom(calculName); + final TLongObjectHashMap<DonCLimM> valueByEmhUid = new TLongObjectHashMap<>(); + dclimFinal.add(new DonCLimMLineContent(newCalcul, valueByEmhUid)); + for (CLimMsImportValue value : imported.getValues()) { + String nom = value.getEmh(); + String typeClimM = value.getTypeClimM(); + EMH emh = emhByNom.get(nom); + Map<String, DclmFactory.CalcBuilder> toMapOfNom = findBuilders(newCalcul, emh); + DclmFactory.CalcBuilder builder = toMapOfNom.get(typeClimM); + DonCLimMCommonItem create = null; + if (builder != null) { + create = builder.create(ccm); + } else if (versHaut.equals(typeClimM) || versBas.equals(typeClimM)) { + final DclmFactory.CalcBuilder<? extends DonCLimMCommonItem> ouvBuilder = transitoire ? new DclmFactory.CalcTransBrancheOrificeManoeuvreCreator() : new DclmFactory.CalcPseudoPermBrancheOrificeManoeuvreCreator(); + if (toMapOfNom.containsKey(ouvBuilder.geti18n())) { + create = ouvBuilder.create(ccm); + EnumSensOuv sens = versHaut.equals(typeClimM) ? EnumSensOuv.OUV_VERS_HAUT : EnumSensOuv.OUV_VERS_BAS; + if (transitoire) { + ((CalcTransBrancheOrificeManoeuvre) create).setSensOuv(sens); + } else { + ((CalcPseudoPermBrancheOrificeManoeuvre) create).setSensOuv(sens); + } + } } - String cal = currentCLimM.getCalculParent().getNom(); - String nom = currentCLimM.getEmh().getNom(); - CLimMsImportKey key = new CLimMsImportKey(nom, cal); - CLimMsImportValue value = metier.get(key); - notComputedData.remove(key); - if (value != null && StringUtils.isNotBlank(value.getValue())) { - String typeClimM = value.getTypeClimM(); - EMH emh = currentCLimM.getEmh(); - Map<String, DclmFactory.CalcBuilder> toMapOfNom = findBuilders(currentCLimM); - DclmFactory.CalcBuilder builder = toMapOfNom.get(typeClimM); - boolean transitoire = currentCLimM.getCalculParent().isTransitoire(); - DonCLimMCommonItem create = null; - if (builder != null) { - create = builder.create(ccm); - } else if (versHaut.equals(typeClimM) || versBas.equals(typeClimM)) { - final DclmFactory.CalcBuilder<? extends DonCLimMCommonItem> ouvBuilder = transitoire ? new DclmFactory.CalcTransBrancheOrificeManoeuvreCreator() : new DclmFactory.CalcPseudoPermBrancheOrificeManoeuvreCreator(); - if (toMapOfNom.containsKey(ouvBuilder.geti18n())) { - create = ouvBuilder.create(ccm); - EnumSensOuv sens = versHaut.equals(typeClimM) ? EnumSensOuv.OUV_VERS_HAUT : EnumSensOuv.OUV_VERS_BAS; - if (transitoire) { - ((CalcTransBrancheOrificeManoeuvre) create).setSensOuv(sens); - } else { - ((CalcPseudoPermBrancheOrificeManoeuvre) create).setSensOuv(sens); - } + if (create == null) { + log.addWarn(NbBundle.getMessage(CLimMsImporter.class, "importClimMs.typeNotValid", typeClimM, emh. + getNom())); + } else { + create.setEmh(emh); + create.setCalculParent(newCalcul); + if (transitoire) { + CalcTransItem permItem = (CalcTransItem) create; + List<Loi> filterDLHY = LoiHelper.filterDLHY(loiConteneur, permItem.getTypeLoi()); + Loi loi = TransformerHelper.toMapOfId(filterDLHY).get(value.getValue().toUpperCase()); + if (loi != null) { + permItem.setLoi(loi); + } else { + create = null; + log.addWarn(NbBundle.getMessage(CLimMsImporter.class, "importClimMs.loiNotValid", value.getValue(), emh.getNom(), calculName)); } - } - if (create == null) { - log.addWarn(org.openide.util.NbBundle.getMessage(CLimMsImporter.class, "importClimMs.typeNotValid", typeClimM, emh. - getNom())); } else { - create.setEmh(emh); - create.setCalculParent(currentCLimM.getCalculParent()); - if (transitoire) { - CalcTransItem permItem = (CalcTransItem) create; - List<Loi> filterDLHY = LoiHelper.filterDLHY(loiConteneur, permItem.getTypeLoi()); - Loi loi = TransformerHelper.toMapOfId(filterDLHY).get(value.getValue().toUpperCase()); - if (loi != null) { - permItem.setLoi(loi); - } else { - create = null; - log.addWarn(NbBundle.getMessage(CLimMsImporter.class, "importClimMs.loiNotValid", value.getValue(), emh.getNom(), currentCLimM. - getCalculParent().getNom())); - } - } else { - try { - ((CalcPseudoPermItem) create).setValue(Double.parseDouble(value.getValue())); - } catch (NumberFormatException numberFormatException) { - create = null; - log.addWarn(NbBundle.getMessage(CLimMsImporter.class, "importClimMs.valueNotValid", value.getValue(), emh.getNom(), currentCLimM. - getCalculParent().getNom())); + try { + ((CalcPseudoPermItem) create).setValue(Double.parseDouble(value.getValue())); + } catch (NumberFormatException numberFormatException) { + create = null; + log.addWarn(NbBundle.getMessage(CLimMsImporter.class, "importClimMs.valueNotValid", value.getValue(), emh.getNom(), calculName)); - } - } - if (create != null) { - model.setValueAt(create, row, col); - } } } } - } - if (!notComputedData.isEmpty()) { - for (CLimMsImportKey cLimMsImportKey : notComputedData) { - log.addWarn(NbBundle.getMessage(CLimMsImporter.class, "importClimMs.skipLine", cLimMsImportKey.toString())); - } - } if (log.isNotEmpty()) { LogsDisplayer.displayError(log, NbBundle.getMessage(CLimMsImporter.class, "importCLimMs.bilan")); } + return new DonClimMTableModel(dclimFinal, emhsFinal); } + private CtuluLog valideImportDatas(Map<String, EMH> emhByNom, CLimMsImportData values) throws MissingResourceException { + CtuluLog logCheckEMH = new CtuluLog(); + for (String emh : values.getEmhs()) { + if (!emhByNom.containsKey(emh)) { + logCheckEMH.addSevereError(NbBundle.getMessage(CLimMsImporter.class, "climImport.unknownEMH"), emh); + } + } + for (CLimMsImportLine calcul : values.getCalculs()) { + if (!calcul.isNameValide()) { + logCheckEMH.addSevereError(NbBundle.getMessage(CLimMsImporter.class, "climImport.nameCalculUnknown"), calcul.getCalculId()); + } else { + boolean ispermanent = calcul.isPermanent(); + for (CLimMsImportValue value : calcul.getValues()) { + if (value.isPermanent() != ispermanent) { + if (ispermanent) { + logCheckEMH.addSevereError(NbBundle.getMessage(CLimMsImporter.class, "climImport.calculPermanentNoPermanentValue"), calcul. + getCalculId(), value.getEmh()); + } else { + logCheckEMH.addSevereError(NbBundle.getMessage(CLimMsImporter.class, "climImport.calculTransitoireNoTransitoireValue"), calcul. + getCalculId(), value.getEmh()); + } + } + } + } + + } + return logCheckEMH; + } + public void setTableModel(DonClimMTableModel tableModel) { this.model = tableModel; } - protected Map<String, DclmFactory.CalcBuilder> findBuilders(DonCLimM clim) { - List<DclmFactory.CalcBuilder> creators = new ArrayList<DclmFactory.CalcBuilder>(DclmFactory.getCreatorsSens(clim.getCalculParent())); + protected Map<String, DclmFactory.CalcBuilder> findBuilders(Calc calcul, EMH emh) { + List<DclmFactory.CalcBuilder> creators = new ArrayList<>(DclmFactory.getCreatorsSens(calcul)); for (Iterator<DclmFactory.CalcBuilder> it = creators.iterator(); it.hasNext();) { DclmFactory.CalcBuilder calcBuilder = it.next(); - if (!calcBuilder.isAccepted(clim.getEmh())) { + if (!calcBuilder.isAccepted(emh)) { it.remove(); } } Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/resources/org/fudaa/fudaa/crue/modelling/calcul/importer/Bundle.properties =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/resources/org/fudaa/fudaa/crue/modelling/calcul/importer/Bundle.properties 2015-11-05 22:01:14 UTC (rev 9191) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/resources/org/fudaa/fudaa/crue/modelling/calcul/importer/Bundle.properties 2015-11-05 22:02:10 UTC (rev 9192) @@ -4,9 +4,16 @@ import.cini.nbModifiedValue={0} valeurs modifi\u00e9es climImport.wrongColumnsNumber=Le nombre de colonnes du fichier d'import doit \u00eatre impair. Ent\u00eate attendue: colonne 1=nom calcul; colonne 2=emh 1 (type);emh 1 (valeur) climImport.wrongColumnsOrganization=Dans la ligne d'ent\u00eate, il doit y avoir 2 colonnes par EMH: type et valeur. Ent\u00eate attendue: colonne 1=nom calcul; colonne 2=emh 1 (type);emh 1 (valeur) -climImport.ligneWithWrongColumnsNumber=La ligne {0} doit contenir {1} colonnes +climImport.ligneWithWrongColumnsNumber=La ligne {0} doit contenir au maximum {1} colonnes +climImport.doublonCalcul=Le calcul {0} est d\u00e9fini plusieurs fois +climImport.doublonEMH=L''EMH {0} est d\u00e9finie plusieurs fois dans les DCLM importCLimMs.bilan=Import des CLimMs importClimMs.typeNotValid=Le type {0} n''est pas valide pour l''EMH {1} importClimMs.valueNotValid=La valeur {0} pour l''EMH {1} du calcul {2} n''est pas valide importClimMs.loiNotValid=La loi {0} pour l''EMH {1} du calcul {2} n''est pas pr\u00e9sente dans le sc\u00e9nario importClimMs.skipLine=La ligne {0} du fichier d''import a \u00e9t\u00e9 ignor\u00e9e +climImport.unknownEMH=L''EMH {0} n''existe pas +climImport.nameCalculUnknown=Le calcul {0} ne suit pas la convention de nommage: le pr\u00e9fixe doit \u00eatre CC_P pour pseudo-permanent et CC_T pour transitoire. +climImport.NonConsistentDclimValue=Les valeurs du calcul {0} ne sont pas consistentes ( permanentes et transitoire) +climImport.calculPermanentNoPermanentValue=Le calcul {0} de type pseudo-permanent contient une valeur non coh\u00e9rente pour l''EMH {0} +climImport.calculTransitoireNoTransitoireValue=Le calcul {0} de type transitoire contient une valeur non coh\u00e9rente pour l''EMH {0} Modified: trunk/soft/fudaa-crue/ui-views/src/main/java/org/fudaa/fudaa/crue/views/DonCLimMLineBuilder.java =================================================================== --- trunk/soft/fudaa-crue/ui-views/src/main/java/org/fudaa/fudaa/crue/views/DonCLimMLineBuilder.java 2015-11-05 22:01:14 UTC (rev 9191) +++ trunk/soft/fudaa-crue/ui-views/src/main/java/org/fudaa/fudaa/crue/views/DonCLimMLineBuilder.java 2015-11-05 22:02:10 UTC (rev 9192) @@ -60,7 +60,7 @@ lines.add(new DonCLimMLineContent(ordCalc.getCalc(), dclmsByEMHId)); } List<EMH> allSimpleEMH = HierarchyChildFactory.getEMHInNetworkOrder(null, scenario); - List<EMH> emhToDisplay = new ArrayList<EMH>(); + List<EMH> emhToDisplay = new ArrayList<>(); for (EMH emh : allSimpleEMH) { if (emhs.contains(emh.getUiId())) { emhToDisplay.add(emh); @@ -74,7 +74,12 @@ DonClimMTableModel res = build(scenario, editable); res.setEditable(true); - List<String> rows = new ArrayList<String>(); + return createScrollPane(res, ccm, scenario, editable, loiDisplayer, rowPopupReceiver); + } + + public Pair<JScrollPane, DonClimMTableModel> createScrollPane(DonClimMTableModel res, CrueConfigMetier ccm, + EMHScenario scenario, boolean editable, final LoiDisplayer loiDisplayer, CtuluPopupListener.PopupReceiver rowPopupReceiver) { + List<String> rows = new ArrayList<>(); List<DonCLimMLineContent> dclims = res.getDclims(); for (DonCLimMLineContent donCLimMLine : dclims) { rows.add(donCLimMLine.getCalc().getNom()); @@ -116,7 +121,6 @@ } } - } } }); Modified: trunk/soft/fudaa-crue/ui-views/src/main/java/org/fudaa/fudaa/crue/views/DonClimMTableModel.java =================================================================== --- trunk/soft/fudaa-crue/ui-views/src/main/java/org/fudaa/fudaa/crue/views/DonClimMTableModel.java 2015-11-05 22:01:14 UTC (rev 9191) +++ trunk/soft/fudaa-crue/ui-views/src/main/java/org/fudaa/fudaa/crue/views/DonClimMTableModel.java 2015-11-05 22:02:10 UTC (rev 9192) @@ -5,8 +5,11 @@ import org.fudaa.dodico.crue.edition.bean.DonCLimMLineContent; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.swing.table.AbstractTableModel; +import org.fudaa.dodico.crue.metier.emh.Calc; import org.fudaa.dodico.crue.metier.emh.DonCLimM; import org.fudaa.dodico.crue.metier.emh.EMH; @@ -16,8 +19,8 @@ */ public class DonClimMTableModel extends AbstractTableModel { - private final List<DonCLimMLineContent> dclims; - private final List<EMH> emhs; + private List<DonCLimMLineContent> dclims; + private List<EMH> emhs; private boolean editable; public DonClimMTableModel(List<DonCLimMLineContent> dclims, List<EMH> emhs) { @@ -29,6 +32,14 @@ return editable; } + public Map<String, Calc> getCalcByNom() { + Map<String, Calc> res = new HashMap<>(); + for (DonCLimMLineContent dclim : dclims) { + res.put(dclim.getCalc().getNom(), dclim.getCalc()); + } + return res; + } + public void setEditable(boolean editable) { this.editable = editable; } @@ -78,4 +89,6 @@ public List<EMH> getEmhs() { return emhs; } + + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2015-11-11 22:53:23
|
Revision: 9193 http://sourceforge.net/p/fudaa/svn/9193 Author: deniger Date: 2015-11-11 22:53:21 +0000 (Wed, 11 Nov 2015) Log Message: ----------- CRUE-667 Modified Paths: -------------- trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/Calc.java trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/edition/EditionUpdateActiveClimMs.java trunk/soft/fudaa-crue/crue-project/src/test/java/org/fudaa/dodico/crue/edition/EditionUpdateActiveClimMsTest.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingComputeDataTopComponent.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/CalculNodeFactory.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopComponent.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopExportImportPopupBuilder.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImporter.java trunk/soft/fudaa-crue/ui-views/src/main/java/org/fudaa/fudaa/crue/views/DonCLimMLineBuilder.java Modified: trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/Calc.java =================================================================== --- trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/Calc.java 2015-11-05 22:02:10 UTC (rev 9192) +++ trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/Calc.java 2015-11-11 22:53:21 UTC (rev 9193) @@ -6,6 +6,8 @@ import java.util.Iterator; import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; import org.apache.commons.lang.StringUtils; import org.fudaa.dodico.crue.common.BusinessMessages; import org.fudaa.dodico.crue.common.annotation.PropertyDesc; @@ -32,14 +34,27 @@ public abstract void remove(EMH emh); public abstract void addDclm(DonCLimM dclm); + public abstract void removeDclm(DonCLimM dclm); @Override protected Object clone() throws CloneNotSupportedException { - Calc res=(Calc) super.clone(); + Calc res = (Calc) super.clone(); return res; } + public Calc cloneWithNameComment() { + try { + final Calc newInstance = getClass().newInstance(); + newInstance.nom = nom; + newInstance.commentaire = commentaire; + return newInstance; + } catch (Exception instantiationException) { + Logger.getLogger(Calc.class.getName()).log(Level.INFO, "message {0}", instantiationException); + } + return null; + } + /** * ne clone pas les emh... * @@ -132,4 +147,4 @@ public String getNom() { return nom; } -} \ No newline at end of file +} Modified: trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/edition/EditionUpdateActiveClimMs.java =================================================================== --- trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/edition/EditionUpdateActiveClimMs.java 2015-11-05 22:02:10 UTC (rev 9192) +++ trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/edition/EditionUpdateActiveClimMs.java 2015-11-11 22:53:21 UTC (rev 9193) @@ -8,20 +8,30 @@ import gnu.trove.TLongObjectHashMap; import gnu.trove.TLongObjectIterator; +import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import org.fudaa.ctulu.CtuluLog; +import org.fudaa.ctulu.CtuluLogGroup; import org.fudaa.dodico.crue.common.BusinessMessages; import org.fudaa.dodico.crue.config.ccm.CrueConfigMetier; import org.fudaa.dodico.crue.edition.bean.DonCLimMLineContent; +import org.fudaa.dodico.crue.metier.emh.Calc; import org.fudaa.dodico.crue.metier.emh.CalcPseudoPermItem; import org.fudaa.dodico.crue.metier.emh.CalcTransItem; import org.fudaa.dodico.crue.metier.emh.DonCLimM; import org.fudaa.dodico.crue.metier.emh.DonCLimMCommonItem; +import org.fudaa.dodico.crue.metier.emh.DonCLimMScenario; import org.fudaa.dodico.crue.metier.emh.EMH; import org.fudaa.dodico.crue.metier.emh.EMHScenario; +import org.fudaa.dodico.crue.metier.emh.OrdCalc; +import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario; import org.fudaa.dodico.crue.metier.factory.DclmFactory; +import org.fudaa.dodico.crue.metier.factory.OrdCalcFactory; +import org.fudaa.dodico.crue.validation.ValidationHelper; /** * Met à jour les ClimM active d'un calcul. @@ -36,8 +46,7 @@ this.ccm = ccm; } - public CtuluLog updateCLimMs(List<DonCLimMLineContent> newCalcs, EMHScenario parent) { - CtuluLog log = new CtuluLog(BusinessMessages.RESOURCE_BUNDLE); + public CtuluLogGroup updateCLimMs(List<DonCLimMLineContent> newCalcsAndClimMs, EMHScenario parent) { Map<Class, DclmFactory.CalcBuilder> builderByClass = new HashMap<Class, DclmFactory.CalcBuilder>(); for (DclmFactory.CalcBuilder calcBuilder : DclmFactory.getPseudoPerm()) { builderByClass.put(calcBuilder.getDclmClass(), calcBuilder); @@ -45,30 +54,36 @@ for (DclmFactory.CalcBuilder calcBuilder : DclmFactory.getTrans()) { builderByClass.put(calcBuilder.getDclmClass(), calcBuilder); } - for (DonCLimMLineContent donCLimMLineContent : newCalcs) { + final List<OrdCalc> currentOrdCalcs = parent.getOrdCalcScenario().getOrdCalc(); + Map<String, OrdCalc> currentOrdCalcsByCalcName = new HashMap<>(); + for (OrdCalc currentOrdCalc : currentOrdCalcs) { + currentOrdCalcsByCalcName.put(currentOrdCalc.getCalc().getNom(), currentOrdCalc); + } + CtuluLogGroup group = new CtuluLogGroup(BusinessMessages.RESOURCE_BUNDLE); + List<Calc> newCalcs = new ArrayList<>(); + List<OrdCalc> newOrdCalcs = new ArrayList<>(); + Set<String> newCalculNames = new HashSet<>(); + final CtuluLog log = group.createLog(); + for (DonCLimMLineContent donCLimMLineContent : newCalcsAndClimMs) { TLongObjectHashMap<DonCLimM> dclmsByEMHId = donCLimMLineContent.getDclmsByEMHId(); + final Calc calcul = donCLimMLineContent.getCalc().cloneWithNameComment(); + newCalculNames.add(calcul.getNom()); + newCalcs.add(calcul); + OrdCalc currentOcal = currentOrdCalcsByCalcName.get(calcul.getNom()); + if (currentOcal == null) { + OrdCalc newOcal = OrdCalcFactory.createDefaultOcal(calcul, ccm); + newOrdCalcs.add(newOcal); + } else { + OrdCalc newOcal = currentOcal.deepCloneButNotCalc(calcul); + newOrdCalcs.add(newOcal); + } for (TLongObjectIterator<DonCLimM> it = dclmsByEMHId.iterator(); it.hasNext();) { it.advance(); final DonCLimMCommonItem dclm = (DonCLimMCommonItem) it.value(); if (dclm == null) { continue; } - dclm.setUserActive(true); final EMH emh = dclm.getEmh(); - if (emh == null) { - log.addSevereError("Erreur interne sur EMH null" + donCLimMLineContent.getCalc().getNom()); - } - if (!emh.getUiId().equals(it.key())) { - log.addSevereError("Erreur interne sur EMH avec " + donCLimMLineContent.getCalc().getNom() + "/" + it.value().getEmhId()); - } - DonCLimM activeClim = getActiveClim(emh, dclm.getCalculParent().getNom()); - if (activeClim == null) { - log.addSevereError("Erreur interne. dclim non active " + donCLimMLineContent.getCalc().getNom() + "/" + it.value().getEmhId()); - } - if (!dclm.getCalculParent().getId().equals(donCLimMLineContent.getCalc().getId())) { - log.addSevereError("Erreur interne sur Calc parent " - + donCLimMLineContent.getCalc().getNom() + "/" + it.value().getEmhId()); - } DclmFactory.CalcBuilder builder = builderByClass.get(dclm.getClass()); if (!builder.isAccepted(emh)) { log.addSevereError("dclim.dclmNotAccepted", dclm.getCalculParent().getNom(), emh.getNom(), builder.getNom()); @@ -81,36 +96,41 @@ log.addSevereError("dclim.loiNotDefined", dclm.getCalculParent().getNom(), emh.getNom()); } } + dclm.setCalculParent(calcul); + dclm.setUserActive(true); + calcul.addDclm(dclm); } } - if (log.containsErrorOrSevereError()) { - return log; - } - for (DonCLimMLineContent donCLimMLineContent : newCalcs) { - TLongObjectHashMap<DonCLimM> dclmsByEMHId = donCLimMLineContent.getDclmsByEMHId(); - for (TLongObjectIterator<DonCLimM> it = dclmsByEMHId.iterator(); it.hasNext();) { - it.advance(); - final DonCLimMCommonItem newDclm = (DonCLimMCommonItem) it.value(); - if (newDclm == null) { - continue; - } - final EMH emh = newDclm.getEmh(); - //on enleve - DonCLimM oldClim = getActiveClim(emh, newDclm.getNomCalculParent()); - if (oldClim == newDclm) { - continue; - } - //l'ordre est important: - newDclm.getCalculParent().removeDclm(oldClim); - emh.removeInfosEMH(oldClim); - //on ajoute - newDclm.getCalculParent().addDclm(newDclm); - newDclm.setEmh(emh); - emh.addInfosEMH(newDclm); + final List<Calc> currentCalculs = parent.getDonCLimMScenario().getCalc(); + for (Calc currentCalcul : currentCalculs) { + if (!newCalculNames.contains(currentCalcul.getNom())) { + newCalcs.add(currentCalcul.deepClone()); } + } + OrdCalcScenario ocalTemp = new OrdCalcScenario(); + DonCLimMScenario dclmTemp = new DonCLimMScenario(); + for (OrdCalc ordCalc : newOrdCalcs) { + ocalTemp.addOrdCalc(ordCalc); + } + for (Calc calc : newCalcs) { + dclmTemp.addCalc(calc); + } + + group.addLog(ValidationHelper.validateDonCLimMScenarioAndClim(dclmTemp, ccm)); + group.addLog(ValidationHelper.validateOrdCalcScenario(ocalTemp, ccm)); + if (group.containsFatalError()) { + return group; + } - return log; + EditionUpdateCalc updater = new EditionUpdateCalc(); + updater.updateCalcs(newCalcs, newOrdCalcs, parent); +//// modellingScenarioModificationService.setScenarioModified(new ScenarioModificationEvent(EnumModification.OCAL)); +// setModified(false); +// if (Boolean.TRUE.equals(getClientProperty("TEST"))) { +// scenarioReloaded(); +// } + return group; } protected DonCLimM getActiveClim(EMH emh, String calculNom) { Modified: trunk/soft/fudaa-crue/crue-project/src/test/java/org/fudaa/dodico/crue/edition/EditionUpdateActiveClimMsTest.java =================================================================== --- trunk/soft/fudaa-crue/crue-project/src/test/java/org/fudaa/dodico/crue/edition/EditionUpdateActiveClimMsTest.java 2015-11-05 22:02:10 UTC (rev 9192) +++ trunk/soft/fudaa-crue/crue-project/src/test/java/org/fudaa/dodico/crue/edition/EditionUpdateActiveClimMsTest.java 2015-11-11 22:53:21 UTC (rev 9193) @@ -8,6 +8,7 @@ import java.util.ArrayList; import java.util.List; import org.fudaa.ctulu.CtuluLog; +import org.fudaa.ctulu.CtuluLogGroup; import org.fudaa.dodico.crue.config.ccm.CrueConfigMetier; import org.fudaa.dodico.crue.config.coeur.TestCoeurConfig; import org.fudaa.dodico.crue.edition.bean.DonCLimMLineContent; @@ -58,9 +59,10 @@ newDclm.setEmh(nd); newDclm.setCalculParent(ocal.getCalc()); List<DonCLimMLineContent> newCalcs = createEntry(nd, newDclm, ocal); - CtuluLog updateCLimMs = update.updateCLimMs(newCalcs, emhScenario); - assertFalse(updateCLimMs.containsErrorOrSevereError()); + CtuluLogGroup updateCLimMs = update.updateCLimMs(newCalcs, emhScenario); + assertFalse(updateCLimMs.containsError() || updateCLimMs.containsFatalError()); List<InfosEMH> infosEMH = nd.getInfosEMH(); + ocal = emhScenario.getOrdCalcScenario().getOrdCalc().get(0); List<DonCLimM> listeDCLMUserActive = ocal.getCalc().getlisteDCLMUserActive(); assertTrue(infosEMH.contains(newDclm)); assertTrue(newDclm.getEmh() != null); @@ -75,13 +77,13 @@ newDclmFalse.setCalculParent(ocal.getCalc()); newCalcs = createEntry(nd, newDclmFalse, ocal); updateCLimMs = update.updateCLimMs(newCalcs, emhScenario); - assertTrue(updateCLimMs.containsErrorOrSevereError()); - assertEquals(1, updateCLimMs.getRecords().size()); + assertTrue(updateCLimMs.containsError() || updateCLimMs.containsFatalError()); + assertEquals(1, updateCLimMs.getLogs().get(0).getRecords().size()); } public List<DonCLimMLineContent> createEntry(final EMH nd, final DonCLimM newDclm, OrdCalc ocal) { - List<DonCLimMLineContent> newCalcs = new ArrayList<DonCLimMLineContent>(); - TLongObjectHashMap<DonCLimM> newValues = new TLongObjectHashMap<DonCLimM>(); + List<DonCLimMLineContent> newCalcs = new ArrayList<>(); + TLongObjectHashMap<DonCLimM> newValues = new TLongObjectHashMap<>(); newValues.put(nd.getUiId(), newDclm); DonCLimMLineContent updated = new DonCLimMLineContent(ocal.getCalc(), newValues); newCalcs.add(updated); Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingComputeDataTopComponent.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingComputeDataTopComponent.java 2015-11-05 22:02:10 UTC (rev 9192) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingComputeDataTopComponent.java 2015-11-11 22:53:21 UTC (rev 9193) @@ -126,8 +126,8 @@ @Override public void valideModificationHandler() { Node[] nodes = getExplorerManager().getRootContext().getChildren().getNodes(); - List<Calc> newCalcs = new ArrayList<Calc>(); - List<OrdCalc> newOrdCalcs = new ArrayList<OrdCalc>(); + List<Calc> newCalcs = new ArrayList<>(); + List<OrdCalc> newOrdCalcs = new ArrayList<>(); for (Node node : nodes) { CalculNode calculNode = (CalculNode) node; newCalcs.add(calculNode.getCalc()); Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/CalculNodeFactory.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/CalculNodeFactory.java 2015-11-05 22:02:10 UTC (rev 9192) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/CalculNodeFactory.java 2015-11-11 22:53:21 UTC (rev 9193) @@ -70,7 +70,7 @@ if (modellingScenarioService.getScenarioLoaded() == null) { return Collections.emptyList(); } - List<CalculNode> nodes = new ArrayList<CalculNode>(); + List<CalculNode> nodes = new ArrayList<>(); OrdCalcCloner cloner = new OrdCalcCloner(); Result cloneOrdCalcAndCalc = cloner.cloneAndSort(modellingScenarioService.getScenarioLoaded()); final Map<Calc, OrdCalc> ordCalcByCalc = CalcHelper.getOrdCalcByCalc(cloneOrdCalcAndCalc.ordCalcs); Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopComponent.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopComponent.java 2015-11-05 22:02:10 UTC (rev 9192) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopComponent.java 2015-11-11 22:53:21 UTC (rev 9193) @@ -7,6 +7,7 @@ import javax.swing.event.TableModelEvent; import javax.swing.event.TableModelListener; import org.fudaa.ctulu.CtuluLog; +import org.fudaa.ctulu.CtuluLogGroup; import org.fudaa.ctulu.gui.CtuluLibSwing; import org.fudaa.dodico.crue.common.Pair; import org.fudaa.dodico.crue.edition.EditionUpdateActiveClimMs; @@ -92,6 +93,7 @@ } }); add(newCenter); + newCenter.setName(CENTER_NAME); revalidate(); repaint(); newCenter.revalidate(); @@ -142,13 +144,13 @@ } } List<DonCLimMLineContent> dclims = tableModel.getDclims(); - CtuluLog res = new EditionUpdateActiveClimMs(getCcm()).updateCLimMs(dclims, getScenario()); - if (!res.containsErrorOrSevereError()) { + CtuluLogGroup res = new EditionUpdateActiveClimMs(getCcm()).updateCLimMs(dclims, getScenario()); + if (!res.containsFatalError()) { modellingScenarioModificationService.setScenarioModified(new ScenarioModificationEvent(EnumModification.OCAL)); setModified(false); } - if (res.isNotEmpty()) { + if (res.containsSomething()) { LogsDisplayer.displayError(res, getName()); } } Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopExportImportPopupBuilder.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopExportImportPopupBuilder.java 2015-11-05 22:02:10 UTC (rev 9192) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopExportImportPopupBuilder.java 2015-11-11 22:53:21 UTC (rev 9193) @@ -76,6 +76,7 @@ getMessage(ModellingListCLimMsTopExportImportPopupBuilder.class, "button.import.name")); if (result != null) { tc.rebuildCenterFor(result); + tc.setModified(true); } } } Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImporter.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImporter.java 2015-11-05 22:02:10 UTC (rev 9192) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImporter.java 2015-11-11 22:53:21 UTC (rev 9193) @@ -83,7 +83,6 @@ if (imported.getValues().isEmpty()) { continue; } -// DonCLimM currentCLimM = (DonCLimM) model.getValueAt(row, col); String calculName = imported.getCalculId(); boolean transitoire = imported.isTransitoire(); Calc newCalcul = transitoire ? new CalcTrans() : new CalcPseudoPerm(); @@ -138,6 +137,9 @@ } } + if (create != null) { + valueByEmhUid.put(emh.getUiId(), create); + } } } if (log.isNotEmpty()) { Modified: trunk/soft/fudaa-crue/ui-views/src/main/java/org/fudaa/fudaa/crue/views/DonCLimMLineBuilder.java =================================================================== --- trunk/soft/fudaa-crue/ui-views/src/main/java/org/fudaa/fudaa/crue/views/DonCLimMLineBuilder.java 2015-11-05 22:02:10 UTC (rev 9192) +++ trunk/soft/fudaa-crue/ui-views/src/main/java/org/fudaa/fudaa/crue/views/DonCLimMLineBuilder.java 2015-11-11 22:53:21 UTC (rev 9193) @@ -39,11 +39,11 @@ DonClimMTableModel build(EMHScenario scenario, boolean clone) { List<OrdCalc> ordCalcs = scenario.getOrdCalcScenario().getOrdCalc(); - List<DonCLimMLineContent> lines = new ArrayList<DonCLimMLineContent>(); - Set<Long> emhs = new HashSet<Long>(); + List<DonCLimMLineContent> lines = new ArrayList<>(); + Set<Long> emhs = new HashSet<>(); for (OrdCalc ordCalc : ordCalcs) { List<DonCLimM> listeDCLMUserActive = ordCalc.getCalc().getlisteDCLMUserActive(); - TLongObjectHashMap<DonCLimM> dclmsByEMHId = new TLongObjectHashMap<DonCLimM>(); + TLongObjectHashMap<DonCLimM> dclmsByEMHId = new TLongObjectHashMap<>(); for (DonCLimM donCLimM : listeDCLMUserActive) { try { if (!donCLimM.getActuallyActive()) {//EMH non active... This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2015-11-17 22:27:03
|
Revision: 9196 http://sourceforge.net/p/fudaa/svn/9196 Author: deniger Date: 2015-11-17 22:27:01 +0000 (Tue, 17 Nov 2015) Log Message: ----------- CRUE-667 Modified Paths: -------------- trunk/soft/fudaa-crue/ui-common/pom.xml trunk/soft/fudaa-crue/ui-emh/pom.xml trunk/soft/fudaa-crue/ui-loader/pom.xml trunk/soft/fudaa-crue/ui-loi/pom.xml trunk/soft/fudaa-crue/ui-modelling/pom.xml trunk/soft/fudaa-crue/ui-options/pom.xml trunk/soft/fudaa-crue/ui-otfa/pom.xml trunk/soft/fudaa-crue/ui-planimetry/pom.xml trunk/soft/fudaa-crue/ui-post/pom.xml trunk/soft/fudaa-crue/ui-report/pom.xml trunk/soft/fudaa-crue/ui-study/pom.xml trunk/soft/fudaa-crue/ui-sysdoc/pom.xml Modified: trunk/soft/fudaa-crue/ui-common/pom.xml =================================================================== --- trunk/soft/fudaa-crue/ui-common/pom.xml 2015-11-17 22:26:17 UTC (rev 9195) +++ trunk/soft/fudaa-crue/ui-common/pom.xml 2015-11-17 22:27:01 UTC (rev 9196) @@ -98,6 +98,21 @@ </dependency> <dependency> <groupId>org.netbeans.api</groupId> + <artifactId>org-openide-util-ui</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> + <artifactId>org-openide-filesystems-nb</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> + <artifactId>org-netbeans-api-progress-nb</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> <artifactId>org-openide-util</artifactId> <version>${netbeans.version}</version> </dependency> Modified: trunk/soft/fudaa-crue/ui-emh/pom.xml =================================================================== --- trunk/soft/fudaa-crue/ui-emh/pom.xml 2015-11-17 22:26:17 UTC (rev 9195) +++ trunk/soft/fudaa-crue/ui-emh/pom.xml 2015-11-17 22:27:01 UTC (rev 9196) @@ -96,9 +96,15 @@ </dependency> <dependency> <groupId>org.netbeans.api</groupId> + <artifactId>org-openide-util-ui</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> <artifactId>org-openide-nodes</artifactId> <version>${netbeans.version}</version> </dependency> + <dependency> <groupId>org.netbeans.api</groupId> <artifactId>org-openide-explorer</artifactId> Modified: trunk/soft/fudaa-crue/ui-loader/pom.xml =================================================================== --- trunk/soft/fudaa-crue/ui-loader/pom.xml 2015-11-17 22:26:17 UTC (rev 9195) +++ trunk/soft/fudaa-crue/ui-loader/pom.xml 2015-11-17 22:27:01 UTC (rev 9196) @@ -39,6 +39,11 @@ </dependency> <dependency> <groupId>org.netbeans.api</groupId> + <artifactId>org-openide-filesystems-nb</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> <artifactId>org-openide-util-lookup</artifactId> <version>${netbeans.version}</version> </dependency> Modified: trunk/soft/fudaa-crue/ui-loi/pom.xml =================================================================== --- trunk/soft/fudaa-crue/ui-loi/pom.xml 2015-11-17 22:26:17 UTC (rev 9195) +++ trunk/soft/fudaa-crue/ui-loi/pom.xml 2015-11-17 22:27:01 UTC (rev 9196) @@ -118,6 +118,11 @@ </dependency> <dependency> <groupId>org.netbeans.api</groupId> + <artifactId>org-openide-util-ui</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> <artifactId>org-openide-util-lookup</artifactId> <version>${netbeans.version}</version> </dependency> Modified: trunk/soft/fudaa-crue/ui-modelling/pom.xml =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/pom.xml 2015-11-17 22:26:17 UTC (rev 9195) +++ trunk/soft/fudaa-crue/ui-modelling/pom.xml 2015-11-17 22:27:01 UTC (rev 9196) @@ -188,6 +188,11 @@ </dependency> <dependency> <groupId>org.netbeans.api</groupId> + <artifactId>org-openide-util-ui</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> <artifactId>org-openide-explorer</artifactId> <version>${netbeans.version}</version> </dependency> @@ -227,6 +232,11 @@ <version>${netbeans.version}</version> </dependency> <dependency> + <groupId>org.netbeans.api</groupId> + <artifactId>org-netbeans-api-progress-nb</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> Modified: trunk/soft/fudaa-crue/ui-options/pom.xml =================================================================== --- trunk/soft/fudaa-crue/ui-options/pom.xml 2015-11-17 22:26:17 UTC (rev 9195) +++ trunk/soft/fudaa-crue/ui-options/pom.xml 2015-11-17 22:27:01 UTC (rev 9196) @@ -92,6 +92,11 @@ </dependency> <dependency> <groupId>org.netbeans.api</groupId> + <artifactId>org-openide-util-ui</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> <artifactId>org-netbeans-api-progress</artifactId> <version>${netbeans.version}</version> </dependency> Modified: trunk/soft/fudaa-crue/ui-otfa/pom.xml =================================================================== --- trunk/soft/fudaa-crue/ui-otfa/pom.xml 2015-11-17 22:26:17 UTC (rev 9195) +++ trunk/soft/fudaa-crue/ui-otfa/pom.xml 2015-11-17 22:27:01 UTC (rev 9196) @@ -95,6 +95,21 @@ </dependency> <dependency> <groupId>org.netbeans.api</groupId> + <artifactId>org-openide-util-ui</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> + <artifactId>org-openide-filesystems-nb</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> + <artifactId>org-netbeans-api-progress-nb</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> <artifactId>org-netbeans-modules-settings</artifactId> <version>${netbeans.version}</version> </dependency> Modified: trunk/soft/fudaa-crue/ui-planimetry/pom.xml =================================================================== --- trunk/soft/fudaa-crue/ui-planimetry/pom.xml 2015-11-17 22:26:17 UTC (rev 9195) +++ trunk/soft/fudaa-crue/ui-planimetry/pom.xml 2015-11-17 22:27:01 UTC (rev 9196) @@ -189,6 +189,16 @@ </dependency> <dependency> <groupId>org.netbeans.api</groupId> + <artifactId>org-openide-util-ui</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> + <artifactId>org-openide-filesystems-nb</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> <artifactId>org-openide-dialogs</artifactId> <version>${netbeans.version}</version> </dependency> Modified: trunk/soft/fudaa-crue/ui-post/pom.xml =================================================================== --- trunk/soft/fudaa-crue/ui-post/pom.xml 2015-11-17 22:26:17 UTC (rev 9195) +++ trunk/soft/fudaa-crue/ui-post/pom.xml 2015-11-17 22:27:01 UTC (rev 9196) @@ -85,6 +85,16 @@ </dependency> <dependency> <groupId>org.netbeans.api</groupId> + <artifactId>org-openide-util-ui</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> + <artifactId>org-netbeans-api-progress-nb</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> <artifactId>org-openide-util-lookup</artifactId> <version>${netbeans.version}</version> </dependency> Modified: trunk/soft/fudaa-crue/ui-report/pom.xml =================================================================== --- trunk/soft/fudaa-crue/ui-report/pom.xml 2015-11-17 22:26:17 UTC (rev 9195) +++ trunk/soft/fudaa-crue/ui-report/pom.xml 2015-11-17 22:27:01 UTC (rev 9196) @@ -168,6 +168,16 @@ </dependency> <dependency> <groupId>org.netbeans.api</groupId> + <artifactId>org-netbeans-api-progress-nb</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> + <artifactId>org-openide-util-ui</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> <artifactId>org-openide-util-lookup</artifactId> <version>${netbeans.version}</version> </dependency> Modified: trunk/soft/fudaa-crue/ui-study/pom.xml =================================================================== --- trunk/soft/fudaa-crue/ui-study/pom.xml 2015-11-17 22:26:17 UTC (rev 9195) +++ trunk/soft/fudaa-crue/ui-study/pom.xml 2015-11-17 22:27:01 UTC (rev 9196) @@ -73,6 +73,11 @@ </dependency> <dependency> <groupId>org.netbeans.api</groupId> + <artifactId>org-openide-util-ui</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> <artifactId>org-netbeans-api-progress</artifactId> <version>${netbeans.version}</version> </dependency> Modified: trunk/soft/fudaa-crue/ui-sysdoc/pom.xml =================================================================== --- trunk/soft/fudaa-crue/ui-sysdoc/pom.xml 2015-11-17 22:26:17 UTC (rev 9195) +++ trunk/soft/fudaa-crue/ui-sysdoc/pom.xml 2015-11-17 22:27:01 UTC (rev 9196) @@ -92,11 +92,21 @@ </dependency> <dependency> <groupId>org.netbeans.api</groupId> + <artifactId>org-openide-util-ui</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> <artifactId>org-netbeans-api-progress</artifactId> <version>${netbeans.version}</version> </dependency> <dependency> <groupId>org.netbeans.api</groupId> + <artifactId>org-netbeans-api-progress-nb</artifactId> + <version>${netbeans.version}</version> + </dependency> + <dependency> + <groupId>org.netbeans.api</groupId> <artifactId>org-openide-util-lookup</artifactId> <version>${netbeans.version}</version> </dependency> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2015-11-24 23:15:43
|
Revision: 9198 http://sourceforge.net/p/fudaa/svn/9198 Author: deniger Date: 2015-11-24 23:15:41 +0000 (Tue, 24 Nov 2015) Log Message: ----------- CRUE-667 Modified Paths: -------------- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiConstanteCourbeModel.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalCourbesUiResController.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderCourbe.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderLimit.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalGrapheBuilder.java trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/longitudinal/Bundle.properties Modified: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiConstanteCourbeModel.java =================================================================== --- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiConstanteCourbeModel.java 2015-11-24 22:31:51 UTC (rev 9197) +++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiConstanteCourbeModel.java 2015-11-24 23:15:41 UTC (rev 9198) @@ -33,7 +33,8 @@ return res; } - public static LoiConstanteCourbeModel create(Object key, double x1, double x2, double y1, double y2, ItemContentAbstract varX, ItemContentAbstract varY) { + public static LoiConstanteCourbeModel create(Object key, double x1, double x2, double y1, double y2, ItemContentAbstract varX, + ItemContentAbstract varY) { LoiConstanteCourbeModel res = new LoiConstanteCourbeModel(new double[]{x1, x2}, new double[]{y1, y2}, varX, varY); res.setKey(key); return res; @@ -45,7 +46,8 @@ return res; } - public static LoiConstanteCourbeModel create(Object key, ExternContentColumn x, ExternContentColumn y, ExternContent content, ItemContentAbstract varX, ItemContentAbstract varY) { + public static LoiConstanteCourbeModel create(Object key, ExternContentColumn x, ExternContentColumn y, ExternContent content, + ItemContentAbstract varX, ItemContentAbstract varY) { LoiConstanteCourbeModel res = new LoiConstanteCourbeModel(x.toNativeArray(), y.toNativeArray(), varX, varY); res.setLabels(content.getLabelsMap()); res.setKey(key); @@ -60,6 +62,7 @@ private Object key; private CtuluListSelection drawnSegment; private TIntObjectHashMap<String> labels; + private Map<String, TIntObjectHashMap<String>> subLabels; private final ItemContentAbstract varX; private final ItemContentAbstract varY; private String title; @@ -110,6 +113,28 @@ this.labels = labels; } + public void setSubLabels(Map<String, TIntObjectHashMap<String>> subLabels) { + this.subLabels = subLabels; + } + + private static final TIntObjectHashMap<String> EMPTY_LABEL = new TIntObjectHashMap(); + + /** + * + * @param key + * @return les sous labels. hashmap vide si non trouvé ( non null). + */ + public TIntObjectHashMap<String> getSubLabels(String key) { + TIntObjectHashMap<String> res = null; + if (subLabels != null) { + res = subLabels.get(key); + } + if (res == null) { + res = EMPTY_LABEL; + } + return res; + } + @Override public Object getKey() { return key; Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalCourbesUiResController.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalCourbesUiResController.java 2015-11-24 22:31:51 UTC (rev 9197) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalCourbesUiResController.java 2015-11-24 23:15:41 UTC (rev 9198) @@ -6,9 +6,11 @@ import javax.swing.table.AbstractTableModel; import org.apache.commons.lang.StringUtils; import org.fudaa.ctulu.gui.CtuluCellTextRenderer; +import org.fudaa.dodico.crue.metier.factory.CruePrefix; import org.fudaa.ebli.courbe.EGCourbe; import org.fudaa.ebli.courbe.EGTableAction; import org.fudaa.ebli.courbe.EGTableGraphePanel; +import org.fudaa.fudaa.crue.loi.common.LoiConstanteCourbeModel; import org.fudaa.fudaa.crue.loi.res.CourbesUiResController; import org.openide.util.NbBundle; @@ -17,7 +19,7 @@ * @author Frederic Deniger */ public class ReportLongitudinalCourbesUiResController extends CourbesUiResController { - + public ReportLongitudinalCourbesUiResController() { EGTableAction tableAction = (EGTableAction) getActions("TABLE").get(0); tableAction.setAddOptions(false); @@ -27,62 +29,71 @@ tableAction.setShowLabel(true); setUseVariableForAxeH(true); } - + @Override protected AbstractTableModel createTableModel() { return new ReportLongitudinalTableModel(getTableGraphePanel()); } - + @Override protected void configureTablePanel() { super.configureTablePanel(); tableGraphePanel.getTable().getColumnModel().getColumn(0).setCellRenderer(new CtuluCellTextRenderer()); } - + protected static class ReportLongitudinalTableModel extends EGTableGraphePanel.SpecTableModel { - - public static final int COLUMN_PROFIL = 0; - + + public static final int COLUMN_BRANCHE = 0; + public static final int COLUMN_SECTION = 1; + public ReportLongitudinalTableModel(EGTableGraphePanel graphePanel) { super(graphePanel); - xColIndex = 1; - yColIndex = 2; + xColIndex = 2; + yColIndex = 3; } - + @Override public int getColumnCount() { - return 3; + return 4; } - + @Override public Object getValueAt(int _rowIndex, int _columnIndex) { - if (_columnIndex == COLUMN_PROFIL) { + if (_columnIndex == COLUMN_SECTION || _columnIndex == COLUMN_BRANCHE) { final EGCourbe courbe = getCourbe(); String res = null; if (courbe != null) { - res = courbe.getModel().getPointLabel(_rowIndex); + LoiConstanteCourbeModel model = (LoiConstanteCourbeModel) courbe.getModel(); + String key = CruePrefix.P_BRANCHE; + if (_columnIndex == COLUMN_SECTION) { + key = CruePrefix.P_SECTION; + } + res = model.getSubLabels(key).get(_rowIndex); } return StringUtils.defaultString(res); } return super.getValueAt(_rowIndex, _columnIndex); } - + @Override public String getColumnName(int _column) { - if (_column == COLUMN_PROFIL) { - return NbBundle.getMessage(ReportLongitudinalCourbesUiResController.class, "BrancheSectionColumn.Name"); + if (_column == COLUMN_SECTION) { + return NbBundle.getMessage(ReportLongitudinalCourbesUiResController.class, "SectionColumn.Name"); } + if (_column == COLUMN_BRANCHE) { + return NbBundle.getMessage(ReportLongitudinalCourbesUiResController.class, "BrancheColumn.Name"); + } return super.getColumnName(_column); } - + @Override public Class getColumnClass(int _columnIndex) { - if (_columnIndex <= COLUMN_PROFIL) { + if (_columnIndex <= COLUMN_SECTION) { return String.class; } return Double.class; } - + @Override public void setValueAt(Object _value, int _rowIndex, int _columnIndex) { } Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderCourbe.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderCourbe.java 2015-11-24 22:31:51 UTC (rev 9197) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderCourbe.java 2015-11-24 23:15:41 UTC (rev 9198) @@ -9,7 +9,9 @@ import org.fudaa.dodico.crue.projet.report.longitudinal.ReportLongitudinalConfig; import gnu.trove.TDoubleArrayList; import gnu.trove.TIntObjectHashMap; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.fudaa.ctulu.CtuluListSelection; import org.fudaa.dodico.crue.config.ccm.CrueConfigMetier; import org.fudaa.dodico.crue.config.ccm.CrueConfigMetierConstants; @@ -17,6 +19,7 @@ import org.fudaa.dodico.crue.config.ccm.PropertyEpsilon; import org.fudaa.dodico.crue.metier.emh.CatEMHSection; import org.fudaa.dodico.crue.metier.emh.ResultatTimeKey; +import org.fudaa.dodico.crue.metier.factory.CruePrefix; import org.fudaa.ebli.courbe.EGAxeVertical; import org.fudaa.ebli.courbe.EGCourbeSimple; import org.fudaa.fudaa.crue.loi.common.LoiConstanteCourbeModel; @@ -32,13 +35,13 @@ * @author Frederic Deniger */ public class ReportLongitudinalGrapheBuilderCourbe { - + CrueConfigMetier ccm; ReportLongitudinalGrapheBuilder builder; EGAxeVertical axeZ; EGAxeVertical rightAxis; ReportLongitudinalConfig content; - + public ReportLongitudinalGrapheBuilderCourbe(CrueConfigMetier ccm, ReportLongitudinalGrapheBuilder result, ReportLongitudinalConfig content) { this.ccm = ccm; this.builder = result; @@ -46,19 +49,24 @@ axeZ = builder.getOrCreateAxeVerticalZ(content); rightAxis = builder.getRightAxis(content); } - + public EGAxeVertical getAxeZ() { return axeZ; } - + public EGAxeVertical getRightAxis() { return rightAxis; } - + EGCourbeSimple createCourbe(ReportRunVariableKey reportRunVariableKey, ResultatTimeKey selectedTime, boolean currentTime) { TDoubleArrayList xps = new TDoubleArrayList(); TDoubleArrayList values = new TDoubleArrayList(); TIntObjectHashMap labels = new TIntObjectHashMap(); + Map<String, TIntObjectHashMap<String>> sublabels = new HashMap<String, TIntObjectHashMap<String>>(); + TIntObjectHashMap<String> labelBranches = new TIntObjectHashMap<String>(); + TIntObjectHashMap<String> labelSections = new TIntObjectHashMap<String>(); + sublabels.put(CruePrefix.P_BRANCHE, labelBranches); + sublabels.put(CruePrefix.P_SECTION, labelSections); CtuluListSelection drawnSegment = new CtuluListSelection(); boolean isDz = ReportRunVariableHelper.isNatDzVar(reportRunVariableKey.getVariable(), builder.getReportResultProviderService()); for (ReportLongitudinalBrancheCartouche cartouche : builder.result.getCartouches()) { @@ -68,7 +76,7 @@ } List<ReportLongitudinalPositionSection> sectionPositions = positions.getSectionDisplayPositions(); boolean firstAddInBranche = true; - + for (ReportLongitudinalPositionSection sectionPosition : sectionPositions) { CatEMHSection section = sectionPosition.getName(); Double value = builder.getReportResultProviderService().getValue(selectedTime, reportRunVariableKey, section.getNom()); @@ -85,6 +93,8 @@ drawnSegment.add(xps.size() - 1);//segment dessine } labels.put(xps.size(), section.getBranche().getNom() + " / " + section.getNom());//le faire avant l'ajout ! + labelBranches.put(xps.size(), section.getBranche().getNom()); + labelSections.put(xps.size(), section.getNom()); xps.add(sectionPosition.getXpDisplay()); values.add(value); firstAddInBranche = false; @@ -98,6 +108,7 @@ model.setLabelColumnName(NbBundle.getMessage(ReportLongitudinalCourbesUiResController.class, "BrancheSectionColumn.Name")); model.setDrawnSegment(drawnSegment); model.setLabels(labels); + model.setSubLabels(sublabels); boolean isOnZ = ReportRunVariableHelper.isZOrDzNature(reportRunVariableKey.getVariable(), builder.getReportResultProviderService()); final EGAxeVertical axisToUse = isOnZ ? axeZ : rightAxis; connectVerticalSegment(model, ccm); @@ -106,7 +117,7 @@ AbstractReportGrapheBuilder.applyPersistConfig(content.getCourbeconfigs().get(model.getKey()), courbe); return courbe; } - + public static void connectVerticalSegment(LoiConstanteCourbeModel model, CrueConfigMetier ccm) { PropertyEpsilon epsilon = ccm.getEpsilon(CrueConfigMetierConstants.PROP_XP); CtuluListSelection drawnSegment = model.getDrawnSegment(); @@ -119,7 +130,7 @@ drawnSegment.add(i); } } - + } } } Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderLimit.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderLimit.java 2015-11-24 22:31:51 UTC (rev 9197) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderLimit.java 2015-11-24 23:15:41 UTC (rev 9198) @@ -9,7 +9,9 @@ import org.fudaa.dodico.crue.projet.report.longitudinal.ReportLongitudinalBrancheCartouche; import gnu.trove.TDoubleArrayList; import gnu.trove.TIntObjectHashMap; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.fudaa.ctulu.CtuluListSelection; import org.fudaa.dodico.crue.common.BusinessMessages; import org.fudaa.dodico.crue.common.io.CrueIOResu; @@ -22,6 +24,7 @@ import org.fudaa.dodico.crue.metier.emh.DonPrtGeoProfilEtiquette; import org.fudaa.dodico.crue.metier.emh.DonPrtGeoProfilSection; import org.fudaa.dodico.crue.metier.emh.EMHSectionProfil; +import org.fudaa.dodico.crue.metier.factory.CruePrefix; import org.fudaa.dodico.crue.metier.helper.DonPrtHelper; import org.fudaa.dodico.crue.metier.helper.EtiquetteIndexed; import org.fudaa.dodico.crue.metier.helper.LitNommeIndexed; @@ -61,6 +64,11 @@ TDoubleArrayList xps = new TDoubleArrayList(); TDoubleArrayList values = new TDoubleArrayList(); TIntObjectHashMap labels = new TIntObjectHashMap(); + Map<String, TIntObjectHashMap<String>> sublabels = new HashMap<>(); + TIntObjectHashMap<String> labelBranches = new TIntObjectHashMap<>(); + TIntObjectHashMap<String> labelSections = new TIntObjectHashMap<>(); + sublabels.put(CruePrefix.P_BRANCHE, labelBranches); + sublabels.put(CruePrefix.P_SECTION, labelSections); CtuluListSelection drawnSegment = new CtuluListSelection(); ItemEnum etiquette = limitHelper.getEtiquette(reportRunVariableKey.getVariable().getVariableName()); LitNommeLimite limite = limitHelper.getLimite(reportRunVariableKey.getVariable().getVariableName()); @@ -77,6 +85,8 @@ boolean ok = computeZ(etiquette, limite, profil, values); if (ok) { labels.put(xps.size(), section.getBranche().getNom() + " / " + section.getNom()); + labelBranches.put(xps.size(), section.getBranche().getNom()); + labelSections.put(xps.size(), section.getNom()); if (!firstAddInBranche) {//ce n'est pas le premier point de la ligne drawnSegment.add(xps.size() - 1);//segment dessine } @@ -93,6 +103,7 @@ LoiConstanteCourbeModel model = LoiConstanteCourbeModel.create(key, xps, values, varX, varY); model.setDrawnSegment(drawnSegment); model.setLabels(labels); + model.setSubLabels(sublabels); model.setLabelColumnName(NbBundle.getMessage(ReportLongitudinalCourbesUiResController.class, "BrancheSectionColumn.Name")); ReportLongitudinalGrapheBuilderCourbe.connectVerticalSegment(model, ccm); if (etiquette != null) { @@ -114,15 +125,13 @@ values.add(foundPt.getPoint().getZ()); } - } else { - if (limite != null) { - CrueIOResu<List<LitNommeIndexed>> asIndexedData = new ValidateAndRebuildProfilSection(ccm, null).getAsIndexedData(profil); - if (asIndexedData != null && asIndexedData.getMetier() != null) { - int ptIdx = ReportLongitudinalHelper.finPtIdx(asIndexedData, limite); - if (ptIdx >= 0) { - ok = true; - values.add(profil.getPtProfil().get(ptIdx).getZ()); - } + } else if (limite != null) { + CrueIOResu<List<LitNommeIndexed>> asIndexedData = new ValidateAndRebuildProfilSection(ccm, null).getAsIndexedData(profil); + if (asIndexedData != null && asIndexedData.getMetier() != null) { + int ptIdx = ReportLongitudinalHelper.finPtIdx(asIndexedData, limite); + if (ptIdx >= 0) { + ok = true; + values.add(profil.getPtProfil().get(ptIdx).getZ()); } } } Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalGrapheBuilder.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalGrapheBuilder.java 2015-11-24 22:31:51 UTC (rev 9197) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalGrapheBuilder.java 2015-11-24 23:15:41 UTC (rev 9198) @@ -17,6 +17,7 @@ import org.fudaa.dodico.crue.config.ccm.ItemVariable; import org.fudaa.dodico.crue.config.ccm.PropertyNature; import org.fudaa.dodico.crue.metier.emh.ResultatTimeKey; +import org.fudaa.dodico.crue.metier.factory.CruePrefix; import org.fudaa.ebli.courbe.EGAxeHorizontal; import org.fudaa.ebli.courbe.EGAxeVertical; import org.fudaa.ebli.courbe.EGCourbeSimple; @@ -142,6 +143,7 @@ TDoubleArrayList values = new TDoubleArrayList(); TDoubleArrayList times = new TDoubleArrayList(); TIntObjectHashMap<String> labels = new TIntObjectHashMap<String>(); + for (Pair<ResultatTimeKey, Long> pair : timeByKey) { Double value = reportResultProviderService.getValue(pair.first, key.getRunVariableKey(), key.getEmhName()); if (value != null) { Modified: trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/longitudinal/Bundle.properties =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/longitudinal/Bundle.properties 2015-11-24 22:31:51 UTC (rev 9197) +++ trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/longitudinal/Bundle.properties 2015-11-24 23:15:41 UTC (rev 9198) @@ -32,5 +32,6 @@ LineSection.DisplayName=Contour LineBranche.DisplayName=Contour BannerConfiguration.DialogTitle=Configuration du cartouche +BrancheSectionColumn.Name=Branche / Section SectionColumn.Name=Section -BrancheSectionColumn.Name=Branche / Section +BrancheColumn.Name=Branche This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2015-11-25 22:57:49
|
Revision: 9203 http://sourceforge.net/p/fudaa/svn/9203 Author: deniger Date: 2015-11-25 22:57:46 +0000 (Wed, 25 Nov 2015) Log Message: ----------- CRUE-667 Modified Paths: -------------- trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/longitudinal/ReportLongitudinalConfig.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilder.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalTimeChooser.java trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/longitudinal/Bundle.properties Modified: trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/longitudinal/ReportLongitudinalConfig.java =================================================================== --- trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/longitudinal/ReportLongitudinalConfig.java 2015-11-25 22:19:43 UTC (rev 9202) +++ trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/longitudinal/ReportLongitudinalConfig.java 2015-11-25 22:57:46 UTC (rev 9203) @@ -65,6 +65,9 @@ @XStreamAlias("Vue-Config") ViewCourbeConfig loiLegendConfig = new ViewCourbeConfig(); + @XStreamAlias("Temps-courant-affiche") + Boolean currentTimeDisplayed = Boolean.TRUE; + @Override public ViewCourbeConfig getLoiLegendConfig() { return loiLegendConfig; @@ -74,7 +77,6 @@ return courbeconfigs; } - @Override protected void cleanUnusedCourbesConfig(Set<ReportKeyContract> usedKeys) { for (Iterator<ReportRunVariableTimeKey> it = courbeconfigs.keySet().iterator(); it.hasNext();) { @@ -97,6 +99,15 @@ return modified; } + public Boolean getCurrentTimeDisplayed() { + return currentTimeDisplayed == null ? Boolean.TRUE : currentTimeDisplayed; + } + + public void setCurrentTimeDisplayed(Boolean currentTimeDisplayed) { + this.currentTimeDisplayed = currentTimeDisplayed; + } + + public List<ResultatTimeKey> getTimes() { return times; } @@ -139,6 +150,9 @@ if (times == null) { times = new ArrayList<ResultatTimeKey>(); } + if (currentTimeDisplayed == null) { + currentTimeDisplayed = Boolean.TRUE; + } if (courbeconfigs == null) { courbeconfigs = new HashMap<ReportRunVariableTimeKey, EGCourbePersist>(); } @@ -171,7 +185,8 @@ for (ReportRunVariableKey vKey : profilVariables) { //pour eviter les limites -> vKey.isReadVariable() //uniquement Qini pour les RESULTAT_RPTI sur l'axe de droite - if (vKey.getVariableName().equals(CrueConfigMetierConstants.QINI) || (vKey.isReadOrVariable() && ReportRunVariableHelper.isNotAZNOrDzNature(vKey.getVariable(), service))) { + if (vKey.getVariableName().equals(CrueConfigMetierConstants.QINI) || (vKey.isReadOrVariable() && ReportRunVariableHelper.isNotAZNOrDzNature( + vKey.getVariable(), service))) { return vKey.getVariable().getVariableName(); } } @@ -182,7 +197,8 @@ for (Iterator<ReportRunVariableKey> it = profilVariables.iterator(); it.hasNext();) { ReportRunVariableKey vKey = it.next(); //pour eviter les limites -> vKey.isReadVariable() - if (vKey.getVariableName().equals(CrueConfigMetierConstants.QINI) || (vKey.isReadOrVariable() && ReportRunVariableHelper.isNotAZNOrDzNature(vKey.getVariable(), service))) { + if (vKey.getVariableName().equals(CrueConfigMetierConstants.QINI) || (vKey.isReadOrVariable() && ReportRunVariableHelper.isNotAZNOrDzNature( + vKey.getVariable(), service))) { it.remove(); } } Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilder.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilder.java 2015-11-25 22:19:43 UTC (rev 9202) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilder.java 2015-11-25 22:57:46 UTC (rev 9203) @@ -129,12 +129,15 @@ } private List<EGCourbeSimple> createCourbesOnCurrentTimeStep(ReportLongitudinalConfig content, ProgressHandle progress) { + if (Boolean.FALSE.equals(content.getCurrentTimeDisplayed())) { + return Collections.emptyList(); + } ReportLongitudinalGrapheBuilderCourbe courbeBuilder = new ReportLongitudinalGrapheBuilderCourbe(reportService.getCcm(), this, content); if (result == null) { return Collections.emptyList(); } List<ReportRunVariableKey> var = content.getProfilVariables(); - List<EGCourbeSimple> courbes = new ArrayList<EGCourbeSimple>(); + List<EGCourbeSimple> courbes = new ArrayList<>(); ResultatTimeKey selectedTime = reportService.getSelectedTime(); if (selectedTime != null) { for (ReportRunVariableKey reportRunVariableKey : var) { Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalTimeChooser.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalTimeChooser.java 2015-11-25 22:19:43 UTC (rev 9202) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalTimeChooser.java 2015-11-25 22:57:46 UTC (rev 9203) @@ -9,7 +9,9 @@ import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.util.List; +import javax.swing.BorderFactory; import javax.swing.JCheckBox; +import javax.swing.JComboBox; import javax.swing.JPanel; import javax.swing.JScrollPane; import org.fudaa.dodico.crue.common.transformer.ToStringTransformer; @@ -48,7 +50,7 @@ list.addCheckBoxListSelectedIndex(i); } } - JPanel pn = new JPanel(new BorderLayout(0, 5)); + JPanel pnCenter = new JPanel(new BorderLayout(0, 5)); final JCheckBox selectAll = new JCheckBox(NbBundle.getMessage(ReportLongitudinalTimeChooser.class, "ChooseTime.SelectAllNone")); selectAll.addItemListener(new ItemListener() { @@ -62,13 +64,29 @@ } } }); - pn.add(new JScrollPane(list)); - pn.add(selectAll, BorderLayout.NORTH); + pnCenter.add(new JScrollPane(list)); + pnCenter.add(selectAll, BorderLayout.NORTH); + pnCenter.setBorder(BorderFactory.createEmptyBorder(10, 3, 0, 3)); + JPanel pn = new JPanel(new BorderLayout(0, 5)); + JComboBox currentTimeDisplayed = new JComboBox(new String[]{ + org.openide.util.NbBundle.getMessage(ReportLongitudinalTimeChooser.class, "ChooseTime.DisplayCurrentTime"), + org.openide.util.NbBundle.getMessage(ReportLongitudinalTimeChooser.class, "ChooseTime.NotDisplayCurrentTime") + + }); + currentTimeDisplayed.setSelectedIndex(0); + if (Boolean.FALSE.equals(config.getCurrentTimeDisplayed())) { + currentTimeDisplayed.setSelectedIndex(1); + + } + pn.add(currentTimeDisplayed, BorderLayout.NORTH); + pn.add(pnCenter); + String title = org.openide.util.NbBundle.getMessage(ReportLongitudinalTimeChooser.class, "ChooseTime.DialogTitle"); boolean ok = DialogHelper.showQuestionAndSaveDialogConf(title, pn, getClass(), "vueProfilLongitudinal_ConfigurationPasDeTemps", PerspectiveEnum.REPORT, true); if (ok) { config.getTimes().clear(); + config.setCurrentTimeDisplayed(currentTimeDisplayed.getSelectedIndex() == 0); final Object[] selectedValues = list.getCheckBoxListSelectedValues(); for (Object object : selectedValues) { config.getTimes().add((ResultatTimeKey) object); Modified: trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/longitudinal/Bundle.properties =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/longitudinal/Bundle.properties 2015-11-25 22:19:43 UTC (rev 9202) +++ trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/longitudinal/Bundle.properties 2015-11-25 22:57:46 UTC (rev 9203) @@ -35,3 +35,5 @@ BrancheSectionColumn.Name=Branche / Section SectionColumn.Name=Section BrancheColumn.Name=Branche +ChooseTime.DisplayCurrentTime=Afficher au pas de temps courant +ChooseTime.NotDisplayCurrentTime=Ne pas afficher au pas de temps courant This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2016-02-19 14:59:02
|
Revision: 9276 http://sourceforge.net/p/fudaa/svn/9276 Author: deniger Date: 2016-02-19 14:58:59 +0000 (Fri, 19 Feb 2016) Log Message: ----------- traductions Modified Paths: -------------- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalExportDataBuilder.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/time/ReportTimeReduceRangePanel.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/time/ReportTimeStepSliderPanel.java trunk/soft/fudaa-crue/ui-views/src/main/java/org/fudaa/fudaa/crue/views/export/DonClimMExportTableModel.java Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalExportDataBuilder.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalExportDataBuilder.java 2016-02-15 22:10:43 UTC (rev 9275) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalExportDataBuilder.java 2016-02-19 14:58:59 UTC (rev 9276) @@ -3,6 +3,7 @@ */ package org.fudaa.fudaa.crue.report.longitudinal; +import com.memoire.fu.FuEmptyArrays; import gnu.trove.TIntObjectHashMap; import java.awt.color.ColorSpace; import java.util.ArrayList; @@ -100,6 +101,11 @@ } @Override + public int[] getSelectedRows() { + return FuEmptyArrays.INT0; + } + + @Override public Object getValue(int _row, int _col) { if (_col == COLUMN_BRANCHE) { return branches.get(_row); Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/time/ReportTimeReduceRangePanel.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/time/ReportTimeReduceRangePanel.java 2016-02-15 22:10:43 UTC (rev 9275) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/time/ReportTimeReduceRangePanel.java 2016-02-19 14:58:59 UTC (rev 9276) @@ -8,13 +8,10 @@ import com.memoire.bu.BuLib; import java.awt.BorderLayout; import java.awt.FlowLayout; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.util.List; import javax.swing.BorderFactory; -import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JPanel; @@ -25,10 +22,8 @@ import org.fudaa.fudaa.crue.common.PerspectiveEnum; import org.fudaa.fudaa.crue.common.helper.ComboBoxHelper; import org.fudaa.fudaa.crue.common.helper.ToStringTransfomerCellRenderer; -import org.fudaa.fudaa.crue.common.services.SysdocContrat; import org.fudaa.fudaa.crue.common.services.SysdocUrlBuilder; import org.openide.util.HelpCtx; -import org.openide.util.Lookup; /** * Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/time/ReportTimeStepSliderPanel.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/time/ReportTimeStepSliderPanel.java 2016-02-15 22:10:43 UTC (rev 9275) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/time/ReportTimeStepSliderPanel.java 2016-02-19 14:58:59 UTC (rev 9276) @@ -141,10 +141,8 @@ if (videoRecorder != null) { videoRecorder.end(); } - } else { - if (videoRecorder != null) { - videoRecorder.nextDone(); - } + } else if (videoRecorder != null) { + videoRecorder.nextDone(); } } protected int playDelay = 1000; @@ -247,6 +245,9 @@ btNext.setEnabled(editable && enable); btLast.setEnabled(editable && enable); btPlay.setEnabled(editable && enable); + if (editable && !enable) { + setIcon(btPlay, "play.png"); + } btReplay.setEnabled(editable); } Modified: trunk/soft/fudaa-crue/ui-views/src/main/java/org/fudaa/fudaa/crue/views/export/DonClimMExportTableModel.java =================================================================== --- trunk/soft/fudaa-crue/ui-views/src/main/java/org/fudaa/fudaa/crue/views/export/DonClimMExportTableModel.java 2016-02-15 22:10:43 UTC (rev 9275) +++ trunk/soft/fudaa-crue/ui-views/src/main/java/org/fudaa/fudaa/crue/views/export/DonClimMExportTableModel.java 2016-02-19 14:58:59 UTC (rev 9276) @@ -3,6 +3,7 @@ */ package org.fudaa.fudaa.crue.views.export; +import com.memoire.fu.FuEmptyArrays; import java.util.Collections; import java.util.List; import jxl.write.Label; @@ -12,9 +13,7 @@ import org.fudaa.dodico.crue.config.ccm.CrueConfigMetier; import org.fudaa.dodico.crue.config.ccm.DecimalFormatEpsilonEnum; import org.fudaa.dodico.crue.config.ccm.ItemVariable; -import org.fudaa.dodico.crue.metier.emh.CalcPseudoPermBrancheOrificeManoeuvre; import org.fudaa.dodico.crue.metier.emh.CalcPseudoPermItem; -import org.fudaa.dodico.crue.metier.emh.CalcTransBrancheOrificeManoeuvre; import org.fudaa.dodico.crue.metier.emh.CalcTransItem; import org.fudaa.dodico.crue.metier.emh.DonCLimM; import org.fudaa.dodico.crue.metier.emh.DonCLimMCommonItem; @@ -51,6 +50,11 @@ } @Override + public int[] getSelectedRows() { + return FuEmptyArrays.INT0; + } + + @Override public List<String> getComments() { return Collections.emptyList(); } @@ -125,4 +129,5 @@ String value = getValue(_rowInModel, _colInModel); return new Label(_colInXls, _rowInXls, value); } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2016-02-24 07:49:05
|
Revision: 9285 http://sourceforge.net/p/fudaa/svn/9285 Author: deniger Date: 2016-02-24 07:49:02 +0000 (Wed, 24 Feb 2016) Log Message: ----------- CRUE-651 Modified Paths: -------------- trunk/soft/fudaa-crue/ui-branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/Bundle.properties trunk/soft/fudaa-crue/ui-common/src/main/resources/org/fudaa/fudaa/crue/common/layer.xml trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/perspective/ActiveModelisation.java trunk/soft/fudaa-crue/ui-modelling/src/main/resources/org/fudaa/fudaa/crue/modelling/layer.xml trunk/soft/fudaa-crue/ui-options/src/main/resources/org/fudaa/fudaa/crue/options/layer.xml trunk/soft/fudaa-crue/ui-otfa/src/main/java/org/fudaa/fudaa/crue/otfa/perspective/ActiveOtfa.java trunk/soft/fudaa-crue/ui-otfa/src/main/resources/org/fudaa/fudaa/crue/otfa/layer.xml trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/perspective/ActivePost.java trunk/soft/fudaa-crue/ui-post/src/main/resources/org/fudaa/fudaa/crue/post/layer.xml trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/perspective/ActiveReport.java trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/layer.xml trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/perspective/ActiveStudy.java trunk/soft/fudaa-crue/ui-study/src/main/resources/org/fudaa/fudaa/crue/study/layer.xml trunk/soft/fudaa-crue/ui-sysdoc/src/main/resources/org/fudaa/fudaa/crue/sysdoc/layer.xml Modified: trunk/soft/fudaa-crue/ui-branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/Bundle.properties =================================================================== --- trunk/soft/fudaa-crue/ui-branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/Bundle.properties 2016-02-23 14:51:25 UTC (rev 9284) +++ trunk/soft/fudaa-crue/ui-branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/Bundle.properties 2016-02-24 07:49:02 UTC (rev 9285) @@ -1 +1,2 @@ WinSys.Show.Hide.MainWindow.While.Switching.Role=false +Editor.TopComponent.Closing.Enabled=false Modified: trunk/soft/fudaa-crue/ui-common/src/main/resources/org/fudaa/fudaa/crue/common/layer.xml =================================================================== --- trunk/soft/fudaa-crue/ui-common/src/main/resources/org/fudaa/fudaa/crue/common/layer.xml 2016-02-23 14:51:25 UTC (rev 9284) +++ trunk/soft/fudaa-crue/ui-common/src/main/resources/org/fudaa/fudaa/crue/common/layer.xml 2016-02-24 07:49:02 UTC (rev 9285) @@ -7,6 +7,8 @@ <file name="Separator4.instance"> <attr name="instanceClass" stringvalue="javax.swing.JSeparator"/> </file> + <file name="org-netbeans-core-windows-actions-CloseAllButThisAction.instance_hidden"/> + <file name="org-netbeans-core-windows-actions-CloseAllDocumentsAction.instance_hidden"/> </folder> </folder> <folder name="Menu"> Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/perspective/ActiveModelisation.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/perspective/ActiveModelisation.java 2016-02-23 14:51:25 UTC (rev 9284) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/perspective/ActiveModelisation.java 2016-02-24 07:49:02 UTC (rev 9285) @@ -1,7 +1,3 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ package org.fudaa.fudaa.crue.modelling.perspective; import java.util.Collection; @@ -16,7 +12,10 @@ import org.openide.awt.ActionRegistration; import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; - +/** + * Permet d'activer une perspective. Action utilisée dans la toobar pour changer de perspective. Pour la gestion des ordres des menus, voir le fichier + * layer.xml + */ @ActionID(category = "File", id = "org.fudaa.fudaa.crue.modelling.perspective.ActiveModelisation") @ActionRegistration(displayName = "#CTL_ActiveModelisation") @ActionReference(path = "Menu/Window", position = 3) Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/resources/org/fudaa/fudaa/crue/modelling/layer.xml =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/resources/org/fudaa/fudaa/crue/modelling/layer.xml 2016-02-23 14:51:25 UTC (rev 9284) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/resources/org/fudaa/fudaa/crue/modelling/layer.xml 2016-02-24 07:49:02 UTC (rev 9285) @@ -4,6 +4,10 @@ <folder name="Actions"> + <folder name="Window"> + <file name="org-netbeans-core-windows-actions-CloseAllButThisAction.instance_hidden"/> + <file name="org-netbeans-core-windows-actions-CloseAllDocumentsAction.instance_hidden"/> + </folder> </folder> <folder name="Menu"> <folder name="Window"> Modified: trunk/soft/fudaa-crue/ui-options/src/main/resources/org/fudaa/fudaa/crue/options/layer.xml =================================================================== --- trunk/soft/fudaa-crue/ui-options/src/main/resources/org/fudaa/fudaa/crue/options/layer.xml 2016-02-23 14:51:25 UTC (rev 9284) +++ trunk/soft/fudaa-crue/ui-options/src/main/resources/org/fudaa/fudaa/crue/options/layer.xml 2016-02-24 07:49:02 UTC (rev 9285) @@ -1,7 +1,13 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd"> <filesystem> - <folder name="DefaultConfig"> + <folder name="Actions"> + <folder name="Window"> + <file name="org-netbeans-core-windows-actions-CloseAllButThisAction.instance_hidden"/> + <file name="org-netbeans-core-windows-actions-CloseAllDocumentsAction.instance_hidden"/> + </folder> + </folder> + <folder name="DefaultConfig"> <file name="FudaaCrue_Site.xml" url="/FudaaCrue_Site.xml"/> <file name="FudaaCrue_Etude.xml" url="/FudaaCrue_Etude.xml"/> <file name="FudaaCrue_Aide.xml" url="/FudaaCrue_Aide.xml"/> Modified: trunk/soft/fudaa-crue/ui-otfa/src/main/java/org/fudaa/fudaa/crue/otfa/perspective/ActiveOtfa.java =================================================================== --- trunk/soft/fudaa-crue/ui-otfa/src/main/java/org/fudaa/fudaa/crue/otfa/perspective/ActiveOtfa.java 2016-02-23 14:51:25 UTC (rev 9284) +++ trunk/soft/fudaa-crue/ui-otfa/src/main/java/org/fudaa/fudaa/crue/otfa/perspective/ActiveOtfa.java 2016-02-24 07:49:02 UTC (rev 9285) @@ -6,6 +6,10 @@ import org.openide.awt.ActionReference; import org.openide.awt.ActionRegistration; +/** + * Permet d'activer une perspective. Action utilisée dans la toobar pour changer de perspective. Pour la gestion des ordres des menus, voir le fichier + * layer.xml + */ @ActionID(category = "File", id = "org.fudaa.fudaa.crue.otfa.perspective.ActiveOtfa") @ActionRegistration(displayName = "#CTL_ActiveOtfa") @ActionReference(path = "Menu/Window", position = 6) Modified: trunk/soft/fudaa-crue/ui-otfa/src/main/resources/org/fudaa/fudaa/crue/otfa/layer.xml =================================================================== --- trunk/soft/fudaa-crue/ui-otfa/src/main/resources/org/fudaa/fudaa/crue/otfa/layer.xml 2016-02-23 14:51:25 UTC (rev 9284) +++ trunk/soft/fudaa-crue/ui-otfa/src/main/resources/org/fudaa/fudaa/crue/otfa/layer.xml 2016-02-24 07:49:02 UTC (rev 9285) @@ -31,7 +31,7 @@ <folder name="Window"> <folder name="OTFA"> <attr name="displayName" bundlevalue="org.fudaa.fudaa.crue.otfa.Bundle#Menu/OTFA"/> - <attr name="position" intvalue="15"/> + <attr name="position" intvalue="18"/> </folder> </folder> </folder> Modified: trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/perspective/ActivePost.java =================================================================== --- trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/perspective/ActivePost.java 2016-02-23 14:51:25 UTC (rev 9284) +++ trunk/soft/fudaa-crue/ui-post/src/main/java/org/fudaa/fudaa/crue/post/perspective/ActivePost.java 2016-02-24 07:49:02 UTC (rev 9285) @@ -1,7 +1,3 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ package org.fudaa.fudaa.crue.post.perspective; import org.fudaa.fudaa.crue.common.PerspectiveEnum; @@ -9,7 +5,10 @@ import org.openide.awt.ActionID; import org.openide.awt.ActionReference; import org.openide.awt.ActionRegistration; - +/** + * Permet d'activer une perspective. Action utilisée dans la toobar pour changer de perspective. Pour la gestion des ordres des menus, voir le fichier + * layer.xml + */ @ActionID(category = "File", id = "org.fudaa.fudaa.crue.post.perspective.ActivePost") @ActionRegistration(displayName = "#CTL_ActivePost") @ActionReference(path = "Menu/Window" , position = 4) Modified: trunk/soft/fudaa-crue/ui-post/src/main/resources/org/fudaa/fudaa/crue/post/layer.xml =================================================================== --- trunk/soft/fudaa-crue/ui-post/src/main/resources/org/fudaa/fudaa/crue/post/layer.xml 2016-02-23 14:51:25 UTC (rev 9284) +++ trunk/soft/fudaa-crue/ui-post/src/main/resources/org/fudaa/fudaa/crue/post/layer.xml 2016-02-24 07:49:02 UTC (rev 9285) @@ -16,6 +16,8 @@ <attr name="preferredID" stringvalue="PostEmhExplorerTopComponent"/> </file> <!--<file name="org-fudaa-fudaa-crue-post-PostMainTopComponent.instance_hidden"/>--> + <file name="org-netbeans-core-windows-actions-CloseAllButThisAction.instance_hidden"/> + <file name="org-netbeans-core-windows-actions-CloseAllDocumentsAction.instance_hidden"/> </folder> </folder> <folder name="Menu"> Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/perspective/ActiveReport.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/perspective/ActiveReport.java 2016-02-23 14:51:25 UTC (rev 9284) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/perspective/ActiveReport.java 2016-02-24 07:49:02 UTC (rev 9285) @@ -1,7 +1,3 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ package org.fudaa.fudaa.crue.report.perspective; import java.util.Collection; @@ -16,7 +12,10 @@ import org.openide.awt.ActionRegistration; import org.openide.util.NbBundle; import org.openide.util.lookup.Lookups; - +/** + * Permet d'activer une perspective. Action utilisée dans la toobar pour changer de perspective. Pour la gestion des ordres des menus, voir le fichier + * layer.xml + */ @ActionID(category = "File", id = "org.fudaa.fudaa.crue.report.perspective.ActiveReport") @ActionRegistration(displayName = "#CTL_ActiveReport") @ActionReference(path = "Menu/Window", position = 5) Modified: trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties 2016-02-23 14:51:25 UTC (rev 9284) +++ trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties 2016-02-24 07:49:02 UTC (rev 9285) @@ -16,5 +16,5 @@ ExportAll.Action=Exporter\n ExportAll.Tootltip=Export en masse ExportEnded=Export termin\u00e9 vers le fichier {0} -cantWriteToFile.error=Il est impossible d'\u00e9crire dans le fichier {0}.\nRaison: {1} +cantWriteToFile.error=Il est impossible d''\u00e9crire dans le fichier {0}.\nRaison: {1} cantWriteToFileUsedByAnotherProcess.error=il est probablement ouvert par une autre application (Excel) Modified: trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/layer.xml =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/layer.xml 2016-02-23 14:51:25 UTC (rev 9284) +++ trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/layer.xml 2016-02-24 07:49:02 UTC (rev 9285) @@ -1,7 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd"> <filesystem> - <folder name="Menu"> + <folder name="Actions"> + <folder name="Window"> + <file name="org-netbeans-core-windows-actions-CloneDocumentAction.instance_hidden"/> + <file name="org-netbeans-core-windows-actions-CloseAllButThisAction.instance_hidden"/> + <file name="org-netbeans-core-windows-actions-CloseAllDocumentsAction.instance_hidden"/> + </folder> + </folder> + <folder name="Menu"> <!-- <folder name="Report"> <attr name="displayName" bundlevalue="org.fudaa.fudaa.crue.report.Bundle#Menu/Report"/> <attr name="position" intvalue="8"/> Modified: trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/perspective/ActiveStudy.java =================================================================== --- trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/perspective/ActiveStudy.java 2016-02-23 14:51:25 UTC (rev 9284) +++ trunk/soft/fudaa-crue/ui-study/src/main/java/org/fudaa/fudaa/crue/study/perspective/ActiveStudy.java 2016-02-24 07:49:02 UTC (rev 9285) @@ -1,7 +1,3 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ package org.fudaa.fudaa.crue.study.perspective; import org.fudaa.fudaa.crue.common.PerspectiveEnum; @@ -9,7 +5,10 @@ import org.openide.awt.ActionID; import org.openide.awt.ActionReference; import org.openide.awt.ActionRegistration; - +/** + * Permet d'activer une perspective. Action utilisée dans la toobar pour changer de perspective. Pour la gestion des ordres des menus, voir le fichier + * layer.xml + */ @ActionID(category = "File", id = "org.fudaa.fudaa.crue.study.perspective.ActiveStudy") @ActionRegistration(displayName = "#CTL_ActiveStudy") Modified: trunk/soft/fudaa-crue/ui-study/src/main/resources/org/fudaa/fudaa/crue/study/layer.xml =================================================================== --- trunk/soft/fudaa-crue/ui-study/src/main/resources/org/fudaa/fudaa/crue/study/layer.xml 2016-02-23 14:51:25 UTC (rev 9284) +++ trunk/soft/fudaa-crue/ui-study/src/main/resources/org/fudaa/fudaa/crue/study/layer.xml 2016-02-24 07:49:02 UTC (rev 9285) @@ -1,7 +1,14 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd"> <filesystem> - <folder name="Loaders"> + <folder name="Actions"> + <folder name="Window"> + <file name="org-netbeans-core-windows-actions-CloneDocumentAction.instance_hidden"/> + <file name="org-netbeans-core-windows-actions-CloseAllButThisAction.instance_hidden"/> + <file name="org-netbeans-core-windows-actions-CloseAllDocumentsAction.instance_hidden"/> + </folder> + </folder> + <folder name="Loaders"> <folder name="content"> <folder name="unknown"> <folder name="Actions"> Modified: trunk/soft/fudaa-crue/ui-sysdoc/src/main/resources/org/fudaa/fudaa/crue/sysdoc/layer.xml =================================================================== --- trunk/soft/fudaa-crue/ui-sysdoc/src/main/resources/org/fudaa/fudaa/crue/sysdoc/layer.xml 2016-02-23 14:51:25 UTC (rev 9284) +++ trunk/soft/fudaa-crue/ui-sysdoc/src/main/resources/org/fudaa/fudaa/crue/sysdoc/layer.xml 2016-02-24 07:49:02 UTC (rev 9285) @@ -2,7 +2,11 @@ <!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN" "http://www.netbeans.org/dtds/filesystem-1_2.dtd"> <filesystem> <folder name="Actions"> - <folder name="Window"/> + <folder name="Window"> + <file name="org-netbeans-core-windows-actions-CloneDocumentAction.instance_hidden"/> + <file name="org-netbeans-core-windows-actions-CloseAllButThisAction.instance_hidden"/> + <file name="org-netbeans-core-windows-actions-CloseAllDocumentsAction.instance_hidden"/> + </folder> </folder> <folder name="Menu"> <folder name="Window"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2016-02-24 10:26:40
|
Revision: 9287 http://sourceforge.net/p/fudaa/svn/9287 Author: deniger Date: 2016-02-24 10:26:38 +0000 (Wed, 24 Feb 2016) Log Message: ----------- CRUE-644 Modified Paths: -------------- trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/helper/ResPrtHelper.java trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/data/ReportRunVariableKey.java trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/data/ReportRunVariableTimeKey.java trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/export/ReportExportProfilLongitudinal.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/config/AbstractReportGrapheBuilder.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilder.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportProfilLongitudinalTopComponent.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportResultProviderService.java Modified: trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/helper/ResPrtHelper.java =================================================================== --- trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/helper/ResPrtHelper.java 2016-02-24 10:25:04 UTC (rev 9286) +++ trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/helper/ResPrtHelper.java 2016-02-24 10:26:38 UTC (rev 9287) @@ -2,7 +2,6 @@ import java.util.Arrays; import java.util.List; -import org.apache.commons.lang.StringUtils; import org.fudaa.dodico.crue.config.ccm.CrueConfigMetierConstants; /** @@ -10,13 +9,17 @@ * @author GRESSIER */ public class ResPrtHelper { - + public static List<String> getZiniVar() { return Arrays.asList(CrueConfigMetierConstants.ZINI); } - + public static List<String> getQiniVar() { return Arrays.asList(CrueConfigMetierConstants.QINI); } - + + public static boolean isRPTIVariable(String varName) { + return CrueConfigMetierConstants.ZINI.equals(varName) || CrueConfigMetierConstants.QINI.equals(varName); + } + } Modified: trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/data/ReportRunVariableKey.java =================================================================== --- trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/data/ReportRunVariableKey.java 2016-02-24 10:25:04 UTC (rev 9286) +++ trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/data/ReportRunVariableKey.java 2016-02-24 10:26:38 UTC (rev 9287) @@ -70,6 +70,9 @@ public boolean isReadVariable() { return ReportVariableTypeEnum.READ.equals(variable.getVariableType()); } + public boolean isRPTIVariable() { + return ReportVariableTypeEnum.RESULTAT_RPTI.equals(variable.getVariableType()); + } public boolean isReadOrVariable() { return isReadVariable() || ReportVariableTypeEnum.FORMULE.equals(variable.getVariableType()); Modified: trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/data/ReportRunVariableTimeKey.java =================================================================== --- trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/data/ReportRunVariableTimeKey.java 2016-02-24 10:25:04 UTC (rev 9286) +++ trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/data/ReportRunVariableTimeKey.java 2016-02-24 10:26:38 UTC (rev 9287) @@ -51,6 +51,9 @@ public boolean isLimitProfilVariable() { return ReportVariableTypeEnum.LIMIT_PROFIL.equals(runVariableKey.getVariable().getVariableType()); } + public boolean isRPTIVariable() { + return ReportVariableTypeEnum.RESULTAT_RPTI.equals(runVariableKey.getVariable().getVariableType()); + } public boolean isReadVariable() { return ReportVariableTypeEnum.READ.equals(runVariableKey.getVariable().getVariableType()); Modified: trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/export/ReportExportProfilLongitudinal.java =================================================================== --- trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/export/ReportExportProfilLongitudinal.java 2016-02-24 10:25:04 UTC (rev 9286) +++ trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/export/ReportExportProfilLongitudinal.java 2016-02-24 10:26:38 UTC (rev 9287) @@ -3,7 +3,9 @@ */ package org.fudaa.dodico.crue.projet.report.export; +import java.util.ArrayList; import java.util.Collections; +import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -55,7 +57,7 @@ } @Override - protected void writeInBook(Workbook wb, List<ReportRunVariableKey> variablesToExport, List<ResultatTimeKey> times) { + protected void writeInBook(Workbook wb, List<ReportRunVariableKey> variablesToExportInit, List<ResultatTimeKey> times) { String sheetName = CtuluResource.CTULU.getString("Feuille {0}", CtuluLibString.getString(1)); ReportExcelFormatData formater = new ReportExcelFormatData(wb); @@ -75,9 +77,9 @@ row.createCell(idx++).setCellValue(BusinessMessages.getString("prefix.sections")); String currentRunName = this.resultService.getRunCourant().getRunKey().getDisplayName(); row.createCell(idx++).setCellValue(propertyXp.getDisplayNom() + BusinessMessages.ENTITY_SEPARATOR + currentRunName); - final List<ReportRunVariableKey> variables = content.getProfilVariables(); + final List<ReportRunVariableKey> profilVariables = content.getProfilVariables(); //les titres des limites de profils - for (ReportRunVariableKey variable : variables) { + for (ReportRunVariableKey variable : profilVariables) { if (ReportVariableTypeEnum.LIMIT_PROFIL.equals(variable.getVariable().getVariableType())) { String displayName = displayNameById.get(variable.getVariableName()); if (StringUtils.isEmpty(displayName)) { @@ -86,7 +88,22 @@ row.createCell(idx++).setCellValue(displayName + BusinessMessages.ENTITY_SEPARATOR + currentRunName); } } - //les titres des variables + + List<ReportRunVariableKey> variablesToExport = new ArrayList<>(); + List<ReportRunVariableKey> variablesRPIToExport = new ArrayList<>(); + + //pour les valeur RPTI, il ne faut exporter qu'une seul fois par run. + for (ReportRunVariableKey variable : variablesToExportInit) { + if (variable.isRPTIVariable()) { + variablesRPIToExport.add(variable); + } else { + variablesToExport.add(variable); + } + } + for (ReportRunVariableKey variable : variablesRPIToExport) { + row.createCell(idx++).setCellValue( + variable.getVariable().getVariableDisplayName() + BusinessMessages.ENTITY_SEPARATOR + variable.getReportRunKey().getDisplayName()); + } for (ResultatTimeKey time : times) { for (ReportRunVariableKey variable : variablesToExport) { row.createCell(idx++).setCellValue( @@ -128,7 +145,7 @@ Cell cell = row.createCell(idx++); cell.setCellValue(reportLongitudinalPositionSection.getXpDisplay()); cell.setCellStyle(xpStyle); - for (ReportRunVariableKey variable : variables) { + for (ReportRunVariableKey variable : profilVariables) { if (ReportVariableTypeEnum.LIMIT_PROFIL.equals(variable.getVariable().getVariableType())) { ItemEnum etiquette = limitHelper.getEtiquette(variable.getVariable().getVariableName()); LitNommeLimite limite = limitHelper.getLimite(variable.getVariable().getVariableName()); @@ -147,6 +164,18 @@ } } } + + for (ReportRunVariableKey variable : variablesRPIToExport) { + Double value = resultService.getValue(variable, section.getNom()); + cell = row.createCell(idx++); + if (value != null) { + cell.setCellValue(value.doubleValue()); + final CellStyle style = formater.getStyle(resultService.getPropertyNature(variable.getVariableName()), + DecimalFormatEpsilonEnum.COMPARISON); + cell.setCellStyle(style); + + } + } for (ResultatTimeKey time : times) { for (ReportRunVariableKey variable : variablesToExport) { boolean isDz = ReportRunVariableHelper.isNatDzVar(variable.getVariable(), resultService); Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/config/AbstractReportGrapheBuilder.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/config/AbstractReportGrapheBuilder.java 2016-02-24 10:25:04 UTC (rev 9286) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/config/AbstractReportGrapheBuilder.java 2016-02-24 10:26:38 UTC (rev 9287) @@ -385,9 +385,13 @@ Object selectedKey = getSelectedKey(); CourbeComparator comparator = new CourbeComparator(); Collections.sort(externe, comparator); - Collections.sort(internCourbes, comparator); + if (internCourbes != null) { + Collections.sort(internCourbes, comparator); + } List<EGCourbeSimple> courbes = new ArrayList<EGCourbeSimple>(); - courbes.addAll(internCourbes); + if (internCourbes != null) { + courbes.addAll(internCourbes); + } courbes.addAll(externe); uiController.getEGGrapheSimpleModel().removeAllCurves(null); uiController.getEGGrapheSimpleModel().addCourbes((EGCourbeSimple[]) courbes.toArray(new EGCourbeSimple[courbes.size()]), null); Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilder.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilder.java 2016-02-24 10:25:04 UTC (rev 9286) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilder.java 2016-02-24 10:26:38 UTC (rev 9287) @@ -113,7 +113,7 @@ Object key = ((CourbeModelWithKey) courbe.getModel()).getKey(); if (key != null && ReportRunVariableTimeKey.class.equals(key.getClass())) { ReportRunVariableTimeKey reportKey = (ReportRunVariableTimeKey) key; - if (!reportKey.isDefinedOnSelectedTimeStep() || reportKey.isLimitProfilVariable()) { + if (!reportKey.isDefinedOnSelectedTimeStep() || reportKey.isLimitProfilVariable() || reportKey.isRPTIVariable()) { res.add(courbe); } } Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportProfilLongitudinalTopComponent.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportProfilLongitudinalTopComponent.java 2016-02-24 10:25:04 UTC (rev 9286) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportProfilLongitudinalTopComponent.java 2016-02-24 10:26:38 UTC (rev 9287) @@ -172,8 +172,8 @@ } } // ajout Zini issu du RPTI - List<String> varZIni = ResPrtHelper.getZiniVar(); - choosableVariables.addAll(varZIni); + choosableVariables.addAll(ResPrtHelper.getZiniVar()); + choosableVariables.addAll(ResPrtHelper.getQiniVar()); return choosableVariables; } Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportResultProviderService.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportResultProviderService.java 2016-02-24 10:25:04 UTC (rev 9286) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportResultProviderService.java 2016-02-24 10:26:38 UTC (rev 9287) @@ -18,6 +18,7 @@ import org.fudaa.dodico.crue.metier.emh.ResultatTimeKey; import org.fudaa.dodico.crue.metier.helper.DonPrtHelper; import org.fudaa.dodico.crue.metier.helper.EMHHelper; +import org.fudaa.dodico.crue.metier.helper.ResPrtHelper; import org.fudaa.dodico.crue.metier.transformer.TransformerEMHHelper; import org.fudaa.dodico.crue.projet.report.ReportResultProviderServiceContrat; import org.fudaa.dodico.crue.projet.report.data.ReportExpressionHelper; @@ -140,6 +141,9 @@ @Override public ReportVariableKey createVariableKey(String varName) { + if (ResPrtHelper.isRPTIVariable(varName)) { + return new ReportVariableKey(ReportVariableTypeEnum.RESULTAT_RPTI, varName); + } if (reportFormuleService.isFormule(varName)) { return new ReportVariableKey(ReportVariableTypeEnum.FORMULE, varName); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2016-02-24 12:58:14
|
Revision: 9291 http://sourceforge.net/p/fudaa/svn/9291 Author: deniger Date: 2016-02-24 12:58:11 +0000 (Wed, 24 Feb 2016) Log Message: ----------- CRUE-667 Modified Paths: -------------- trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/factory/DclmFactory.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/CalculNodeFactory.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImporter.java Modified: trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/factory/DclmFactory.java =================================================================== --- trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/factory/DclmFactory.java 2016-02-24 12:20:58 UTC (rev 9290) +++ trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/factory/DclmFactory.java 2016-02-24 12:58:11 UTC (rev 9291) @@ -232,6 +232,10 @@ return shortNom; } + public String getShortName() { + return shortNom; + } + @Override public String geti18nLongName() { return getNom(); Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/CalculNodeFactory.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/CalculNodeFactory.java 2016-02-24 12:20:58 UTC (rev 9290) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/CalculNodeFactory.java 2016-02-24 12:58:11 UTC (rev 9291) @@ -25,7 +25,6 @@ import org.fudaa.dodico.crue.metier.helper.CalcHelper; import org.fudaa.dodico.crue.metier.helper.OrdCalcCloner; import org.fudaa.dodico.crue.metier.helper.OrdCalcCloner.Result; -import org.fudaa.dodico.crue.metier.transformer.TransformerEMHHelper; import org.fudaa.fudaa.crue.common.node.NodeHelper; import org.fudaa.fudaa.crue.common.services.ModellingScenarioService; import org.fudaa.fudaa.crue.modelling.perspective.PerspectiveServiceModelling; @@ -114,7 +113,9 @@ public CalculDclmNode createDclmNode(DonCLimM donCLimM) { if (donCLimM.getCalculParent().isTransitoire()) { CalcTransItem asTrans = (CalcTransItem) donCLimM; - asTrans.setLoi(clonedLoisByName.get(asTrans.getLoi().getNom())); + if (asTrans.getLoi() != null) { + asTrans.setLoi(clonedLoisByName.get(asTrans.getLoi().getNom())); + } return new CalculDclmTransNode(Children.LEAF, (CalcTransItem) donCLimM, modellingScenarioService.getSelectedProjet().getPropDefinition(), perspectiveServiceModelling, donLoiHYConteneurCloned); } Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImporter.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImporter.java 2016-02-24 12:20:58 UTC (rev 9290) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/importer/CLimMsImporter.java 2016-02-24 12:58:11 UTC (rev 9291) @@ -5,6 +5,7 @@ import gnu.trove.TLongObjectHashMap; import java.util.ArrayList; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; @@ -190,7 +191,10 @@ it.remove(); } } - Map<String, DclmFactory.CalcBuilder> toMapOfNom = TransformerHelper.toMapOfNom(creators); + Map<String, DclmFactory.CalcBuilder> toMapOfNom = new HashMap<>(); + for (DclmFactory.CalcBuilder creator : creators) { + toMapOfNom.put(creator.getShortName(), creator); + } return toMapOfNom; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2016-02-24 22:28:57
|
Revision: 9294 http://sourceforge.net/p/fudaa/svn/9294 Author: deniger Date: 2016-02-24 22:28:54 +0000 (Wed, 24 Feb 2016) Log Message: ----------- CRUE-644 Modified Paths: -------------- trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/export/ReportExportProfilLongitudinal.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportLongitudinalExportAction.java Modified: trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/export/ReportExportProfilLongitudinal.java =================================================================== --- trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/export/ReportExportProfilLongitudinal.java 2016-02-24 20:28:54 UTC (rev 9293) +++ trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/report/export/ReportExportProfilLongitudinal.java 2016-02-24 22:28:54 UTC (rev 9294) @@ -6,6 +6,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; +import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.Set; @@ -36,6 +37,7 @@ import org.fudaa.dodico.crue.projet.report.data.ReportRunKey; import org.fudaa.dodico.crue.projet.report.data.ReportRunVariableHelper; import org.fudaa.dodico.crue.projet.report.data.ReportRunVariableKey; +import org.fudaa.dodico.crue.projet.report.data.ReportVariableKey; import org.fudaa.dodico.crue.projet.report.data.ReportVariableTypeEnum; import org.fudaa.dodico.crue.projet.report.excel.ReportExcelFormatData; import org.fudaa.dodico.crue.projet.report.longitudinal.ReportLongitudinalBrancheCartouche; @@ -51,14 +53,49 @@ * @author Frederic Deniger */ public class ReportExportProfilLongitudinal extends ReportExportAbstract<ReportLongitudinalConfig, ReportRunVariableKey> { - + public ReportExportProfilLongitudinal(ReportLongitudinalConfig config, ReportResultProviderServiceContrat resultService) { super(config, resultService); } - + + private static class RowCreator { + + int rowIdx = 0; + int colOffset = 0; + int colIdx = 0; + int maxCol = 0; + final Sheet currentSheet; + Row currentRow; + + public RowCreator(Sheet currentSheet) { + this.currentSheet = currentSheet; + } + + public void getRowAndIncrement() { + currentRow = currentSheet.getRow(rowIdx); + if (currentRow == null) { + currentRow = currentSheet.createRow(rowIdx); + } + colIdx = colOffset; + rowIdx++; + } + + public Cell createNextCell() { + Cell res = currentRow.createCell(colIdx++); + maxCol = Math.max(maxCol, colIdx); + return res; + } + + public void nextBlock() { + rowIdx = 0; + colOffset = maxCol; + } + + } + @Override protected void writeInBook(Workbook wb, List<ReportRunVariableKey> variablesToExportInit, List<ResultatTimeKey> times) { - + String sheetName = CtuluResource.CTULU.getString("Feuille {0}", CtuluLibString.getString(1)); ReportExcelFormatData formater = new ReportExcelFormatData(wb); Sheet currentSheet = wb.createSheet(sheetName); @@ -68,138 +105,142 @@ ReportLongitudinalLimitHelper limitHelper = new ReportLongitudinalLimitHelper(ccm); final Map<String, String> displayNameById = limitHelper.getDisplayNameById(); final ItemVariable propertyXp = ccm.getProperty(CrueConfigMetierConstants.PROP_XP); - - //ecriture des titres - int rowIdx = 0; - Row row = currentSheet.createRow(rowIdx++); - int idx = 0; - row.createCell(idx++).setCellValue(BusinessMessages.getString("prefix.branches")); - row.createCell(idx++).setCellValue(BusinessMessages.getString("prefix.sections")); - String currentRunName = this.resultService.getRunCourant().getRunKey().getDisplayName(); - row.createCell(idx++).setCellValue(propertyXp.getDisplayNom() + BusinessMessages.ENTITY_SEPARATOR + currentRunName); - final List<ReportRunVariableKey> profilVariables = content.getProfilVariables(); - //les titres des limites de profils - for (ReportRunVariableKey variable : profilVariables) { - if (ReportVariableTypeEnum.LIMIT_PROFIL.equals(variable.getVariable().getVariableType())) { - String displayName = displayNameById.get(variable.getVariableName()); - if (StringUtils.isEmpty(displayName)) { - displayName = variable.getVariableName(); + Set<ReportRunKey> runs = new LinkedHashSet<>(); + for (ReportRunVariableKey reportRunVariableKey : variablesToExportInit) { + runs.add(reportRunVariableKey.getReportRunKey()); + } + RowCreator rowCreator = new RowCreator(currentSheet); + for (ReportRunKey runKey : runs) { + //ecriture des titres + rowCreator.getRowAndIncrement(); + String runName = runKey.getDisplayName(); + rowCreator.createNextCell().setCellValue(BusinessMessages.getString("prefix.branches") + BusinessMessages.ENTITY_SEPARATOR + runName); + rowCreator.createNextCell().setCellValue(BusinessMessages.getString("prefix.sections") + BusinessMessages.ENTITY_SEPARATOR + runName); + rowCreator.createNextCell().setCellValue(propertyXp.getDisplayNom() + BusinessMessages.ENTITY_SEPARATOR + runName); + final List<ReportRunVariableKey> profilVariables = content.getProfilVariables(); + //les titres des limites de profils + for (ReportRunVariableKey variable : profilVariables) { + if (ReportVariableTypeEnum.LIMIT_PROFIL.equals(variable.getVariable().getVariableType())) { + String displayName = displayNameById.get(variable.getVariableName()); + if (StringUtils.isEmpty(displayName)) { + displayName = variable.getVariableName(); + } + rowCreator.createNextCell().setCellValue(displayName + BusinessMessages.ENTITY_SEPARATOR + runName); } - row.createCell(idx++).setCellValue(displayName + BusinessMessages.ENTITY_SEPARATOR + currentRunName); } - } + + List<ReportRunVariableKey> variablesToExport = new ArrayList<>(); + List<ReportRunVariableKey> variablesRPIToExport = new ArrayList<>(); - List<ReportRunVariableKey> variablesToExport = new ArrayList<>(); - List<ReportRunVariableKey> variablesRPIToExport = new ArrayList<>(); - - //pour les valeur RPTI, il ne faut exporter qu'une seul fois par run. - for (ReportRunVariableKey variable : variablesToExportInit) { - if (variable.isRPTIVariable()) { - variablesRPIToExport.add(variable); - } else { - variablesToExport.add(variable); + //pour les valeur RPTI, il ne faut exporter qu'une seul fois par runKey. + for (ReportRunVariableKey variable : variablesToExportInit) { + if (variable.getRunKey().equals(runKey)) { + if (variable.isRPTIVariable()) { + variablesRPIToExport.add(variable); + } else { + variablesToExport.add(variable); + } + } } - } - for (ReportRunVariableKey variable : variablesRPIToExport) { - row.createCell(idx++).setCellValue( - variable.getVariable().getVariableDisplayName() + BusinessMessages.ENTITY_SEPARATOR + variable.getReportRunKey().getDisplayName()); - } - for (ResultatTimeKey time : times) { - for (ReportRunVariableKey variable : variablesToExport) { - row.createCell(idx++).setCellValue( - variable.getVariable().getVariableDisplayName() + BusinessMessages.ENTITY_SEPARATOR + ResultatTimeKey.timeToString(time) + BusinessMessages.ENTITY_SEPARATOR + variable. - getReportRunKey(). - getDisplayName()); + for (ReportRunVariableKey variable : variablesRPIToExport) { + rowCreator.createNextCell().setCellValue(variable.getVariable().getVariableDisplayName() + BusinessMessages.ENTITY_SEPARATOR + runName); } - } - final List<ReportLongitudinalBrancheConfig> branchesConfig = content.getBranchesConfig(); - ReportLongitudinalPositionBuilder positionBuilder = new ReportLongitudinalPositionBuilder(this.resultService, ccm); - final ReportRunKey runCourant = this.resultService.getRunCourant().getRunKey(); - Set<ReportRunKey> keys = Collections.singleton(runCourant); + for (ResultatTimeKey time : times) { + for (ReportRunVariableKey variable : variablesToExport) { + rowCreator.createNextCell().setCellValue( + variable.getVariable().getVariableDisplayName() + BusinessMessages.ENTITY_SEPARATOR + ResultatTimeKey.timeToString(time) + BusinessMessages.ENTITY_SEPARATOR + runName); + } + } + final List<ReportLongitudinalBrancheConfig> branchesConfig = content.getBranchesConfig(); + ReportLongitudinalPositionBuilder positionBuilder = new ReportLongitudinalPositionBuilder(this.resultService, ccm); + Set<ReportRunKey> keys = Collections.singleton(runKey); - //construction des cartouches - double xpInit = 0; - ReportLongitudinalPositionBrancheContent result = new ReportLongitudinalPositionBrancheContent(); - for (ReportLongitudinalBrancheConfig brancheConfig : branchesConfig) { - xpInit = xpInit + brancheConfig.getDecalXp(); - positionBuilder.buildPositions(xpInit, brancheConfig, result, keys); - xpInit = xpInit + brancheConfig.getLength(); - } + //construction des cartouches + double xpInit = 0; + ReportLongitudinalPositionBrancheContent result = new ReportLongitudinalPositionBrancheContent(); + for (ReportLongitudinalBrancheConfig brancheConfig : branchesConfig) { + xpInit = xpInit + brancheConfig.getDecalXp(); + positionBuilder.buildPositions(xpInit, brancheConfig, result, keys); + xpInit = xpInit + brancheConfig.getLength(); + } - //ecritures des valeurs - final List<ReportLongitudinalBrancheCartouche> cartouches = result.getCartouches(); - //les styles commun - final CellStyle xpStyle = formater.getStyle(propertyXp.getNature(), DecimalFormatEpsilonEnum.COMPARISON); - final PropertyNature natureForZ = resultService.getCcm().getProperty(CrueConfigMetierConstants.PROP_Z).getNature(); - final CellStyle zStyle = formater. - getStyle(natureForZ, DecimalFormatEpsilonEnum.COMPARISON); - for (ReportLongitudinalBrancheCartouche cartouche : cartouches) { - final ReportLongitudinalPositionSectionByRun sectionPositions = cartouche.getSectionPositions(runCourant); - final List<ReportLongitudinalPositionSection> sectionDisplayPositions = sectionPositions.getSectionDisplayPositions(); - for (ReportLongitudinalPositionSection reportLongitudinalPositionSection : sectionDisplayPositions) { - idx = 0; - row = currentSheet.createRow(rowIdx++); - final CatEMHSection section = reportLongitudinalPositionSection.getName(); - row.createCell(idx++).setCellValue(section.getBranche().getNom()); - row.createCell(idx++).setCellValue(section.getNom()); - Cell cell = row.createCell(idx++); - cell.setCellValue(reportLongitudinalPositionSection.getXpDisplay()); - cell.setCellStyle(xpStyle); - for (ReportRunVariableKey variable : profilVariables) { - if (ReportVariableTypeEnum.LIMIT_PROFIL.equals(variable.getVariable().getVariableType())) { - ItemEnum etiquette = limitHelper.getEtiquette(variable.getVariable().getVariableName()); - LitNommeLimite limite = limitHelper.getLimite(variable.getVariable().getVariableName()); - cell = row.createCell(idx++); - if (etiquette != null || limite != null) { - EMHSectionProfil retrieveProfil = ReportProfilHelper.retrieveProfil(section); - if (retrieveProfil != null) { - DonPrtGeoProfilSection profil = DonPrtHelper.getProfilSection(retrieveProfil); - Double z = ReportExportUtils.computeZ(etiquette, limite, profil, ccm); - if (z != null) { - cell.setCellValue(z.doubleValue()); - cell.setCellStyle(zStyle); - + //ecritures des valeurs + final List<ReportLongitudinalBrancheCartouche> cartouches = result.getCartouches(); + //les styles commun + final CellStyle xpStyle = formater.getStyle(propertyXp.getNature(), DecimalFormatEpsilonEnum.COMPARISON); + final PropertyNature natureForZ = resultService.getCcm().getProperty(CrueConfigMetierConstants.PROP_Z).getNature(); + final CellStyle zStyle = formater. + getStyle(natureForZ, DecimalFormatEpsilonEnum.COMPARISON); + for (ReportLongitudinalBrancheCartouche cartouche : cartouches) { + final ReportLongitudinalPositionSectionByRun sectionPositions = cartouche.getSectionPositions(runKey); + final List<ReportLongitudinalPositionSection> sectionDisplayPositions = sectionPositions.getSectionDisplayPositions(); + for (ReportLongitudinalPositionSection reportLongitudinalPositionSection : sectionDisplayPositions) { + rowCreator.getRowAndIncrement(); + final CatEMHSection section = reportLongitudinalPositionSection.getName(); + rowCreator.createNextCell().setCellValue(section.getBranche().getNom()); + rowCreator.createNextCell().setCellValue(section.getNom()); + Cell cell = rowCreator.createNextCell(); + cell.setCellValue(reportLongitudinalPositionSection.getXpDisplay()); + cell.setCellStyle(xpStyle); + for (ReportRunVariableKey variable : profilVariables) { + if (ReportVariableTypeEnum.LIMIT_PROFIL.equals(variable.getVariable().getVariableType())) { + ItemEnum etiquette = limitHelper.getEtiquette(variable.getVariable().getVariableName()); + LitNommeLimite limite = limitHelper.getLimite(variable.getVariable().getVariableName()); + cell = rowCreator.createNextCell(); + if (etiquette != null || limite != null) { + EMHSectionProfil retrieveProfil = ReportProfilHelper.retrieveProfil(section); + if (retrieveProfil != null) { + DonPrtGeoProfilSection profil = DonPrtHelper.getProfilSection(retrieveProfil); + Double z = ReportExportUtils.computeZ(etiquette, limite, profil, ccm); + if (z != null) { + cell.setCellValue(z.doubleValue()); + cell.setCellStyle(zStyle); + + } } } } } - } - - for (ReportRunVariableKey variable : variablesRPIToExport) { - Double value = resultService.getValue(variable, section.getNom()); - cell = row.createCell(idx++); - if (value != null) { - cell.setCellValue(value.doubleValue()); - final CellStyle style = formater.getStyle(resultService.getPropertyNature(variable.getVariableName()), - DecimalFormatEpsilonEnum.COMPARISON); - cell.setCellStyle(style); - - } - } - for (ResultatTimeKey time : times) { - for (ReportRunVariableKey variable : variablesToExport) { - boolean isDz = ReportRunVariableHelper.isNatDzVar(variable.getVariable(), resultService); - Double value = resultService.getValue(time, variable, section.getNom()); - if (isDz && value != null) { - Double valueZf = ReportProfilHelper.getRPTGZf(section); - if (valueZf == null) { - value = null; - } else { - value = Double.valueOf(value.doubleValue() + valueZf.doubleValue()); - } - } - cell = row.createCell(idx++); + + for (ReportRunVariableKey variableInit : variablesRPIToExport) { + ReportRunVariableKey variable = new ReportRunVariableKey(runKey, variableInit.getVariable()); + Double value = resultService.getValue(variable, section.getNom()); + cell = rowCreator.createNextCell(); if (value != null) { cell.setCellValue(value.doubleValue()); final CellStyle style = formater.getStyle(resultService.getPropertyNature(variable.getVariableName()), DecimalFormatEpsilonEnum.COMPARISON); cell.setCellStyle(style); - + } } + for (ResultatTimeKey time : times) { + for (ReportRunVariableKey variableInit : variablesToExport) { + ReportRunVariableKey variable = new ReportRunVariableKey(runKey, variableInit.getVariable()); + boolean isDz = ReportRunVariableHelper.isNatDzVar(variable.getVariable(), resultService); + Double value = resultService.getValue(time, variable, section.getNom()); + if (isDz && value != null) { + Double valueZf = ReportProfilHelper.getRPTGZf(section); + if (valueZf == null) { + value = null; + } else { + value = Double.valueOf(value.doubleValue() + valueZf.doubleValue()); + } + } + cell = rowCreator.createNextCell(); + if (value != null) { + cell.setCellValue(value.doubleValue()); + final CellStyle style = formater.getStyle(resultService.getPropertyNature(variable.getVariableName()), + DecimalFormatEpsilonEnum.COMPARISON); + cell.setCellStyle(style); + + } + } + } } } + rowCreator.nextBlock(); } } - + } Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportLongitudinalExportAction.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportLongitudinalExportAction.java 2016-02-24 20:28:54 UTC (rev 9293) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportLongitudinalExportAction.java 2016-02-24 22:28:54 UTC (rev 9294) @@ -84,7 +84,9 @@ keys.addAll(runKey); Collections.sort(keys, ObjetNommeByNameComparator.INSTANCE); final Set<ResultatTimeKey> selectedTimeKeys = new TreeSet<>(); - selectedTimeKeys.add(reportResultProviderService.getReportService().getSelectedTime()); + if (reportResultProviderService.getReportService().getSelectedTime() != null) { + selectedTimeKeys.add(reportResultProviderService.getReportService().getSelectedTime()); + } selectedTimeKeys.addAll(topComponent.getReportConfig().getTimes()); final List<ReportRunVariableKey> variablesKeys = variableChooser.getKeysForRuns(reportResultProviderService, toExport, keys); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2016-03-09 15:22:13
|
Revision: 9312 http://sourceforge.net/p/fudaa/svn/9312 Author: deniger Date: 2016-03-09 15:22:09 +0000 (Wed, 09 Mar 2016) Log Message: ----------- CRUE-634 CRUE-692 Modified Paths: -------------- trunk/soft/fudaa-crue/ui-branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/actions/Bundle_fr.properties trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/CrueSwingWorker.java trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/DialogHelper.java trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/UiContext.java trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/CourbesUiController.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/ReportVisualTopComponent.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportExportHelper.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportExportWriter.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalCourbesUiResController.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalCourbesUiResController.java trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties Modified: trunk/soft/fudaa-crue/ui-branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/actions/Bundle_fr.properties =================================================================== --- trunk/soft/fudaa-crue/ui-branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/actions/Bundle_fr.properties 2016-03-09 15:19:34 UTC (rev 9311) +++ trunk/soft/fudaa-crue/ui-branding/src/main/nbm-branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/actions/Bundle_fr.properties 2016-03-09 15:22:09 UTC (rev 9312) @@ -22,9 +22,9 @@ LBL_WindowTransparencyHint=Maintenir la touche [Ctrl+clavier num\u00e9rique 0] pour rendre transparente une fen\u00eatre minimis\u00e9e CTL_CloseModeAction=Fermer le groupe CTL_MinimizeModeAction=Minimiser le groupe -CTL_MinimizeWindowAction=Minimiser LBL_CloseAllDocumentsAction=Tout Fermer CTL_CloseAllButThisAction=Fermer les autres vues CTL_MoveWindowLeftContextAction=D\u00e9placer \u00e0 gauche CTL_MoveWindowRightContextAction=D\u00e9placer \u00e0 droite + Modified: trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/CrueSwingWorker.java =================================================================== --- trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/CrueSwingWorker.java 2016-03-09 15:19:34 UTC (rev 9311) +++ trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/CrueSwingWorker.java 2016-03-09 15:22:09 UTC (rev 9312) @@ -15,11 +15,17 @@ public abstract class CrueSwingWorker<R> extends SwingWorker<R, Object> { private final ProgressHandle ph; + private final String progressName; public CrueSwingWorker(String progessName) { + this.progressName = progessName; this.ph = ProgressHandleFactory.createHandle(progessName); } + public String getProgressName() { + return progressName; + } + @Override protected R doInBackground() throws Exception { ph.start(); Modified: trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/DialogHelper.java =================================================================== --- trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/DialogHelper.java 2016-03-09 15:19:34 UTC (rev 9311) +++ trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/DialogHelper.java 2016-03-09 15:22:09 UTC (rev 9312) @@ -153,25 +153,34 @@ NotifyDescriptor nd = new NotifyDescriptor.Message(msg, NotifyDescriptor.ERROR_MESSAGE); nd.setTitle(title); DialogDisplayer.getDefault().notify(nd); - NotificationDisplayer.getDefault().notify(title, CrueIconsProvider.getIcon("org/fudaa/fudaa/crue/common/icons/erreur-bloquante.png"), panelInfo, null, NotificationDisplayer.Priority.SILENT); + NotificationDisplayer.getDefault().notify(title, CrueIconsProvider.getIcon("org/fudaa/fudaa/crue/common/icons/erreur-bloquante.png"), panelInfo, + null, NotificationDisplayer.Priority.SILENT); } public static void showWarn(String title, String msg) { NotifyDescriptor nd = new NotifyDescriptor.Message(msg, NotifyDescriptor.WARNING_MESSAGE); nd.setTitle(title); DialogDisplayer.getDefault().notify(nd); + NotificationDisplayer.getDefault().notify(title, CrueIconsProvider.getIcon("org/fudaa/fudaa/crue/common/icons/avertissement.png"), msg, + null, NotificationDisplayer.Priority.SILENT); } public static void showWarn(String msg) { NotifyDescriptor nd = new NotifyDescriptor.Message(msg, NotifyDescriptor.WARNING_MESSAGE); nd.setTitle(org.openide.util.NbBundle.getMessage(DialogHelper.class, "Warn")); DialogDisplayer.getDefault().notify(nd); + NotificationDisplayer.getDefault().notify(msg, CrueIconsProvider.getIcon("org/fudaa/fudaa/crue/common/icons/avertissement.png"), msg, + null, NotificationDisplayer.Priority.SILENT); } public static void showInfo(String title, Object msg) { NotifyDescriptor nd = new NotifyDescriptor.Message(msg, NotifyDescriptor.INFORMATION_MESSAGE); nd.setTitle(title); DialogDisplayer.getDefault().notify(nd); + if (msg instanceof String) { + NotificationDisplayer.getDefault().notify(title, CrueIconsProvider.getIcon("org/fudaa/fudaa/crue/common/icons/information.png"), + (String) msg, null, NotificationDisplayer.Priority.SILENT); + } } public static void showInfo(final String title, final Object msg, boolean later) { @@ -221,7 +230,8 @@ return showQuestion(dialogDescriptor, classToSave); } - public static boolean showQuestionAndSaveDialogConf(String title, Object message, Class classToSave, String helpId, PerspectiveEnum perspective, boolean bDisplayHelpButton) { + public static boolean showQuestionAndSaveDialogConf(String title, Object message, Class classToSave, String helpId, PerspectiveEnum perspective, + boolean bDisplayHelpButton) { DialogDescriptor descriptor = new DialogDescriptor(message, title); if (helpId != null) { SysdocUrlBuilder.installDialogHelpCtx(descriptor, helpId, perspective, bDisplayHelpButton); @@ -246,7 +256,7 @@ public static UserSaveAnswer confirmSaveOrNot() { return confirmSaveOrNot( NbBundle.getMessage(DialogHelper.class, "SaveDialog.Title"), NbBundle.getMessage(DialogHelper.class, - "SaveDialog.Content"), + "SaveDialog.Content"), NbBundle.getMessage(DialogHelper.class, "SaveDialog.SaveAction"), NbBundle.getMessage(DialogHelper.class, "SaveDialog.DontSaveAction")); } Modified: trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/UiContext.java =================================================================== --- trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/UiContext.java 2016-03-09 15:19:34 UTC (rev 9311) +++ trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/UiContext.java 2016-03-09 15:22:09 UTC (rev 9312) @@ -16,10 +16,12 @@ import org.fudaa.ctulu.ProgressionFuAdapter; import org.fudaa.ctulu.ProgressionInterface; import org.fudaa.ctulu.gui.PopupMenuReceiver; +import org.fudaa.fudaa.crue.common.CrueIconsProvider; import org.jdesktop.swingx.JXTree; import org.jdesktop.swingx.treetable.DefaultTreeTableModel; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; +import org.openide.awt.NotificationDisplayer; import org.openide.windows.WindowManager; /** @@ -46,6 +48,8 @@ NotifyDescriptor nd = new NotifyDescriptor(_msg, _titre, NotifyDescriptor.DEFAULT_OPTION, NotifyDescriptor.ERROR_MESSAGE, new Object[]{NotifyDescriptor.OK_OPTION}, NotifyDescriptor.OK_OPTION); DialogDisplayer.getDefault().notify(nd); + NotificationDisplayer.getDefault().notify(_titre, CrueIconsProvider.getIcon("org/fudaa/fudaa/crue/common/icons/erreur-bloquante.png"), _msg, + null, NotificationDisplayer.Priority.SILENT); } @@ -88,11 +92,14 @@ public void message(String _titre, String _msg, boolean _tempo) { NotifyDescriptor nd = new NotifyDescriptor.Message(_msg, NotifyDescriptor.INFORMATION_MESSAGE); DialogDisplayer.getDefault().notify(nd); + NotificationDisplayer.getDefault().notify(_titre, CrueIconsProvider.getIcon("org/fudaa/fudaa/crue/common/icons/information.png"), + _msg, null, NotificationDisplayer.Priority.SILENT); } @Override public boolean question(String _titre, String _text) { - NotifyDescriptor nd = new NotifyDescriptor(_text, _titre, NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.QUESTION_MESSAGE, null, NotifyDescriptor.OK_OPTION); + NotifyDescriptor nd = new NotifyDescriptor(_text, _titre, NotifyDescriptor.YES_NO_OPTION, NotifyDescriptor.QUESTION_MESSAGE, null, + NotifyDescriptor.OK_OPTION); Object notify = DialogDisplayer.getDefault().notify(nd); return NotifyDescriptor.YES_OPTION.equals(notify); } @@ -102,6 +109,8 @@ NotifyDescriptor nd = new NotifyDescriptor(_msg, _titre, NotifyDescriptor.DEFAULT_OPTION, NotifyDescriptor.WARNING_MESSAGE, new Object[]{NotifyDescriptor.OK_OPTION}, NotifyDescriptor.OK_OPTION); DialogDisplayer.getDefault().notify(nd); + NotificationDisplayer.getDefault().notify(_titre, CrueIconsProvider.getIcon("org/fudaa/fudaa/crue/common/icons/avertissement.png"), _msg, + null, NotificationDisplayer.Priority.SILENT); } public static JXTreeTableExtended createTreeTable(final DefaultTreeTableModel model, PopupMenuReceiver receiver) { Modified: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/CourbesUiController.java =================================================================== --- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/CourbesUiController.java 2016-03-09 15:19:34 UTC (rev 9311) +++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/CourbesUiController.java 2016-03-09 15:22:09 UTC (rev 9312) @@ -202,6 +202,7 @@ toolbar.add(new JSeparator()); toolbar.add(new CourbeVisibiltyUIAction(graphe).buildToolButton(EbliComponentFactory.INSTANCE)); EGTableAction tableAction = (EGTableAction) getActions("TABLE").get(0); + tableAction.setUi(CtuluUIForNetbeans.DEFAULT); tableAction.setAddOptions(false); tableAction.setAddCheckbox(true); tableAction.setShowColumnToExport(false); Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/ReportVisualTopComponent.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/ReportVisualTopComponent.java 2016-03-09 15:19:34 UTC (rev 9311) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/ReportVisualTopComponent.java 2016-03-09 15:22:09 UTC (rev 9312) @@ -82,7 +82,7 @@ preferredID = ReportVisualTopComponent.TOPCOMPONENT_ID) public final class ReportVisualTopComponent extends AbstractReportTimeTopComponent implements LookupListener, ExplorerManager.Provider, CtuluImageProducer, ReportTopComponentConfigurable<ReportPlanimetryConfig>, PropertyChangeListener { - + public static final String TOPCOMPONENT_ID = "ReportVisualTopComponent"; public static final String TOPCOMPONENT_ACTION = "CTL_" + TOPCOMPONENT_ID; public static final String TOPCOMPONENT_ACTION_DISPLAYNAME = "#" + TOPCOMPONENT_ACTION; @@ -94,8 +94,9 @@ private Lookup.Result<Long> resultatEMHsSelected; private final ExplorerManager em = new ExplorerManager(); ReportPlanimetryConfig reportPlanimetryConfig = new ReportPlanimetryConfig(); + private boolean runOpenedAndZoomSet = false; private final ReportPlanimetryConfigurer reportPlanimetryConfigurer = new ReportPlanimetryConfigurer(); - + public ReportVisualTopComponent() { initComponents(); setDefaultName(); @@ -107,27 +108,27 @@ ActionMap map = this.getActionMap(); associateLookup(ExplorerUtils.createLookup(em, map)); } - + @Override protected String getHelpCtxId() { return SysdocUrlBuilder.getTopComponentHelpCtxId("vuePlanimetrie", PerspectiveEnum.REPORT); } - + @Override public ReportPlanimetryConfig getReportConfig() { return reportPlanimetryConfig; } - + @Override public boolean isClosable() { return false; } - + @Override public void rangeChanged() { setReportConfig(getReportConfig(), false); } - + @Override public void setReportConfig(ReportPlanimetryConfig newConfig, boolean fromTemplate) { super.updating = true; @@ -154,27 +155,27 @@ } } private ReportViewLineInfo info; - + @Override public void setReportInfo(ReportViewLineInfo info) { this.info = info; } - + @Override public AbstractReportTopComponent getTopComponent() { return this; } - + @Override public void updateFrameName() { setName(info == null ? "" : info.getNom()); updateTopComponentName(); } - + public ReportPlanimetryConfigurer getReportPlanimetryConfigurer() { return reportPlanimetryConfigurer; } - + private void updateConfigurer() { if (panel != null) { final PlanimetryController planimetryController = panel.getPlanimetryController(); @@ -199,22 +200,22 @@ panel.getVueCalque().repaint(0); } } - + @Override public BufferedImage produceImage(Map params) { return panel.produceImage(params); } - + @Override public BufferedImage produceImage(int w, int h, Map params) { return panel.produceImage(w, h, params); } - + @Override public Dimension getDefaultImageDimension() { return panel.getDefaultImageDimension(); } - + @Override protected void componentActivated() { super.componentActivated(); @@ -223,19 +224,19 @@ panel.requestFocusInWindow(); } } - + @Override protected void componentDeactivated() { super.componentDeactivated(); ExplorerUtils.activateActions(em, false); } - + @Override public ExplorerManager getExplorerManager() { return em; } Map<String, Long> calcByName; - + @Override public void selectedTimeChanged() { if (reportService.getRunCourant() != null & panel != null) { @@ -248,11 +249,11 @@ panel.getPlanimetryController().setEditedCalcul(calcSelected); } } - + @Override public void timeFormatChanged() { } - + @Override public void setEditable(boolean b) { this.editable = b; @@ -261,7 +262,7 @@ planimetryVisuPanel.getPlanimetryController().setEditable(b, false); } } - + @Override public void setModified(boolean modified) { super.setModified(modified); @@ -271,7 +272,7 @@ } } } - + @Override protected void runLoadedHandler() { if (reportVisuService.getPlanimetryVisuPanel() != null) { @@ -279,11 +280,11 @@ } } VisuConfiguration initConfiguration; - + protected void scenarioVisuLoaded() { - final double[][] repere = panel == null ? null : panel.getVueCalque().getRepere(); + final double[][] repere = (panel == null) ? null : panel.getVueCalque().getRepere(); this.removeAll(); - + panel = reportVisuService.getPlanimetryVisuPanel(); List<BCalque> mainLayers = panel.getPlanimetryController().getMainLayers(); for (BCalque bCalque : mainLayers) { @@ -308,18 +309,21 @@ main.add(bottom, BorderLayout.SOUTH); this.repaint(); super.revalidate(); + EventQueue.invokeLater(new Runnable() { @Override public void run() { - if (repere != null) { + if (repere != null && isOpened() && runOpenedAndZoomSet) { panel.getVueCalque().setRepere(repere); - + } else { panel.restaurer(); } - + if (isOpened()) { + runOpenedAndZoomSet = true; + } selectedTimeChanged(); - + panel.getPlanimetryController() .setEditable(editable); } @@ -328,20 +332,20 @@ } private final Set<String> ignoreProperties = new TreeSet<String>(Arrays.asList("versEcran", "versReel")); VisuChangerListener modificationChangeListener = new VisuChangerListener(); - + @Override public void propertyChange(PropertyChangeEvent evt) { if (panel != null && !updating) { reportPlanimetryConfig.setVisibility(panel.getPlanimetryController().getLayerVisibility()); reportViewServiceContrat.changesDoneIn(ReportVisualTopComponent.this); - + } - + } private PlanimetryVisuPanel panel; private LayerSelectionListener selectionListener = null; SelectedEMHsLookupListener selectedEMHsLookupListener; - + public void buildCalcMapIfNeeded() { if (calcByName == null) { calcByName = new HashMap<String, Long>(); @@ -352,7 +356,7 @@ } } } - + @Override public void clearReportModifications() { updating = true; @@ -364,13 +368,13 @@ } clearModificationState(); updating = false; - + } - + private void setDefaultName() throws MissingResourceException { setName(NbBundle.getMessage(ReportVisualTopComponent.class, TOPCOMPONENT_ACTION)); } - + private void restoreDefaultConfigurationData() { ReportTemplateFileProvider template = new ReportTemplateFileProvider(); reportPlanimetryConfig = (ReportPlanimetryConfig) template.loadTemplate(ReportContentType.PLANIMETRY); @@ -384,20 +388,20 @@ setDefaultName(); setModified(false); } - + private void clearModificationState() { setModified(false); - + } - + private class LayerSelectionListener implements ZSelectionListener { - + @Override public void selectionChanged(ZSelectionEvent _evt) { selectionChangedInPanel(); } } - + protected void selectionChangedInPanel() { if (updating) { return; @@ -424,12 +428,12 @@ //met à jour la sélection des EMHs. reportSelectedEMHService.setSelectedEMHs(selected); } - + protected JComponent createToolbar(PlanimetryVisuPanel panel) { SaveTemplateAction action = new SaveTemplateAction(this); return PlanimetryVisuPanelBuilder.buildTopComponent(panel, action.buildButton(EbliComponentFactory.INSTANCE)); } - + @Override protected void runUnloadedHandler() { updating = true; @@ -442,14 +446,15 @@ bCalque.removePropertyChangeListener(BSelecteurCheckBox.PROP_USER_VISIBLE, this); } } - + panel = null; calcByName = null; + runOpenedAndZoomSet = false; this.removeAll(); - + this.add(new JLabel(NbBundle.getMessage(ReportVisualTopComponent.class, "TopComponent.NoScenarioLoadedInformations"))); super.revalidate(); - + this.repaint(); updating = false; } @@ -476,7 +481,7 @@ } } VisuPanelLookupListener visuLookupListener; - + @Override protected void componentOpenedHandler() { if (resultatVisuPanel == null) { @@ -495,16 +500,16 @@ } if (info != null) { updateFrameName(); - + } - + } - + private class SelectedEMHsLookupListener implements LookupListener { - + @Override public void resultChanged(LookupEvent ev) { - + if (panel == null || WindowManager.getDefault().getRegistry().getActivated() == ReportVisualTopComponent.this) { return; } @@ -515,14 +520,14 @@ Collection<Long> uids = new ArrayList<Long>(allItems.size()); for (Long uid : allItems) { uids.add(uid); - + } updating = true; panel.setSelectedEMHFromUids(uids); updating = false; } } - + @Override protected void componentClosedDefinitlyHandler() { if (resultatVisuPanel != null) { @@ -534,12 +539,12 @@ resultatEMHsSelected = null; } } - + @Override public void componentClosedTemporarily() { super.componentClosedTemporarily(); } - + void writeProperties(java.util.Properties p) { // better to version settings since initial version as advocated at // http://wiki.apidesign.org/wiki/PropertyFiles @@ -547,16 +552,16 @@ // TODO store your settings } - + void readProperties(java.util.Properties p) { // TODO read your settings according to their version } - + private class VisuChangerListener implements PropertyChangeListener, Observer { - + public VisuChangerListener() { } - + @Override public void update(Observable o, Object arg) { if (!updating && "visible".equals(arg)) { @@ -564,16 +569,16 @@ reportViewServiceContrat.changesDoneIn(ReportVisualTopComponent.this); } } - + @Override public void propertyChange(PropertyChangeEvent evt) { - + if (panel == null) { return; } if (evt.getSource() == panel.getCqLegend() && (!editable || ignoreProperties.contains(evt.getPropertyName()))) { return; - + } if (updating) { return; Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportExportHelper.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportExportHelper.java 2016-03-09 15:19:34 UTC (rev 9311) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportExportHelper.java 2016-03-09 15:22:09 UTC (rev 9312) @@ -81,7 +81,8 @@ List<ResultatTimeKey> times = reportService.getTimeContent().getTimes(); ReportTimeChooser timeChooser = new ReportTimeChooser(times, reportService.getReportTimeFormatter().getResulatKeyTempsSimuToStringTransformer()); pn.add(timeChooser.getPanel()); - final CtuluFileChooser fileChooser = new CtuluFileChooserWriter(CtuluUIForNetbeans.DEFAULT, Arrays.<CtuluWriter>asList(new CtuluTableCsvWriter())); + final CtuluFileChooser fileChooser = new CtuluFileChooserWriter(CtuluUIForNetbeans.DEFAULT, Arrays. + <CtuluWriter>asList(new CtuluTableCsvWriter())); final CtuluFileChooserPanel fileChooserPanel = new CtuluFileChooserPanel() { @Override protected CtuluFileChooser createFileChooser() { @@ -93,7 +94,8 @@ pnSouth.add(fileChooserPanel); pn.add(pnSouth, BorderLayout.SOUTH); pn.setBorder(BuBorders.EMPTY3333); - final DialogDescriptor dialogDescriptor = new DialogDescriptor(pn, NbBundle.getMessage(ReportExportHelper.class, "Export.DialogTitle"), true, new Object[]{NotifyDescriptor.OK_OPTION, NotifyDescriptor.CANCEL_OPTION}, + final DialogDescriptor dialogDescriptor = new DialogDescriptor(pn, NbBundle.getMessage(ReportExportHelper.class, "Export.DialogTitle"), true, + new Object[]{NotifyDescriptor.OK_OPTION, NotifyDescriptor.CANCEL_OPTION}, NotifyDescriptor.OK_OPTION, DialogDescriptor.DEFAULT_ALIGN, HelpCtx.DEFAULT_HELP, @@ -106,7 +108,7 @@ listener.setNode(node); listener.setTimeChooser(timeChooser); dialogDescriptor.setButtonListener(listener); - SysdocUrlBuilder.installDialogHelpCtx(dialogDescriptor, "exporterResultats", PerspectiveEnum.REPORT,false); + SysdocUrlBuilder.installDialogHelpCtx(dialogDescriptor, "exporterResultats", PerspectiveEnum.REPORT, false); final Dialog dialog = DialogDisplayer.getDefault().createDialog(dialogDescriptor); listener.setDialog((JDialog) dialog); dialog.pack(); @@ -199,18 +201,24 @@ } dialog.dispose(); - SwingWorker<Boolean, Object> worker = new CrueSwingWorker<Boolean>(NbBundle.getMessage(ReportExportHelper.class, + final CrueSwingWorker<Boolean> worker = new CrueSwingWorker<Boolean>(NbBundle.getMessage(ReportExportHelper.class, "Export.Task.Name")) { @Override protected Boolean doProcess() throws Exception { ReportExportWriter writer = new ReportExportWriter(); - writer.write(fileWithExt, selected, contentByEMH, reportService.getReportTimeFormatter()); - return Boolean.TRUE; + return writer.write(fileWithExt, selected, contentByEMH, reportService.getReportTimeFormatter()); } @Override protected void done(Boolean res) { - DialogHelper.showNotifyOperationTermine(NbBundle.getMessage(ReportExportHelper.class, "Export.OperationFinish", fileChooserPanel.getFileWithExt().getAbsolutePath())); + if (Boolean.TRUE.equals(res)) { + DialogHelper.showNotifyOperationTermine(NbBundle.getMessage(ReportExportHelper.class, "Export.OperationFinish", fileChooserPanel. + getFileWithExt().getAbsolutePath())); + } else { + DialogHelper.showError(NbBundle.getMessage(ReportExportHelper.class, "Export.DialogTitle"), org.openide.util.NbBundle.getMessage( + ReportExportHelper.class, "Exportg.OperationFailed", + fileChooserPanel.getFileWithExt().getAbsolutePath())); + } } }; worker.execute(); Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportExportWriter.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportExportWriter.java 2016-03-09 15:19:34 UTC (rev 9311) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportExportWriter.java 2016-03-09 15:22:09 UTC (rev 9312) @@ -5,6 +5,7 @@ import com.Ostermiller.util.CSVPrinter; import java.io.File; +import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.List; @@ -35,9 +36,10 @@ public ReportExportWriter() { } - public void write(File f, List<ResultatTimeKey> times, List<ReportExportContentByEMH> content, ReportTimeFormatter timeFormatter) { + public boolean write(File f, List<ResultatTimeKey> times, List<ReportExportContentByEMH> content, ReportTimeFormatter timeFormatter) { CSVPrinter writer = null; ReportRunKey runKey = reportResultProviderService.getReportService().getRunCourant().getRunKey(); + boolean ok = false; try { writer = new CSVPrinter(new FileOutputStream(f)); writer.changeQuote('"'); @@ -68,12 +70,17 @@ for (String string : variables) { PropertyNature variable = reportResultProviderService.getPropertyNature(string); ReportVariableKey createVariableKey = reportResultProviderService.createVariableKey(string); - Double value = reportResultProviderService.getValue(resultatKey, new ReportRunVariableKey(runKey, createVariableKey), reportExportContentByEMH.emh.getNom()); - writer.write(TransformerEMHHelper.formatFromNature(variable, value, reportResultProviderService.getReportService().getCcm(), DecimalFormatEpsilonEnum.COMPARISON)); + Double value = reportResultProviderService.getValue(resultatKey, new ReportRunVariableKey(runKey, createVariableKey), + reportExportContentByEMH.emh.getNom()); + writer.write(TransformerEMHHelper.formatFromNature(variable, value, reportResultProviderService.getReportService().getCcm(), + DecimalFormatEpsilonEnum.COMPARISON)); } } writer.writeln(); + ok = true; } + } catch (FileNotFoundException ex) { + } catch (IOException ex) { Exceptions.printStackTrace(ex); } finally { @@ -85,6 +92,7 @@ } } } + return ok; } } Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalCourbesUiResController.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalCourbesUiResController.java 2016-03-09 15:19:34 UTC (rev 9311) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalCourbesUiResController.java 2016-03-09 15:22:09 UTC (rev 9312) @@ -10,6 +10,7 @@ import org.fudaa.ebli.courbe.EGCourbe; import org.fudaa.ebli.courbe.EGTableAction; import org.fudaa.ebli.courbe.EGTableGraphePanel; +import org.fudaa.fudaa.crue.common.helper.CtuluUIForNetbeans; import org.fudaa.fudaa.crue.loi.common.LoiConstanteCourbeModel; import org.fudaa.fudaa.crue.loi.res.CourbesUiResController; import org.openide.util.NbBundle; @@ -19,9 +20,10 @@ * @author Frederic Deniger */ public final class ReportLongitudinalCourbesUiResController extends CourbesUiResController { - + public ReportLongitudinalCourbesUiResController() { EGTableAction tableAction = (EGTableAction) getActions("TABLE").get(0); + tableAction.setUi(CtuluUIForNetbeans.DEFAULT); tableAction.setAddOptions(false); tableAction.setAddCheckbox(false); tableAction.setShowColumnToExport(false); @@ -30,34 +32,34 @@ setUseVariableForAxeH(true); getGraphe().setExportDataBuilder(new ReportLongitudinalExportDataBuilder()); } - + @Override protected AbstractTableModel createTableModel() { return new ReportLongitudinalTableModel(getTableGraphePanel()); } - + @Override protected void configureTablePanel() { super.configureTablePanel(); tableGraphePanel.getTable().getColumnModel().getColumn(0).setCellRenderer(new CtuluCellTextRenderer()); } - + protected static class ReportLongitudinalTableModel extends EGTableGraphePanel.SpecTableModel { - + public static final int COLUMN_BRANCHE = 0; public static final int COLUMN_SECTION = 1; - + public ReportLongitudinalTableModel(EGTableGraphePanel graphePanel) { super(graphePanel); xColIndex = 2; yColIndex = 3; } - + @Override public int getColumnCount() { return 4; } - + @Override public Object getValueAt(int _rowIndex, int _columnIndex) { if (_columnIndex == COLUMN_SECTION || _columnIndex == COLUMN_BRANCHE) { @@ -75,7 +77,7 @@ } return super.getValueAt(_rowIndex, _columnIndex); } - + @Override public String getColumnName(int _column) { if (_column == COLUMN_SECTION) { @@ -86,7 +88,7 @@ } return super.getColumnName(_column); } - + @Override public Class getColumnClass(int _columnIndex) { if (_columnIndex <= COLUMN_SECTION) { @@ -94,7 +96,7 @@ } return Double.class; } - + @Override public void setValueAt(Object _value, int _rowIndex, int _columnIndex) { } Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalCourbesUiResController.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalCourbesUiResController.java 2016-03-09 15:19:34 UTC (rev 9311) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalCourbesUiResController.java 2016-03-09 15:22:09 UTC (rev 9312) @@ -9,6 +9,7 @@ import org.fudaa.ebli.courbe.EGCourbe; import org.fudaa.ebli.courbe.EGTableAction; import org.fudaa.ebli.courbe.EGTableGraphePanel; +import org.fudaa.fudaa.crue.common.helper.CtuluUIForNetbeans; import org.fudaa.fudaa.crue.loi.res.CourbesUiResController; import org.openide.util.NbBundle; @@ -21,6 +22,7 @@ public ReportTemporalCourbesUiResController() { EGTableAction tableAction = (EGTableAction) getActions("TABLE").get(0); tableAction.setAddOptions(false); + tableAction.setUi(CtuluUIForNetbeans.DEFAULT); tableAction.setAddCheckbox(true); tableAction.setShowColumnToExport(false); tableAction.setDisplayAll(true); Modified: trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties 2016-03-09 15:19:34 UTC (rev 9311) +++ trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties 2016-03-09 15:22:09 UTC (rev 9312) @@ -8,8 +8,8 @@ Export.NoVariable.Error=Aucune variable s\u00e9lection\u00e9e Export.NoTime.Error=Aucun pas de temps s\u00e9lection\u00e9 Export.FileNotWritable.Error=Le fichier n'est pas disponible en \u00e9criture -Export.Task.Name=Exportation en cours -Export.OperationFinish=Exportation termin\u00e9e: {0} +Export.Task.Name=Export en cours +Export.OperationFinish=Export termin\u00e9: {0} ReportExportNodeAction.DisplayName=Exporter Export.ChooseFile.LabelName=Fichier CSV: DefaultExportType=type export: action exporter perspective Rapports @@ -18,3 +18,4 @@ ExportEnded=Export termin\u00e9 vers le fichier {0} cantWriteToFile.error=Il est impossible d''\u00e9crire dans le fichier {0}.\nRaison: {1} cantWriteToFileUsedByAnotherProcess.error=il est probablement ouvert par une autre application (Excel) +Exportg.OperationFailed=L''export vers le fichier {0} a \u00e9chou\u00e9.\n Il est probablement en cours d''utilisation par un autre process (Excel). This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2016-03-15 22:22:09
|
Revision: 9314 http://sourceforge.net/p/fudaa/svn/9314 Author: deniger Date: 2016-03-15 22:22:06 +0000 (Tue, 15 Mar 2016) Log Message: ----------- CRUE-634 CRUE-692 Modified Paths: -------------- trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/DecimalFormatEpsilonEnum.java trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/PropertyNature.java trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/OptionsEnum.java trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/DialogHelper.java trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/AbstractLoiCourbeModel.java trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/loiff/LoiTimeExportDecorator.java Modified: trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/DecimalFormatEpsilonEnum.java =================================================================== --- trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/DecimalFormatEpsilonEnum.java 2016-03-14 14:59:20 UTC (rev 9313) +++ trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/DecimalFormatEpsilonEnum.java 2016-03-15 22:22:06 UTC (rev 9314) @@ -8,7 +8,6 @@ * @author Frederic Deniger */ public enum DecimalFormatEpsilonEnum { - PRESENTATION, COMPARISON; } Modified: trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/PropertyNature.java =================================================================== --- trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/PropertyNature.java 2016-03-14 14:59:20 UTC (rev 9313) +++ trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/PropertyNature.java 2016-03-15 22:22:06 UTC (rev 9314) @@ -75,8 +75,14 @@ } public String format(double value, DecimalFormatEpsilonEnum type) { - NumberFormat formatter = getFormatter(type); - return formatter == null ? Double.toString(value) : formatter.format(value); + try { + NumberFormat formatter = getFormatter(type); + return formatter == null ? Double.toString(value) : formatter.format(value); + } catch (Exception e) { + e.printStackTrace(); + System.err.println("yes"); + } + return null; } public String format(Number value, DecimalFormatEpsilonEnum type) { Modified: trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/OptionsEnum.java =================================================================== --- trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/OptionsEnum.java 2016-03-14 14:59:20 UTC (rev 9313) +++ trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/OptionsEnum.java 2016-03-15 22:22:06 UTC (rev 9314) @@ -4,7 +4,7 @@ /** * - * @author deniger ( genesis) + * @author deniger */ public enum OptionsEnum { Modified: trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/DialogHelper.java =================================================================== --- trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/DialogHelper.java 2016-03-14 14:59:20 UTC (rev 9313) +++ trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/DialogHelper.java 2016-03-15 22:22:06 UTC (rev 9314) @@ -153,7 +153,8 @@ NotifyDescriptor nd = new NotifyDescriptor.Message(msg, NotifyDescriptor.ERROR_MESSAGE); nd.setTitle(title); DialogDisplayer.getDefault().notify(nd); - NotificationDisplayer.getDefault().notify(title, CrueIconsProvider.getIcon("org/fudaa/fudaa/crue/common/icons/erreur-bloquante.png"), panelInfo, + NotificationDisplayer.getDefault().notify(title, CrueIconsProvider.getIcon("org/fudaa/fudaa/crue/common/icons/erreur-bloquante.png"), + panelInfo == null ? title : panelInfo, null, NotificationDisplayer.Priority.SILENT); } Modified: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/AbstractLoiCourbeModel.java =================================================================== --- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/AbstractLoiCourbeModel.java 2016-03-14 14:59:20 UTC (rev 9313) +++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/AbstractLoiCourbeModel.java 2016-03-15 22:22:06 UTC (rev 9314) @@ -452,6 +452,10 @@ return lines.get(idx).ptEvolutionFF; } + public boolean isDefined(int idx) { + return idx >= 0 && idx < lines.size(); + } + protected LoiLine getLoiLine(int idx) { return lines.get(idx); } Modified: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/loiff/LoiTimeExportDecorator.java =================================================================== --- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/loiff/LoiTimeExportDecorator.java 2016-03-14 14:59:20 UTC (rev 9313) +++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/loiff/LoiTimeExportDecorator.java 2016-03-15 22:22:06 UTC (rev 9314) @@ -42,6 +42,9 @@ if (col == 1 && table.getModel() instanceof DefaultLoiTableModel) { DefaultLoiTableModel model = (DefaultLoiTableModel) table.getModel(); AbstractLoiCourbeModel loiCourbeModel = (AbstractLoiCourbeModel) model.getCourbe().getModel(); + if (!loiCourbeModel.isDefined(row)) { + return null; + } ItemVariable varAbscisse = loiCourbeModel.getConfigLoi().getVarAbscisse(); if (varAbscisse.getNature().isDate() || varAbscisse.getNature().isDuration()) { return varAbscisse.format(loiCourbeModel.getX(row), DecimalFormatEpsilonEnum.COMPARISON); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2016-03-21 22:25:02
|
Revision: 9316 http://sourceforge.net/p/fudaa/svn/9316 Author: deniger Date: 2016-03-21 22:24:59 +0000 (Mon, 21 Mar 2016) Log Message: ----------- CRUE-634 CRUE-692 Modified Paths: -------------- trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/CrueConfigMetier.java trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/GlobalOptionsManager.java trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/OptionsEnum.java trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/SiteConfiguration.java trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/UserConfiguration.java trunk/soft/fudaa-crue/crue-core/src/main/resources/org/fudaa/dodico/crue/common/businessMessages.properties Added Paths: ----------- trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/Crue9DecimalFormat.java trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/Crue9DecimalFormatter.java trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/Crue9DecimalFormatBuilder.java trunk/soft/fudaa-crue/crue-config/src/test/java/org/fudaa/dodico/crue/config/ccm/Crue9DecimalFormatterTest.java trunk/soft/fudaa-crue/crue-config/src/test/java/org/fudaa/dodico/crue/projet/ trunk/soft/fudaa-crue/crue-config/src/test/java/org/fudaa/dodico/crue/projet/conf/ trunk/soft/fudaa-crue/crue-config/src/test/java/org/fudaa/dodico/crue/projet/conf/Crue9DecimalFormatBuilderTest.java Property Changed: ---------------- trunk/soft/fudaa-crue/crue-config/ Index: trunk/soft/fudaa-crue/crue-config =================================================================== --- trunk/soft/fudaa-crue/crue-config 2016-03-20 22:10:48 UTC (rev 9315) +++ trunk/soft/fudaa-crue/crue-config 2016-03-21 22:24:59 UTC (rev 9316) Property changes on: trunk/soft/fudaa-crue/crue-config ___________________________________________________________________ Modified: svn:ignore ## -1 +1,2 ## target +nbproject Added: trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/Crue9DecimalFormat.java =================================================================== --- trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/Crue9DecimalFormat.java (rev 0) +++ trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/Crue9DecimalFormat.java 2016-03-21 22:24:59 UTC (rev 9316) @@ -0,0 +1,46 @@ +/* +GPL 2 + */ +package org.fudaa.dodico.crue.config.ccm; + +/** + * + * @author Frederic Deniger + */ +public class Crue9DecimalFormat { + + public enum STATE { + ACTIVE, NON_ACTIVE; + } + + private final int numberOfDigits; + private final STATE state; + + public static Crue9DecimalFormat getDefault() { + return new Crue9DecimalFormat(0, STATE.NON_ACTIVE); + } + + public Crue9DecimalFormat(int numberOfDigits, STATE state) { + this.numberOfDigits = numberOfDigits; + this.state = state; + } + + public boolean isInactive() { + return STATE.NON_ACTIVE.equals(this.state) || numberOfDigits <= 0; + } + public boolean isActive() { + return !isInactive(); + } + + public int getNumberOfDigits() { + return numberOfDigits; + } + + /** + * @return si actif ou non. + */ + public STATE getState() { + return state; + } + +} Added: trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/Crue9DecimalFormatter.java =================================================================== --- trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/Crue9DecimalFormatter.java (rev 0) +++ trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/Crue9DecimalFormatter.java 2016-03-21 22:24:59 UTC (rev 9316) @@ -0,0 +1,31 @@ +/* +GPL 2 + */ +package org.fudaa.dodico.crue.config.ccm; + +import org.fudaa.ctulu.CtuluNumberFormatFortran; + +/** + * + * @author Frederic Deniger + */ +public class Crue9DecimalFormatter { + + private final CtuluNumberFormatFortran formatter; + + public Crue9DecimalFormatter(Crue9DecimalFormat format) { + if (format != null && format.isActive()) { + formatter = new CtuluNumberFormatFortran(format.getNumberOfDigits()); + } else { + formatter = null; + } + } + + public String format(double in) { + if (formatter == null) { + return Double.toString(in); + } + return formatter.format(in); + } + +} Modified: trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/CrueConfigMetier.java =================================================================== --- trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/CrueConfigMetier.java 2016-03-20 22:10:48 UTC (rev 9315) +++ trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/config/ccm/CrueConfigMetier.java 2016-03-21 22:24:59 UTC (rev 9316) @@ -29,18 +29,28 @@ final Map<String, PropertyNature> propNature; final Map<String, PropertyNature> propEnum; CrueConfigMetierLitNomme litNomme; + Crue9DecimalFormat crue9DecimalFormat = Crue9DecimalFormat.getDefault(); protected CrueConfigMetier(final Map<String, PropertyNature> propNature, final Map<String, PropertyNature> propEnums) { super(); this.propNature = propNature; this.propEnum = propEnums; - this.litNomme = new CrueConfigMetierLitNomme(propEnums.get(CrueConfigMetierConstants.ENUM_LIT_NOMME), propEnums.get(CrueConfigMetierConstants.ENUM_ETIQUETTE)); + this.litNomme = new CrueConfigMetierLitNomme(propEnums.get(CrueConfigMetierConstants.ENUM_LIT_NOMME), propEnums.get( + CrueConfigMetierConstants.ENUM_ETIQUETTE)); } public CrueConfigMetierLitNomme getLitNomme() { return litNomme; } + public void setCrue9DecimalFormat(Crue9DecimalFormat crue9DecimalFormat) { + this.crue9DecimalFormat = crue9DecimalFormat; + } + + public Crue9DecimalFormat getCrue9DecimalFormat() { + return crue9DecimalFormat; + } + /** * * @return liste des types de lois pouvant être créées par l'utilisateur @@ -269,7 +279,8 @@ PropertyNature nature = prop.getNature(); if (!nature.isEnum() && !doneNature.contains(nature.getNom())) { doneNature.add(nature.getNom()); - nature.setFormat(formatBuilder.getFormatter(nature, DecimalFormatEpsilonEnum.PRESENTATION), formatBuilder.getFormatter(nature, DecimalFormatEpsilonEnum.COMPARISON)); + nature.setFormat(formatBuilder.getFormatter(nature, DecimalFormatEpsilonEnum.PRESENTATION), formatBuilder.getFormatter(nature, + DecimalFormatEpsilonEnum.COMPARISON)); } @@ -284,7 +295,8 @@ final PropertyNature nature = prop.getNature(); if (!nature.isEnum() && !doneNature.contains(nature.getNom())) { doneNature.add(nature.getNom()); - nature.setFormat(formatBuilder.getFormatter(nature, DecimalFormatEpsilonEnum.PRESENTATION), formatBuilder.getFormatter(nature, DecimalFormatEpsilonEnum.COMPARISON)); + nature.setFormat(formatBuilder.getFormatter(nature, DecimalFormatEpsilonEnum.PRESENTATION), formatBuilder.getFormatter(nature, + DecimalFormatEpsilonEnum.COMPARISON)); } } Added: trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/Crue9DecimalFormatBuilder.java =================================================================== --- trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/Crue9DecimalFormatBuilder.java (rev 0) +++ trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/Crue9DecimalFormatBuilder.java 2016-03-21 22:24:59 UTC (rev 9316) @@ -0,0 +1,45 @@ +/* +GPL 2 + */ +package org.fudaa.dodico.crue.projet.conf; + +import java.util.List; +import org.fudaa.dodico.crue.config.ccm.Crue9DecimalFormat; +import org.fudaa.dodico.crue.config.ccm.CrueConfigMetier; + +/** + * + * @author Frederic Deniger + */ +public class Crue9DecimalFormatBuilder { + + int read(SiteConfiguration in) { + final List<SiteOption> options = in.getOptions(); + if (options == null) { + return -1; + } + for (SiteOption option : options) { + if (OptionsEnum.NB_EXPORT_CRUE9_SIGNIFICANT_FIGURES.getId().equals(option.getId())) { + try { + return Integer.parseInt(option.getValeur()); + } catch (NumberFormatException numberFormatException) { + } + } + } + + return -1; + } + + public Crue9DecimalFormat intialize(Configuration configuration, CrueConfigMetier ccm) { + int i = read(configuration.getSite()); + Crue9DecimalFormat fmt = null; + if (i < 0) { + fmt = Crue9DecimalFormat.getDefault(); + } else { + fmt = new Crue9DecimalFormat(i, Crue9DecimalFormat.STATE.ACTIVE); + } + ccm.setCrue9DecimalFormat(fmt); + return fmt; + } + +} Modified: trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/GlobalOptionsManager.java =================================================================== --- trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/GlobalOptionsManager.java 2016-03-20 22:10:48 UTC (rev 9315) +++ trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/GlobalOptionsManager.java 2016-03-21 22:24:59 UTC (rev 9316) @@ -128,7 +128,7 @@ OptionsEnum[] values = OptionsEnum.values(); for (OptionsEnum optionsEnum : values) { enumById.put(optionsEnum.getId(), optionsEnum); - } + } } public OptionsEnum getOptionEnum(Option option) { @@ -164,14 +164,14 @@ return option; } - public SiteAide getAideOption() { + public SiteAide getAideOption() { return aide; } - + public void setAideOption(SiteAide aide) { - this.aide = aide; + this.aide = aide; } - + protected CtuluLogLevel getLevel(boolean useFatal) { return useFatal ? CtuluLogLevel.ERROR : CtuluLogLevel.WARNING; } @@ -251,10 +251,11 @@ Map<OptionsEnum, Option> siteReadOnlyOptionMap = build(siteReadOnlyOptions, false); Map<OptionsEnum, Option> siteAllOptionMap = build(siteModifiableByUserOptions.getOptions(), false); siteAllOptionMap.putAll(siteReadOnlyOptionMap); - if(siteConfiguration.getSite().getAide() != null) - setAideOption(siteConfiguration.getSite().getAide()); - else - siteLog.addRecord(getLevel(true), "conf.undefinedHelpConfiguration", "<SiteAide>"); + if (siteConfiguration.getSite().getAide() != null) { + setAideOption(siteConfiguration.getSite().getAide()); + } else { + siteLog.addRecord(getLevel(true), "conf.undefinedHelpConfiguration", "<SiteAide>"); + } validIsAllSetKnown(siteLog, siteAllOptionMap, true);//toutes les options doivent être définies validSiteOptions(siteLog, siteReadOnlyOptions, siteReadOnlyOptionMap); validValuesOfOption(siteLog, siteAllOptionMap, siteReadOnlyOptionMap); Modified: trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/OptionsEnum.java =================================================================== --- trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/OptionsEnum.java 2016-03-20 22:10:48 UTC (rev 9315) +++ trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/OptionsEnum.java 2016-03-21 22:24:59 UTC (rev 9316) @@ -11,11 +11,13 @@ AVAILABLE_LANGUAGE("availableLanguage", String.class, "fr_FR", true), USER_LANGUAGE("userLanguage", String.class, "fr_FR", true, new OptionValidatorLanguage("userLanguage")), UI_UPDATE_FREQ("uiUpdateProgressFrequence", Double.class, "0.2", true, new OptionValidatorMinDouble(Double.valueOf(0.1), - "uiUpdateProgressFrequence")), + "uiUpdateProgressFrequence")), MAX_COMPARAISON_ITEM("maxComparisonItemsDisplayed", Integer.class, "500", true, new OptionValidatorMinDouble(Double.valueOf(1), - "maxComparisonItemsDisplayed")), + "maxComparisonItemsDisplayed")), MAX_RESULTAT_DIFF_BY_EMH("maxComparisonResultsByEMH", Integer.class, "100", true, new OptionValidatorMinDouble(Double.valueOf(1), - "maxComparisonResultsByEMH")), + "maxComparisonResultsByEMH")), + NB_EXPORT_CRUE9_SIGNIFICANT_FIGURES("nbExportCrue9SignificantFigures", Integer.class, "7", true, new OptionValidatorMinDouble(Double.valueOf(-1), + "nbExportCrue9SignificantFigures")), MAX_LOG_ITEM("maxLogLinesRead", Integer.class, "500", true, new OptionValidatorMinDouble(Double.valueOf(1), "maxLogLinesRead")), EDITOR("externalEditor", File.class, null, true), CRUE9_EXE("crue9Exe", File.class, null, true), Modified: trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/SiteConfiguration.java =================================================================== --- trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/SiteConfiguration.java 2016-03-20 22:10:48 UTC (rev 9315) +++ trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/SiteConfiguration.java 2016-03-21 22:24:59 UTC (rev 9316) @@ -1,7 +1,3 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ package org.fudaa.dodico.crue.projet.conf; import java.util.List; Modified: trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/UserConfiguration.java =================================================================== --- trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/UserConfiguration.java 2016-03-20 22:10:48 UTC (rev 9315) +++ trunk/soft/fudaa-crue/crue-config/src/main/java/org/fudaa/dodico/crue/projet/conf/UserConfiguration.java 2016-03-21 22:24:59 UTC (rev 9316) @@ -1,7 +1,3 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ package org.fudaa.dodico.crue.projet.conf; import java.util.ArrayList; @@ -13,7 +9,7 @@ */ public class UserConfiguration { - private Collection<UserOption> options = new ArrayList<UserOption>(); + private Collection<UserOption> options = new ArrayList<>(); public Collection<UserOption> getOptions() { return options; Added: trunk/soft/fudaa-crue/crue-config/src/test/java/org/fudaa/dodico/crue/config/ccm/Crue9DecimalFormatterTest.java =================================================================== --- trunk/soft/fudaa-crue/crue-config/src/test/java/org/fudaa/dodico/crue/config/ccm/Crue9DecimalFormatterTest.java (rev 0) +++ trunk/soft/fudaa-crue/crue-config/src/test/java/org/fudaa/dodico/crue/config/ccm/Crue9DecimalFormatterTest.java 2016-03-21 22:24:59 UTC (rev 9316) @@ -0,0 +1,27 @@ +/* +GPL 2 + */ +package org.fudaa.dodico.crue.config.ccm; + +import org.junit.Test; +import static org.junit.Assert.*; + +/** + * + * @author Frederic Deniger + */ +public class Crue9DecimalFormatterTest { + + public Crue9DecimalFormatterTest() { + } + + @Test + public void testFormat() { + Crue9DecimalFormatter formatter = new Crue9DecimalFormatter(new Crue9DecimalFormat(8, Crue9DecimalFormat.STATE.ACTIVE)); + assertEquals("1.23", formatter.format(1.23)); + assertEquals("5.0E-9", formatter.format(0.000000005)); + assertEquals(".1234568", formatter.format(0.12345678)); + assertEquals("1.2346E8", formatter.format(123456789)); + } + +} Added: trunk/soft/fudaa-crue/crue-config/src/test/java/org/fudaa/dodico/crue/projet/conf/Crue9DecimalFormatBuilderTest.java =================================================================== --- trunk/soft/fudaa-crue/crue-config/src/test/java/org/fudaa/dodico/crue/projet/conf/Crue9DecimalFormatBuilderTest.java (rev 0) +++ trunk/soft/fudaa-crue/crue-config/src/test/java/org/fudaa/dodico/crue/projet/conf/Crue9DecimalFormatBuilderTest.java 2016-03-21 22:24:59 UTC (rev 9316) @@ -0,0 +1,41 @@ +/* +GPL 2 + */ +package org.fudaa.dodico.crue.projet.conf; + +import java.util.Arrays; +import org.fudaa.dodico.crue.config.ccm.Crue9DecimalFormat; +import org.fudaa.dodico.crue.config.ccm.CrueConfigMetier; +import org.fudaa.dodico.crue.config.ccm.CrueConfigMetierLoaderDefaultTest; +import org.junit.Test; +import static org.junit.Assert.*; + +/** + * + * @author Frederic Deniger + */ +public class Crue9DecimalFormatBuilderTest { + + public Crue9DecimalFormatBuilderTest() { + } + + @Test + public void testIntialize() { + Configuration configuration = new Configuration(); + SiteConfiguration siteConfiguration = new SiteConfiguration(); + configuration.setSite(siteConfiguration); + Crue9DecimalFormatBuilder builder = new Crue9DecimalFormatBuilder(); + CrueConfigMetier ccm = CrueConfigMetierLoaderDefaultTest.DEFAULT; + builder.intialize(configuration, ccm); + assertEquals(Crue9DecimalFormat.STATE.NON_ACTIVE, ccm.getCrue9DecimalFormat().getState()); + assertEquals(0, ccm.getCrue9DecimalFormat().getNumberOfDigits()); + + SiteOption option = new SiteOption(OptionsEnum.NB_EXPORT_CRUE9_SIGNIFICANT_FIGURES.getId(), "8", "", true); + siteConfiguration.setOptions(Arrays.asList(option)); + builder.intialize(configuration, ccm); + assertEquals(Crue9DecimalFormat.STATE.ACTIVE, ccm.getCrue9DecimalFormat().getState()); + assertEquals(8, ccm.getCrue9DecimalFormat().getNumberOfDigits()); + + } + +} Modified: trunk/soft/fudaa-crue/crue-core/src/main/resources/org/fudaa/dodico/crue/common/businessMessages.properties =================================================================== --- trunk/soft/fudaa-crue/crue-core/src/main/resources/org/fudaa/dodico/crue/common/businessMessages.properties 2016-03-20 22:10:48 UTC (rev 9315) +++ trunk/soft/fudaa-crue/crue-core/src/main/resources/org/fudaa/dodico/crue/common/businessMessages.properties 2016-03-21 22:24:59 UTC (rev 9316) @@ -632,6 +632,9 @@ option.maxLogLinesRead.name=Nombre maximal de lignes lues dans un CR option.maxLogLinesRead.comment=La lecture d'un CR est limit\u00e9 aux n premi\u00e8res lignes +option.nbExportCrue9SignificantFigures.name=Nombre de chiffres significatifs export Crue 9 +option.nbExportCrue9SignificantFigures.comment=D\u00e9finit le nombre de chiffres significatifs pour les export Crue9 + maxReadLineReached=... (la lecture du CR a \u00e9t\u00e9 stopp\u00e9e apr\u00e8s {0} lignes) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2016-03-21 22:25:15
|
Revision: 9317 http://sourceforge.net/p/fudaa/svn/9317 Author: deniger Date: 2016-03-21 22:25:12 +0000 (Mon, 21 Mar 2016) Log Message: ----------- CRUE-634 CRUE-692 Modified Paths: -------------- trunk/soft/fudaa-crue/crue-io/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileWriter.java trunk/soft/fudaa-crue/crue-io/src/test/resources/FudaaCrue_Site_officiel.xml trunk/soft/fudaa-crue/crue-otfa/src/main/java/org/fudaa/dodico/crue/projet/otfa/OtfaBatch.java Modified: trunk/soft/fudaa-crue/crue-io/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileWriter.java =================================================================== --- trunk/soft/fudaa-crue/crue-io/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileWriter.java 2016-03-21 22:24:59 UTC (rev 9316) +++ trunk/soft/fudaa-crue/crue-io/src/main/java/org/fudaa/dodico/crue/io/neuf/DCFileWriter.java 2016-03-21 22:25:12 UTC (rev 9317) @@ -18,6 +18,7 @@ import org.fudaa.dodico.crue.comparaison.tester.EqualsTester; import org.fudaa.dodico.crue.comparaison.tester.FactoryEqualsTester; import org.fudaa.dodico.crue.comparaison.tester.TesterHelper; +import org.fudaa.dodico.crue.config.ccm.Crue9DecimalFormatter; import org.fudaa.dodico.crue.config.ccm.DecimalFormatEpsilonEnum; import org.fudaa.dodico.crue.config.ccm.ItemVariable; import org.fudaa.dodico.crue.config.ccm.PropertyEpsilon; @@ -99,12 +100,12 @@ * Correspondance EnumSensOrifice<->String */ private SingleValueConverter enumSensOrificeMapCrue9; - - + /** * Formatteur utilisé pour écrire des colonnes float de taille fixe de x caractères */ - CtuluNumberFormatFortran formatter = new CtuluNumberFormatFortran(XZ_COLUMNS_LENGTH-1); + CtuluNumberFormatFortran formatterFF = new CtuluNumberFormatFortran(XZ_COLUMNS_LENGTH - 1); + Crue9DecimalFormatter formatterXtAndZ; @Override protected void internalWrite(final CrueIOResu o) { @@ -113,6 +114,7 @@ initWriter(); final CrueData data = ((CrueIOResu<CrueData>) o).getMetier(); + formatterXtAndZ = new Crue9DecimalFormatter(data.getCrueConfigMetier().getCrue9DecimalFormat()); try { // cf DParametresSipor.java // -- on commence par l'écriture des titres sur 5 lignes --// @@ -320,7 +322,6 @@ final PropertyEpsilon eps = metier.getCrueConfigMetier().getConfLoi().get(EnumTypeLoi.LoiZFK).getVarOrdonnee().getEpsilon(); // STRIREF(o) "nom_strickler" k (nom du strickler et valeur associée) - for (final DonFrt frt : metier.getFrottements().getListFrt()) { String pref = null; @@ -591,7 +592,6 @@ } // -- on ecrit les données --// - // -- LIMITEJ--// // LIMITEJ 11 11 13 18 64 81 81 81 fortranWriter.stringField(0, CrueIODico.LIMITEJ); @@ -655,7 +655,6 @@ // LIT MAJG 6 // LIT STOCKD 1 // LIT STOCKG 7 - List<String> keySet = new ArrayList<String>(mapNomsLits.keySet()); Collections.sort(keySet); for (final String key : keySet) { @@ -841,8 +840,8 @@ fortranWriter.stringField(indiceFortran++, carteToUse); } // on inverse tout le temps dans dc - fortranWriter.stringField(indiceFortran++, fortranWriter.addSpacesBefore(XZ_COLUMNS_LENGTH,formatter.format(pt.getOrdonnee()))); - fortranWriter.stringField(indiceFortran++, fortranWriter.addSpacesBefore(XZ_COLUMNS_LENGTH,formatter.format(pt.getAbscisse()))); + fortranWriter.stringField(indiceFortran++, fortranWriter.addSpacesBefore(XZ_COLUMNS_LENGTH, formatterFF.format(pt.getOrdonnee()))); + fortranWriter.stringField(indiceFortran++, fortranWriter.addSpacesBefore(XZ_COLUMNS_LENGTH, formatterFF.format(pt.getAbscisse()))); cptCouples++; } @@ -865,9 +864,9 @@ final int[] createFmtXZ = createFmtXZ(); for (final PtProfil pt : liste) { - - fortranWriter.stringField(indiceFortran++, fortranWriter.addSpacesBefore(XZ_COLUMNS_LENGTH,formatter.format(pt.getXt()))); - fortranWriter.stringField(indiceFortran++, fortranWriter.addSpacesBefore(XZ_COLUMNS_LENGTH,formatter.format(pt.getZ()))); + + fortranWriter.stringField(indiceFortran++, fortranWriter.addSpacesBefore(XZ_COLUMNS_LENGTH, formatterXtAndZ.format(pt.getXt()))); + fortranWriter.stringField(indiceFortran++, fortranWriter.addSpacesBefore(XZ_COLUMNS_LENGTH, formatterXtAndZ.format(pt.getZ()))); cptCouples++; if (cptCouples >= nbMaxCouples) { indiceFortran = 0; @@ -980,7 +979,6 @@ writeCartesProfilsDISTANCE(listeSections, CrueIODico.BRANCHE_PROF, true, true, true, true); // WARNING DISTMAX pas a prendre en compte dans V0. - // -- ecriture de RUIS --// if (branche.getDCSP() != null) { for (final DonCalcSansPrt dcsp : branche.getDCSP()) { @@ -1001,7 +999,6 @@ final DonPrtGeoBrancheSaintVenant geoStVenant = (DonPrtGeoBrancheSaintVenant) geo; // ex SINUO 600.0 500.0 (si LongMineur = 600 m et LongMajeur = 500 m) : - final double coeff = geoStVenant.getCoefSinuo();// longMineur / longMajeur; final double max = listeSections.get(listeSections.size() - 1).getXp(); Modified: trunk/soft/fudaa-crue/crue-io/src/test/resources/FudaaCrue_Site_officiel.xml =================================================================== --- trunk/soft/fudaa-crue/crue-io/src/test/resources/FudaaCrue_Site_officiel.xml 2016-03-21 22:24:59 UTC (rev 9316) +++ trunk/soft/fudaa-crue/crue-io/src/test/resources/FudaaCrue_Site_officiel.xml 2016-03-21 22:25:12 UTC (rev 9317) @@ -26,6 +26,10 @@ <Commentaire>Commentaire de l'option SiteNom2.</Commentaire> <Valeur>SiteValeur2</Valeur> </SiteOption> + <SiteOption Nom="nbExportCrue9SignificantFigures" UserVisible="true"> + <Commentaire></Commentaire> + <Valeur>2</Valeur> + </SiteOption> </SiteOptions> </Site> <User> Modified: trunk/soft/fudaa-crue/crue-otfa/src/main/java/org/fudaa/dodico/crue/projet/otfa/OtfaBatch.java =================================================================== --- trunk/soft/fudaa-crue/crue-otfa/src/main/java/org/fudaa/dodico/crue/projet/otfa/OtfaBatch.java 2016-03-21 22:24:59 UTC (rev 9316) +++ trunk/soft/fudaa-crue/crue-otfa/src/main/java/org/fudaa/dodico/crue/projet/otfa/OtfaBatch.java 2016-03-21 22:25:12 UTC (rev 9317) @@ -22,6 +22,7 @@ import org.fudaa.dodico.crue.metier.CrueFileType; import org.fudaa.dodico.crue.projet.calcul.CalculCrueRunnerManagerImpl; import org.fudaa.dodico.crue.projet.conf.Configuration; +import org.fudaa.dodico.crue.projet.conf.Crue9DecimalFormatBuilder; import org.fudaa.dodico.crue.projet.conf.GlobalOptionsManager; import org.fudaa.dodico.crue.projet.conf.OptionsEnum; import org.fudaa.dodico.crue.projet.conf.UserConfiguration; @@ -72,6 +73,8 @@ return null; } coeurConfig.loadCrueConfigMetier(load.getMetier()); + Crue9DecimalFormatBuilder crue9DecimalFormatBuilder = new Crue9DecimalFormatBuilder(); + crue9DecimalFormatBuilder.intialize(configuration, load.getMetier()); } return coeurManager; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2016-03-21 22:26:49
|
Revision: 9318 http://sourceforge.net/p/fudaa/svn/9318 Author: deniger Date: 2016-03-21 22:26:47 +0000 (Mon, 21 Mar 2016) Log Message: ----------- CRUE-634 CRUE-692 Modified Paths: -------------- trunk/soft/fudaa-crue/ui-options/src/main/java/org/fudaa/fudaa/crue/options/services/ConfigurationManagerService.java trunk/soft/fudaa-crue/ui-options/src/main/resources/FudaaCrue_Site.xml trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/sig/tracecasier/GGFilesDbfReader.java trunk/soft/fudaa-crue/ui-planimetry/src/test/java/org/fudaa/fudaa/crue/planimetry/ConfigTest.java Modified: trunk/soft/fudaa-crue/ui-options/src/main/java/org/fudaa/fudaa/crue/options/services/ConfigurationManagerService.java =================================================================== --- trunk/soft/fudaa-crue/ui-options/src/main/java/org/fudaa/fudaa/crue/options/services/ConfigurationManagerService.java 2016-03-21 22:25:12 UTC (rev 9317) +++ trunk/soft/fudaa-crue/ui-options/src/main/java/org/fudaa/fudaa/crue/options/services/ConfigurationManagerService.java 2016-03-21 22:26:47 UTC (rev 9318) @@ -34,6 +34,7 @@ import org.fudaa.dodico.crue.io.conf.CrueEtudeDaoConfiguration; import org.fudaa.dodico.crue.projet.ConfigurationReader; import org.fudaa.dodico.crue.projet.conf.Configuration; +import org.fudaa.dodico.crue.projet.conf.Crue9DecimalFormatBuilder; import org.fudaa.dodico.crue.projet.conf.GlobalOptionsManager; import org.fudaa.dodico.crue.projet.conf.OptionsEnum; import org.fudaa.dodico.crue.projet.conf.UserConfiguration; @@ -135,14 +136,14 @@ if (coeurManager != null) { dynamicContent.remove(coeurManager); } - Configuration read = conf; + Configuration readConfiguration = conf; if (conf == null) { - read = read(installationService.getSiteConfigFile()); + readConfiguration = read(installationService.getSiteConfigFile()); } - if (read == null) { + if (readConfiguration == null) { return; } - coeurManager = new CoeurManager(installationService.getSiteDir(), read.getSite().getCoeurs()); + coeurManager = new CoeurManager(installationService.getSiteDir(), readConfiguration.getSite().getCoeurs()); CoeurManagerValidator validator = new CoeurManagerValidator(); CtuluLogGroup logGroup = new CtuluLogGroup(BusinessMessages.RESOURCE_BUNDLE); @@ -166,6 +167,8 @@ isCoeurValid = false; } coeurConfig.loadCrueConfigMetier(load.getMetier()); + Crue9DecimalFormatBuilder crue9DecimalFormatBuilder = new Crue9DecimalFormatBuilder(); + crue9DecimalFormatBuilder.intialize(readConfiguration, load.getMetier()); } } if (parent != null) { Modified: trunk/soft/fudaa-crue/ui-options/src/main/resources/FudaaCrue_Site.xml =================================================================== --- trunk/soft/fudaa-crue/ui-options/src/main/resources/FudaaCrue_Site.xml 2016-03-21 22:25:12 UTC (rev 9317) +++ trunk/soft/fudaa-crue/ui-options/src/main/resources/FudaaCrue_Site.xml 2016-03-21 22:26:47 UTC (rev 9318) @@ -1,92 +1,96 @@ <Configuration> - <Site> - <Coeurs> - <Coeur id="c10m9"> - <Commentaire>Coeur c10m9 le plus récent</Commentaire> - <VersionGrammaire>1.2</VersionGrammaire> - <CoeurParDefaut>false</CoeurParDefaut> - <DossierCoeur>coeurs/c10m9</DossierCoeur> - </Coeur> - <Coeur id="c10m10"> - <Commentaire>Coeur c10m10 le plus récent</Commentaire> - <VersionGrammaire>1.2</VersionGrammaire> - <CoeurParDefaut>true</CoeurParDefaut> - <DossierCoeur>coeurs/c10m10</DossierCoeur> - </Coeur> - <Coeur id="old_c10m10"> - <Commentaire>Coeur c10m10 précédent</Commentaire> - <VersionGrammaire>1.2</VersionGrammaire> - <CoeurParDefaut>false</CoeurParDefaut> - <DossierCoeur>coeurs/old_c10m10</DossierCoeur> - </Coeur> - </Coeurs> + <Site> + <Coeurs> + <Coeur id="c10m9"> + <Commentaire>Coeur c10m9 le plus récent</Commentaire> + <VersionGrammaire>1.2</VersionGrammaire> + <CoeurParDefaut>false</CoeurParDefaut> + <DossierCoeur>coeurs/c10m9</DossierCoeur> + </Coeur> + <Coeur id="c10m10"> + <Commentaire>Coeur c10m10 le plus récent</Commentaire> + <VersionGrammaire>1.2</VersionGrammaire> + <CoeurParDefaut>true</CoeurParDefaut> + <DossierCoeur>coeurs/c10m10</DossierCoeur> + </Coeur> + <Coeur id="old_c10m10"> + <Commentaire>Coeur c10m10 précédent</Commentaire> + <VersionGrammaire>1.2</VersionGrammaire> + <CoeurParDefaut>false</CoeurParDefaut> + <DossierCoeur>coeurs/old_c10m10</DossierCoeur> + </Coeur> + </Coeurs> <SiteAide Type="Absolute"> - <!-- - <SiteAide Type="Relative"> - --> - <Commentaire>Aide Flare</Commentaire> - <SyDocActivation>false</SyDocActivation> - <!-- Chemin défini en relatif (inutilisé par SyDoc) --> - <!-- - <CheminBase>aide/%1$s/SyDoC_HTML/Default.htm#cshid=</CheminBase> - --> - <!-- Chemin défini en absolu (inutilisé par SyDoc, à définir en UNC pour aider IE) --> - <CheminBase>http://webhelp/SyDoc/%1$s/SyDoC_HTML/Default.htm#cshid=</CheminBase> - </SiteAide> - <SiteOptions> - <SiteOption Nom="availableLanguage" UserVisible="true"> - <Commentaire>Langues disponibles</Commentaire> - <Valeur>fr_FR</Valeur> - </SiteOption> - <SiteOption Nom="maxComparisonItemsDisplayed" UserVisible="true"> - <Commentaire>Nombre maximal de différences affichées</Commentaire> - <Valeur>1000</Valeur> - </SiteOption> - <SiteOption Nom="maxLogLinesRead" UserVisible="true"> - <Commentaire>Nombre maximal de lignes lues dans un CR</Commentaire> - <Valeur>5000</Valeur> - </SiteOption> - <SiteOption Nom="maxComparisonResultsByEMH" UserVisible="true"> - <Commentaire>Nombre maximal de différences sur les résultats de calcul par EMH</Commentaire> - <Valeur>500</Valeur> - </SiteOption> - <SiteOption Nom="crue10.rptr.exeOption" UserVisible="true"> - <Commentaire>Crue 10: option pour demande de pre-traitement réseau.</Commentaire> - <Valeur>-r</Valeur> - </SiteOption> - <SiteOption Nom="crue10.rptg.exeOption" UserVisible="true"> - <Commentaire>Crue 10: Demande de pre-traitement de la géometrie.</Commentaire> - <Valeur>-g</Valeur> - </SiteOption> - <SiteOption Nom="crue10.rpti.exeOption" UserVisible="true"> - <Commentaire>Crue 10: Demande de pre-traitement des conditions initiales.</Commentaire> - <Valeur>-i</Valeur> - </SiteOption> - <SiteOption Nom="crue10.rcal.exeOption" UserVisible="true"> - <Commentaire>Crue 10: Demande de calculs.</Commentaire> - <Valeur>-c</Valeur> - </SiteOption> - </SiteOptions> - </Site> - <User> - <UserOptions> - <UserOption Nom="userLanguage"> - <Commentaire>Langue choisie pour l'utilisateur</Commentaire> - <Valeur>fr_FR</Valeur> - </UserOption> - <UserOption Nom="uiUpdateProgressFrequence"> - <Commentaire>Fréquence de rafraîchissement en seconde de l'interface pendant le déroulement d'un run</Commentaire> - <Valeur>0.2</Valeur> - </UserOption> - <UserOption Nom="externalEditor"> - <Commentaire>Chemin ou commande vers l'éditeur externe</Commentaire> - <Valeur>C:\Program Files (x86)\Notepad++\notepad++.exe</Valeur> - </UserOption> - <UserOption Nom="crue9Exe"> - <Commentaire>Chemin ou commande vers l'exécutable Crue 9</Commentaire> - <Valeur>Q:\Qualif_Exec\Crue9\crue9.exe</Valeur> - </UserOption> - </UserOptions> - </User> + <!-- + <SiteAide Type="Relative"> + --> + <Commentaire>Aide Flare</Commentaire> + <SyDocActivation>false</SyDocActivation> + <!-- Chemin défini en relatif (inutilisé par SyDoc) --> + <!-- + <CheminBase>aide/%1$s/SyDoC_HTML/Default.htm#cshid=</CheminBase> + --> + <!-- Chemin défini en absolu (inutilisé par SyDoc, à définir en UNC pour aider IE) --> + <CheminBase>http://webhelp/SyDoc/%1$s/SyDoC_HTML/Default.htm#cshid=</CheminBase> + </SiteAide> + <SiteOptions> + <SiteOption Nom="availableLanguage" UserVisible="true"> + <Commentaire>Langues disponibles</Commentaire> + <Valeur>fr_FR</Valeur> + </SiteOption> + <SiteOption Nom="maxComparisonItemsDisplayed" UserVisible="true"> + <Commentaire>Nombre maximal de différences affichées</Commentaire> + <Valeur>1000</Valeur> + </SiteOption> + <SiteOption Nom="nbExportCrue9SignificantFigures" UserVisible="true"> + <Commentaire>Nombre de chiffres significatifs export Crue 9</Commentaire> + <Valeur>8</Valeur> + </SiteOption> + <SiteOption Nom="maxLogLinesRead" UserVisible="true"> + <Commentaire>Nombre maximal de lignes lues dans un CR</Commentaire> + <Valeur>5000</Valeur> + </SiteOption> + <SiteOption Nom="maxComparisonResultsByEMH" UserVisible="true"> + <Commentaire>Nombre maximal de différences sur les résultats de calcul par EMH</Commentaire> + <Valeur>500</Valeur> + </SiteOption> + <SiteOption Nom="crue10.rptr.exeOption" UserVisible="true"> + <Commentaire>Crue 10: option pour demande de pre-traitement réseau.</Commentaire> + <Valeur>-r</Valeur> + </SiteOption> + <SiteOption Nom="crue10.rptg.exeOption" UserVisible="true"> + <Commentaire>Crue 10: Demande de pre-traitement de la géometrie.</Commentaire> + <Valeur>-g</Valeur> + </SiteOption> + <SiteOption Nom="crue10.rpti.exeOption" UserVisible="true"> + <Commentaire>Crue 10: Demande de pre-traitement des conditions initiales.</Commentaire> + <Valeur>-i</Valeur> + </SiteOption> + <SiteOption Nom="crue10.rcal.exeOption" UserVisible="true"> + <Commentaire>Crue 10: Demande de calculs.</Commentaire> + <Valeur>-c</Valeur> + </SiteOption> + </SiteOptions> + </Site> + <User> + <UserOptions> + <UserOption Nom="userLanguage"> + <Commentaire>Langue choisie pour l'utilisateur</Commentaire> + <Valeur>fr_FR</Valeur> + </UserOption> + <UserOption Nom="uiUpdateProgressFrequence"> + <Commentaire>Fréquence de rafraîchissement en seconde de l'interface pendant le déroulement d'un run</Commentaire> + <Valeur>0.2</Valeur> + </UserOption> + <UserOption Nom="externalEditor"> + <Commentaire>Chemin ou commande vers l'éditeur externe</Commentaire> + <Valeur>C:\Program Files (x86)\Notepad++\notepad++.exe</Valeur> + </UserOption> + <UserOption Nom="crue9Exe"> + <Commentaire>Chemin ou commande vers l'exécutable Crue 9</Commentaire> + <Valeur>Q:\Qualif_Exec\Crue9\crue9.exe</Valeur> + </UserOption> + </UserOptions> + </User> </Configuration> Modified: trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/sig/tracecasier/GGFilesDbfReader.java =================================================================== --- trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/sig/tracecasier/GGFilesDbfReader.java 2016-03-21 22:25:12 UTC (rev 9317) +++ trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/sig/tracecasier/GGFilesDbfReader.java 2016-03-21 22:26:47 UTC (rev 9318) @@ -44,6 +44,9 @@ if (GGFileToTraceCasierProcessor.ATTRIBUTE_NAME_NOM_CASIER.equals(name)) { expectedClass = String.class; } + if (Long.class.equals(readClass)) { + readClass = Double.class; + } if (!expectedClass.equals(readClass)) { log.addSevereError(NbBundle.getMessage(GGFileToTraceCasierProcessor.class, "traceCasier.AttributeWithWrongType", name, readClass.toString(), expectedClass.toString())); @@ -76,9 +79,9 @@ DbaseFileReader.Row row = r.readRow(); String nom = CruePrefix.addPrefix((String) row.read(nomIdx), EnumCatEMH.CASIER); TraceCasierProfilContent content = contentByName.get(nom); - double distance = (Double) row.read(distanceIdx); - double xt = (Double) row.read(xtIdx); - double z = (Double) row.read(zIdx); + double distance = ((Number) row.read(distanceIdx)).doubleValue(); + double xt = ((Number) row.read(xtIdx)).doubleValue(); + double z = ((Number) row.read(zIdx)).doubleValue(); if (content == null) { content = new TraceCasierProfilContent(nom, xtEpsilon); content.setDistance(distance); Modified: trunk/soft/fudaa-crue/ui-planimetry/src/test/java/org/fudaa/fudaa/crue/planimetry/ConfigTest.java =================================================================== --- trunk/soft/fudaa-crue/ui-planimetry/src/test/java/org/fudaa/fudaa/crue/planimetry/ConfigTest.java 2016-03-21 22:25:12 UTC (rev 9317) +++ trunk/soft/fudaa-crue/ui-planimetry/src/test/java/org/fudaa/fudaa/crue/planimetry/ConfigTest.java 2016-03-21 22:26:47 UTC (rev 9318) @@ -179,6 +179,8 @@ res.add("groupeImage.visible"); res.add("groupeAutre.visible"); res.add("groupeFichierSIG.visible"); + res.add("groupeTraceProfils.visible"); + res.add("groupeProfilsCasier.visible"); return res; } @@ -192,6 +194,7 @@ List<String> expected = getExpectedProperties(); // assertEquals(expected.size(), keySet.size()); for (int i = 0; i < keySet.size(); i++) { + System.err.println(keySet.get(i)); assertEquals("i= " + i, expected.get(i), keySet.get(i)); } try { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2016-04-18 15:49:14
|
Revision: 9382 http://sourceforge.net/p/fudaa/svn/9382 Author: deniger Date: 2016-04-18 15:49:11 +0000 (Mon, 18 Apr 2016) Log Message: ----------- version 1.9-SNAPSHOT Modified Paths: -------------- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilSectionEditionCreator.java trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/action/SectionProfilAttachedToBrancheAction.java Modified: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilSectionEditionCreator.java =================================================================== --- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilSectionEditionCreator.java 2016-04-18 15:41:39 UTC (rev 9381) +++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilSectionEditionCreator.java 2016-04-18 15:49:11 UTC (rev 9382) @@ -153,7 +153,7 @@ //on reinitialise correctement les frottements: if (litNumerote.getFrot() == null) { if (litNumerote.getIsLitActif()) { - assert litNumerote.getIsLitMineur() == false;//ne doit jamais arriver. +// assert litNumerote.getIsLitMineur() == false;//ne doit jamais arriver. litNumerote.setFrot(editionProfilCreator.getOrCreateFrtMajeur(sousModele, controller.ccm)); } else { if (emptyDonFrtFkSto == null) { Modified: trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/action/SectionProfilAttachedToBrancheAction.java =================================================================== --- trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/action/SectionProfilAttachedToBrancheAction.java 2016-04-18 15:41:39 UTC (rev 9381) +++ trunk/soft/fudaa-crue/ui-planimetry/src/main/java/org/fudaa/fudaa/crue/planimetry/action/SectionProfilAttachedToBrancheAction.java 2016-04-18 15:49:11 UTC (rev 9382) @@ -50,7 +50,7 @@ @Override protected boolean isProcessorEnable() { - return selection.isActionEnable(); + return selection != null && selection.isActionEnable(); } @Override This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2016-10-12 13:18:03
|
Revision: 9431 http://sourceforge.net/p/fudaa/svn/9431 Author: deniger Date: 2016-10-12 13:18:00 +0000 (Wed, 12 Oct 2016) Log Message: ----------- CRUE-673 Affichage des r?\195?\169sultats: probl?\195?\168me d'axes verticaux dupliqu?\195?\169s Modified Paths: -------------- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingNetworkTopComponent.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilder.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderCourbe.java Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingNetworkTopComponent.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingNetworkTopComponent.java 2016-10-12 11:55:12 UTC (rev 9430) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/ModellingNetworkTopComponent.java 2016-10-12 13:18:00 UTC (rev 9431) @@ -244,7 +244,7 @@ return; } updating = true; - Set<Long> selectedUid = new HashSet<>(resultatEMHsSelected.allInstances()); + Set<Long> selectedUid = new HashSet<Long>(resultatEMHsSelected.allInstances()); selectEMHs(selectedUid); updating = false; } Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilder.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilder.java 2016-10-12 11:55:12 UTC (rev 9430) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilder.java 2016-10-12 13:18:00 UTC (rev 9431) @@ -5,8 +5,10 @@ import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; import org.apache.commons.lang.StringUtils; import org.fudaa.dodico.crue.config.ccm.CrueConfigMetierConstants; @@ -49,8 +51,8 @@ super(uiController, loiLabelsManager); } - protected EGAxeVertical getOrCreateAxeVerticalZ(ReportLongitudinalConfig content) { - return getOrCreateAxeVerticalConfigured(getVariableZ().getNature(), content, null); + protected EGAxeVertical getOrCreateAxeVerticalZ(ReportLongitudinalConfig content, Map<String, EGAxeVertical> saved) { + return getOrCreateAxeVerticalConfigured(getVariableZ().getNature(), content, saved); } ReportLongitudinalPositionBrancheContent result; @@ -67,7 +69,8 @@ @Override public List<EGCourbeSimple> getInternCourbes(ReportLongitudinalConfig content, ProgressHandle progress) { - ReportLongitudinalGrapheBuilderCourbe courbeBuilder = new ReportLongitudinalGrapheBuilderCourbe(reportService.getCcm(), this, content); + Map<String, EGAxeVertical> saved = new HashMap<>(); + ReportLongitudinalGrapheBuilderCourbe courbeBuilder = new ReportLongitudinalGrapheBuilderCourbe(reportService.getCcm(), this, content, saved); EGAxeVertical axeZ = courbeBuilder.getAxeZ(); uiController.configureAxeH(reportService.getCcm().getProperty(CrueConfigMetierConstants.PROP_XP), true); double xpInit = 0; @@ -84,7 +87,7 @@ } uiController.getGraphe().setHorizontalBanner(new ReportLongitudinalBanner(content, result)); final List<EGCourbeSimple> res = createNonTimeStepCourbes(content, axeZ, courbeBuilder, progress); - res.addAll(createCourbesOnCurrentTimeStep(content, progress)); + res.addAll(createCourbesOnCurrentTimeStep(content, progress, saved)); return res; } @@ -123,16 +126,18 @@ @Override public List<EGCourbeSimple> getInternCourbesAfterTimeChanged(ReportLongitudinalConfig content, ProgressHandle progress) { + Map<String, EGAxeVertical> saved = new HashMap<>(); List<EGCourbeSimple> res = retrieveCourbesNonTimeStep(); - res.addAll(createCourbesOnCurrentTimeStep(content, progress)); + res.addAll(createCourbesOnCurrentTimeStep(content, progress, saved)); return res; } - private List<EGCourbeSimple> createCourbesOnCurrentTimeStep(ReportLongitudinalConfig content, ProgressHandle progress) { + private List<EGCourbeSimple> createCourbesOnCurrentTimeStep(ReportLongitudinalConfig content, ProgressHandle progress, + Map<String, EGAxeVertical> saved) { if (Boolean.FALSE.equals(content.getCurrentTimeDisplayed())) { return Collections.emptyList(); } - ReportLongitudinalGrapheBuilderCourbe courbeBuilder = new ReportLongitudinalGrapheBuilderCourbe(reportService.getCcm(), this, content); + ReportLongitudinalGrapheBuilderCourbe courbeBuilder = new ReportLongitudinalGrapheBuilderCourbe(reportService.getCcm(), this, content, saved); if (result == null) { return Collections.emptyList(); } @@ -181,11 +186,11 @@ return keys; } - EGAxeVertical getRightAxis(ReportLongitudinalConfig content) { + EGAxeVertical getRightAxis(ReportLongitudinalConfig content, Map<String, EGAxeVertical> savedAxed) { String variableDrawnOnRightAxis = content.getVariableDrawnOnRightAxis(reportResultProviderService); EGAxeVertical rightAxis = null; if (StringUtils.isNotBlank(variableDrawnOnRightAxis)) { - rightAxis = getOrCreateAxeVerticalConfigured(reportResultProviderService.getPropertyNature(variableDrawnOnRightAxis), content, null); + rightAxis = getOrCreateAxeVerticalConfigured(reportResultProviderService.getPropertyNature(variableDrawnOnRightAxis), content, savedAxed); } if (rightAxis != null) { rightAxis.setDroite(true); Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderCourbe.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderCourbe.java 2016-10-12 11:55:12 UTC (rev 9430) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderCourbe.java 2016-10-12 13:18:00 UTC (rev 9431) @@ -42,12 +42,13 @@ EGAxeVertical rightAxis; ReportLongitudinalConfig content; - public ReportLongitudinalGrapheBuilderCourbe(CrueConfigMetier ccm, ReportLongitudinalGrapheBuilder result, ReportLongitudinalConfig content) { + public ReportLongitudinalGrapheBuilderCourbe(CrueConfigMetier ccm, ReportLongitudinalGrapheBuilder result, ReportLongitudinalConfig content, + Map<String, EGAxeVertical> saved) { this.ccm = ccm; this.builder = result; this.content = content; - axeZ = builder.getOrCreateAxeVerticalZ(content); - rightAxis = builder.getRightAxis(content); + axeZ = builder.getOrCreateAxeVerticalZ(content, saved); + rightAxis = builder.getRightAxis(content, saved); } public EGAxeVertical getAxeZ() { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2016-10-12 14:33:26
|
Revision: 9432 http://sourceforge.net/p/fudaa/svn/9432 Author: deniger Date: 2016-10-12 14:33:23 +0000 (Wed, 12 Oct 2016) Log Message: ----------- CRUE-719 Import-Export des conditions initiales Modified Paths: -------------- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnable.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopExportImportPopupBuilder.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCiniImportProgressRunnable.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCiniTopComponentPopupFactory.java trunk/soft/fudaa-crue/ui-modelling/src/test/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnableTest.java Added Paths: ----------- trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/TablerFileReader.java Added: trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/TablerFileReader.java =================================================================== --- trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/TablerFileReader.java (rev 0) +++ trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/TablerFileReader.java 2016-10-12 14:33:23 UTC (rev 9432) @@ -0,0 +1,126 @@ +/* +GPL 2 + */ +package org.fudaa.fudaa.crue.common.helper; + +import com.Ostermiller.util.CSVParser; +import com.memoire.bu.BuFileFilter; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileReader; +import java.io.InputStream; +import java.io.Reader; +import java.util.ArrayList; +import java.util.List; +import java.util.logging.Level; +import java.util.logging.Logger; +import javax.swing.JFileChooser; +import org.apache.commons.lang.StringUtils; +import org.apache.poi.ss.usermodel.Cell; +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.ss.usermodel.Workbook; +import org.apache.poi.ss.usermodel.WorkbookFactory; +import org.fudaa.ctulu.CtuluLibFile; +import org.fudaa.ctulu.CtuluResource; +import org.fudaa.ctulu.gui.CtuluFileChooser; +import org.openide.util.Exceptions; + +/** + * Lit a un fichier et le traduit en tableau a 2 dimension. + * + * @author Frederic Deniger + */ +public class TablerFileReader { + + public static CtuluFileChooser createTablerFileChooser() { + final BuFileFilter ftCsv = new BuFileFilter(new String[]{"csv", "txt"}, CtuluResource.CTULU.getString("Texte CSV")); + final BuFileFilter ftXsl = new BuFileFilter(new String[]{"xls"}, CtuluResource.CTULU.getString("Fichier Excel 97-2003")); + final BuFileFilter ftXslx = new BuFileFilter(new String[]{"xlsx"}, CtuluResource.CTULU.getString("Fichier Excel")); + ftCsv.setExtensionListInDescription(true); + ftXsl.setExtensionListInDescription(true); + ftXslx.setExtensionListInDescription(true); + CtuluFileChooser fileChooser = new CtuluFileChooser(true); + fileChooser.addChoosableFileFilter(ftCsv); + fileChooser.addChoosableFileFilter(ftXsl); + fileChooser.addChoosableFileFilter(ftXslx); + fileChooser.setFileFilter(ftXslx); + fileChooser.setAcceptAllFileFilterUsed(false); + fileChooser.setMultiSelectionEnabled(false); + fileChooser.setDialogType(JFileChooser.SAVE_DIALOG); + return fileChooser; + } + + public String[][] readFile(File file) { + final String nameToLowerCase = file.getName().toLowerCase(); + if (nameToLowerCase.endsWith("xlsx") || nameToLowerCase.endsWith("xls")) { + List<String[]> rows = new ArrayList<>(); + InputStream is = null; + try { + is = new FileInputStream(file); + Workbook wb = WorkbookFactory.create(is); + Sheet sheetAt = wb.getSheetAt(0); + int maxCol = 0; + for (Row row : sheetAt) { + maxCol = Math.max(maxCol, row.getLastCellNum()); + } + for (Row row : sheetAt) { + List<String> cols = new ArrayList<>(); + for (int i = 0; i < maxCol; i++) { + cols.add(getValue(row.getCell(i, Row.CREATE_NULL_AS_BLANK))); + } + rows.add(cols.toArray(new String[cols.size()])); + } + } catch (Exception ex) { + Exceptions.printStackTrace(ex); + } finally { + CtuluLibFile.close(is); + } + final String[][] toArray = rows.toArray(new String[rows.size()][]); + return toArray; + + } else { + return readCsv(file); + } + } + + protected String getValue(Cell cell) { + switch (cell.getCellType()) { + case Cell.CELL_TYPE_BLANK: + return ""; + case Cell.CELL_TYPE_NUMERIC: + return Double.toString(cell.getNumericCellValue()); + case Cell.CELL_TYPE_STRING: + return cell.getStringCellValue(); + default: + try { + return Double.toString(cell.getNumericCellValue()); + } catch (Exception ex) { + Logger.getLogger(TablerFileReader.class.getName()).log(Level.INFO, "message {0}", ex); + try { + return cell.getStringCellValue(); + } catch (Exception ex1) { + Logger.getLogger(TablerFileReader.class.getName()).log(Level.INFO, "message {0}", ex1); + + } + } + } + return StringUtils.EMPTY; + } + + protected String[][] readCsv(File file) { + Reader reader = null; + String[][] values = null; + try { + reader = new FileReader(file); + values = new CSVParser(new BufferedReader(reader), ';').getAllValues(); + } catch (Exception ex) { + Exceptions.printStackTrace(ex); + } finally { + CtuluLibFile.close(reader); + } + return values; + } + +} Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnable.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnable.java 2016-10-12 13:18:00 UTC (rev 9431) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnable.java 2016-10-12 14:33:23 UTC (rev 9432) @@ -4,28 +4,12 @@ package org.fudaa.fudaa.crue.modelling.calcul; import com.Ostermiller.util.CSVParser; -import java.io.BufferedReader; import java.io.File; -import java.io.FileInputStream; -import java.io.FileReader; -import java.io.InputStream; -import java.io.Reader; -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; -import org.apache.commons.lang.StringUtils; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.Workbook; -import org.apache.poi.ss.usermodel.WorkbookFactory; -import org.fudaa.ctulu.CtuluLibFile; +import org.fudaa.fudaa.crue.common.helper.TablerFileReader; import org.fudaa.fudaa.crue.modelling.calcul.importer.CLimMsImporter; import org.fudaa.fudaa.crue.views.DonClimMTableModel; import org.netbeans.api.progress.ProgressHandle; import org.netbeans.api.progress.ProgressRunnable; -import org.openide.util.Exceptions; /** * @@ -57,7 +41,7 @@ } values = CSVParser.parse(initValues, sep); } else if (file != null) { - values = readFile(); + values = new TablerFileReader().readFile(file); } if (values == null) { return null; @@ -69,74 +53,4 @@ return importer.importData(); } - protected String getValue(Cell cell) { - switch (cell.getCellType()) { - case Cell.CELL_TYPE_BLANK: - return ""; - case Cell.CELL_TYPE_NUMERIC: - return Double.toString(cell.getNumericCellValue()); - case Cell.CELL_TYPE_STRING: - return cell.getStringCellValue(); - default: - try { - return Double.toString(cell.getNumericCellValue()); - } catch (Exception ex) { - Logger.getLogger(ModellingListCLimMsProgressRunnable.class.getName()).log(Level.INFO, "message {0}", ex); - try { - return cell.getStringCellValue(); - } catch (Exception ex1) { - Logger.getLogger(ModellingListCLimMsProgressRunnable.class.getName()).log(Level.INFO, "message {0}", ex1); - - } - } - } - return StringUtils.EMPTY; - } - - protected String[][] readFile() { - final String nameToLowerCase = file.getName().toLowerCase(); - if (nameToLowerCase.endsWith("xlsx") || nameToLowerCase.endsWith("xls")) { - List<String[]> rows = new ArrayList<String[]>(); - InputStream is = null; - try { - is = new FileInputStream(file); - Workbook wb = WorkbookFactory.create(is); - Sheet sheetAt = wb.getSheetAt(0); - int maxCol = 0; - for (Row row : sheetAt) { - maxCol = Math.max(maxCol, row.getLastCellNum()); - } - for (Row row : sheetAt) { - List<String> cols = new ArrayList<String>(); - for (int i = 0; i < maxCol; i++) { - cols.add(getValue(row.getCell(i, Row.CREATE_NULL_AS_BLANK))); - } - rows.add(cols.toArray(new String[cols.size()])); - } - } catch (Exception ex) { - Exceptions.printStackTrace(ex); - } finally { - CtuluLibFile.close(is); - } - final String[][] toArray = rows.toArray(new String[rows.size()][]); - return toArray; - - } else { - return readCsv(); - } - } - - protected String[][] readCsv() { - Reader reader = null; - String[][] values = null; - try { - reader = new FileReader(file); - values = new CSVParser(new BufferedReader(reader), ';').getAllValues(); - } catch (Exception ex) { - Exceptions.printStackTrace(ex); - } finally { - CtuluLibFile.close(reader); - } - return values; - } } Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopExportImportPopupBuilder.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopExportImportPopupBuilder.java 2016-10-12 13:18:00 UTC (rev 9431) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopExportImportPopupBuilder.java 2016-10-12 14:33:23 UTC (rev 9432) @@ -16,6 +16,7 @@ import org.fudaa.ctulu.gui.CtuluTableSimpleExporter; import org.fudaa.fudaa.crue.common.helper.CrueProgressUtils; import org.fudaa.fudaa.crue.common.helper.CtuluUIForNetbeans; +import org.fudaa.fudaa.crue.common.helper.TablerFileReader; import org.fudaa.fudaa.crue.views.DonClimMTableModel; import org.fudaa.fudaa.crue.views.LoiDisplayer; import org.fudaa.fudaa.crue.views.LoiDisplayerInstaller; @@ -53,20 +54,7 @@ if (!tc.isEditable()) { return; } - final BuFileFilter ftCsv = new BuFileFilter(new String[]{"csv", "txt"}, CtuluResource.CTULU.getString("Texte CSV")); - final BuFileFilter ftXsl = new BuFileFilter(new String[]{"xls"}, CtuluResource.CTULU.getString("Fichier Excel 97-2003")); - final BuFileFilter ftXslx = new BuFileFilter(new String[]{"xlsx"}, CtuluResource.CTULU.getString("Fichier Excel")); - ftCsv.setExtensionListInDescription(true); - ftXsl.setExtensionListInDescription(true); - ftXslx.setExtensionListInDescription(true); - CtuluFileChooser fileChooser = new CtuluFileChooser(true); - fileChooser.addChoosableFileFilter(ftCsv); - fileChooser.addChoosableFileFilter(ftXsl); - fileChooser.addChoosableFileFilter(ftXslx); - fileChooser.setFileFilter(ftXslx); - fileChooser.setAcceptAllFileFilterUsed(false); - fileChooser.setMultiSelectionEnabled(false); - fileChooser.setDialogType(JFileChooser.SAVE_DIALOG); + CtuluFileChooser fileChooser = TablerFileReader.createTablerFileChooser(); final int res = fileChooser.showDialog(CtuluUIForNetbeans.DEFAULT.getParentComponent(), NbBundle.getMessage( ModellingListCLimMsTopExportImportPopupBuilder.class, "button.import.name")); @@ -81,6 +69,7 @@ } } + protected JMenuItem createExportMenuItem() throws MissingResourceException { final JMenuItem menuItemExport = new JMenuItem(NbBundle.getMessage(ModellingListCLimMsTopExportImportPopupBuilder.class, "button.export.name")); menuItemExport.addActionListener(new ActionListener() { Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCiniImportProgressRunnable.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCiniImportProgressRunnable.java 2016-10-12 13:18:00 UTC (rev 9431) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCiniImportProgressRunnable.java 2016-10-12 14:33:23 UTC (rev 9432) @@ -4,17 +4,13 @@ package org.fudaa.fudaa.crue.modelling.calcul; import com.Ostermiller.util.CSVParser; -import java.io.BufferedReader; import java.io.File; -import java.io.FileReader; -import java.io.Reader; -import org.fudaa.ctulu.CtuluLibFile; import org.fudaa.ctulu.CtuluLog; +import org.fudaa.fudaa.crue.common.helper.TablerFileReader; import org.fudaa.fudaa.crue.common.log.LogsDisplayer; import org.fudaa.fudaa.crue.modelling.calcul.importer.CiniImporter; import org.netbeans.api.progress.ProgressHandle; import org.netbeans.api.progress.ProgressRunnable; -import org.openide.util.Exceptions; import org.openide.util.NbBundle; /** @@ -22,24 +18,23 @@ * @author Frederic Deniger */ public class ModellingListCiniImportProgressRunnable implements ProgressRunnable<Object> { - + private File file; private final ModellingListCiniTopComponent topComponent; private String initValues; - + public ModellingListCiniImportProgressRunnable(File file, ModellingListCiniTopComponent topComponent) { this.file = file; this.topComponent = topComponent; } - + public ModellingListCiniImportProgressRunnable(String initValues, ModellingListCiniTopComponent topComponent) { this.topComponent = topComponent; this.initValues = initValues; } - + @Override public Object run(ProgressHandle handle) { - Reader reader = null; String[][] values = null; if (initValues != null) { char sep = '\t'; @@ -48,14 +43,7 @@ } values = CSVParser.parse(initValues, sep); } else if (file != null) { - try { - reader = new FileReader(file); - values = new CSVParser(new BufferedReader(reader), ';').getAllValues(); - } catch (Exception ex) { - Exceptions.printStackTrace(ex); - } finally { - CtuluLibFile.close(reader); - } + values = new TablerFileReader().readFile(file); } if (values == null) { return null; @@ -72,8 +60,9 @@ title = NbBundle.getMessage(ModellingListCiniImportProgressRunnable.class, "cini.importClipboard.bilan"); } LogsDisplayer.displayError(importData, title); - + } return null; } + } Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCiniTopComponentPopupFactory.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCiniTopComponentPopupFactory.java 2016-10-12 13:18:00 UTC (rev 9431) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCiniTopComponentPopupFactory.java 2016-10-12 14:33:23 UTC (rev 9432) @@ -3,7 +3,6 @@ */ package org.fudaa.fudaa.crue.modelling.calcul; -import com.memoire.bu.BuFileFilter; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -15,13 +14,13 @@ import javax.swing.JMenuItem; import javax.swing.JPopupMenu; import javax.swing.KeyStroke; -import org.fudaa.ctulu.CtuluResource; import org.fudaa.ctulu.gui.CtuluFileChooser; import org.fudaa.ctulu.gui.CtuluTableSimpleExporter; import org.fudaa.ctulu.table.CtuluTable; import org.fudaa.ctulu.table.CtuluTableModelDefault; import org.fudaa.fudaa.crue.common.helper.CrueProgressUtils; import org.fudaa.fudaa.crue.common.helper.CtuluUIForNetbeans; +import org.fudaa.fudaa.crue.common.helper.TablerFileReader; import org.fudaa.fudaa.crue.modelling.list.ListNodeAddPopupFactory; import org.fudaa.fudaa.crue.views.export.OutlineViewExportTableModel; import org.openide.explorer.view.NodePopupFactory; @@ -120,14 +119,7 @@ if (!tc.isEditable()) { return; } - final BuFileFilter ftCsv = new BuFileFilter(new String[]{"txt", "csv"}, CtuluResource.CTULU.getString("Texte CSV")); - ftCsv.setExtensionListInDescription(true); - CtuluFileChooser fileChooser = new CtuluFileChooser(true); - fileChooser.addChoosableFileFilter(ftCsv); - fileChooser.setFileFilter(ftCsv); - fileChooser.setAcceptAllFileFilterUsed(false); - fileChooser.setMultiSelectionEnabled(false); - fileChooser.setDialogType(JFileChooser.SAVE_DIALOG); + CtuluFileChooser fileChooser = TablerFileReader.createTablerFileChooser(); final int res = fileChooser.showDialog(CtuluUIForNetbeans.DEFAULT.getParentComponent(), NbBundle.getMessage(ModellingListCiniTopComponent.class, "button.import.name")); if (res == JFileChooser.APPROVE_OPTION) { Modified: trunk/soft/fudaa-crue/ui-modelling/src/test/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnableTest.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/test/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnableTest.java 2016-10-12 13:18:00 UTC (rev 9431) +++ trunk/soft/fudaa-crue/ui-modelling/src/test/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnableTest.java 2016-10-12 14:33:23 UTC (rev 9432) @@ -6,6 +6,7 @@ import java.io.File; import java.io.IOException; import org.fudaa.ctulu.CtuluLibFile; +import org.fudaa.fudaa.crue.common.helper.TablerFileReader; import static org.junit.Assert.*; import org.junit.Test; @@ -27,8 +28,7 @@ protected void testContent(File f) { assertNotNull(f); - ModellingListCLimMsProgressRunnable runnable = new ModellingListCLimMsProgressRunnable(f, null); - String[][] values = runnable.readFile(); + String[][] values = new TablerFileReader().readFile(f); assertEquals(2, values.length); assertEquals(5, values[0].length); assertArrayEquals(new String[]{"A", "", "B", "C", "D"}, values[0]); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2016-10-12 15:39:54
|
Revision: 9433 http://sourceforge.net/p/fudaa/svn/9433 Author: deniger Date: 2016-10-12 15:39:52 +0000 (Wed, 12 Oct 2016) Log Message: ----------- CRUE-715: Fonction annuler dans certains ?\195?\169diteurs de branches... Ajout des fonctions de clone pour permettre l'annulation des modifications Modified Paths: -------------- trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheBarrageFilEau.java trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/RelationEMHSectionDansBranche.java trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/RelationEMHSectionDansBrancheSaintVenant.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/emh/ModellingEMHBrancheBarrageFilEauPanel.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/emh/ModellingEMHBrancheSaintVenantPanel.java Modified: trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheBarrageFilEau.java =================================================================== --- trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheBarrageFilEau.java 2016-10-12 14:33:23 UTC (rev 9432) +++ trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/DonCalcSansPrtBrancheBarrageFilEau.java 2016-10-12 15:39:52 UTC (rev 9433) @@ -34,7 +34,7 @@ */ public java.util.Collection<ElemSeuil> getElemSeuil() { if (elemSeuil == null) { - elemSeuil = new java.util.HashSet<ElemSeuil>(); + elemSeuil = new java.util.HashSet<>(); } return elemSeuil; } Modified: trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/RelationEMHSectionDansBranche.java =================================================================== --- trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/RelationEMHSectionDansBranche.java 2016-10-12 14:33:23 UTC (rev 9432) +++ trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/RelationEMHSectionDansBranche.java 2016-10-12 15:39:52 UTC (rev 9433) @@ -1,13 +1,15 @@ -/*********************************************************************** +/** ********************************************************************* * Module: RelationEMHSectionDansBranche.java Author: deniger Purpose: Defines the Class RelationEMHSectionDansBranche - ***********************************************************************/ - + ********************************************************************** */ package org.fudaa.dodico.crue.metier.emh; import java.util.Collections; import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; -public class RelationEMHSectionDansBranche extends RelationEMH<CatEMHSection> { +public class RelationEMHSectionDansBranche extends RelationEMH<CatEMHSection> implements Cloneable { + private double xp; private EnumPosSection pos; @@ -18,6 +20,21 @@ return pos; } + public RelationEMHSectionDansBranche cloneValuesOnly() { + RelationEMHSectionDansBranche cloned = null; + try { + cloned = clone(); + } catch (CloneNotSupportedException ex) { + Logger.getLogger(RelationEMHSectionDansBranche.class.getName()).log(Level.SEVERE, null, ex); + } + return cloned; + } + + @Override + public RelationEMHSectionDansBranche clone() throws CloneNotSupportedException { + return (RelationEMHSectionDansBranche) super.clone(); + } + /** * * @return une map contenant les données spécifiques de la branche. Utile pour les relatiosn de saint-venant @@ -36,7 +53,9 @@ this.pos = pos; } - /** @pdOid a1909c6f-b4b5-4153-932b-ee7d864dfe17 */ + /** + * @pdOid a1909c6f-b4b5-4153-932b-ee7d864dfe17 + */ public double getXp() { return xp; } @@ -49,4 +68,4 @@ xp = newXp; } -} \ No newline at end of file +} Modified: trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/RelationEMHSectionDansBrancheSaintVenant.java =================================================================== --- trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/RelationEMHSectionDansBrancheSaintVenant.java 2016-10-12 14:33:23 UTC (rev 9432) +++ trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/RelationEMHSectionDansBrancheSaintVenant.java 2016-10-12 15:39:52 UTC (rev 9433) @@ -7,6 +7,8 @@ import java.util.HashMap; import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; import org.fudaa.dodico.crue.common.annotation.PropertyDesc; import org.fudaa.dodico.crue.config.ccm.CrueConfigMetier; import org.fudaa.dodico.crue.config.ccm.CrueConfigMetierConstants; @@ -32,6 +34,22 @@ return coefDiv; } + public RelationEMHSectionDansBrancheSaintVenant cloneValuesOnly() { + RelationEMHSectionDansBrancheSaintVenant cloned = null; + try { + cloned = clone(); + } catch (CloneNotSupportedException ex) { + Logger.getLogger(RelationEMHSectionDansBrancheSaintVenant.class.getName()).log(Level.SEVERE, null, ex); + } + return cloned; + } + + @Override + public RelationEMHSectionDansBrancheSaintVenant clone() throws CloneNotSupportedException { + final RelationEMHSectionDansBrancheSaintVenant cloned = (RelationEMHSectionDansBrancheSaintVenant) super.clone(); + return cloned; + } + /** * * @return une map contenant les données spécifiques de la branche. Utile pour les relatiosn de saint-venant @@ -102,4 +120,4 @@ public void setCoefConv(final double newCoefConv) { coefConv = newCoefConv; } -} \ No newline at end of file +} Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/emh/ModellingEMHBrancheBarrageFilEauPanel.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/emh/ModellingEMHBrancheBarrageFilEauPanel.java 2016-10-12 14:33:23 UTC (rev 9432) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/emh/ModellingEMHBrancheBarrageFilEauPanel.java 2016-10-12 15:39:52 UTC (rev 9433) @@ -150,7 +150,7 @@ Collection<ElemSeuil> elemSeuilAvecPdc = dcsp.getElemSeuil(); CrueConfigMetier ccm = getCcm(); for (ElemSeuil elemSeuilAvecPdcNode : elemSeuilAvecPdc) { - nodes.add(new ElemSeuilAduNode(elemSeuilAvecPdcNode, ccm, perspectiveServiceModelling)); + nodes.add(new ElemSeuilAduNode(elemSeuilAvecPdcNode.clone(), ccm, perspectiveServiceModelling)); } } Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/emh/ModellingEMHBrancheSaintVenantPanel.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/emh/ModellingEMHBrancheSaintVenantPanel.java 2016-10-12 14:33:23 UTC (rev 9432) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/emh/ModellingEMHBrancheSaintVenantPanel.java 2016-10-12 15:39:52 UTC (rev 9433) @@ -39,7 +39,7 @@ * @author fred */ public class ModellingEMHBrancheSaintVenantPanel extends JPanel implements ModellingEMHBrancheSpecificEditor, Observer, ExplorerManager.Provider { - + ModellingScenarioService modellingScenarioService = Lookup.getDefault().lookup( ModellingScenarioService.class); PerspectiveServiceModelling perspectiveServiceModelling = Lookup.getDefault().lookup(PerspectiveServiceModelling.class); @@ -51,7 +51,7 @@ List<ItemVariableView> dcspProperties; List<ItemVariableView> dptgProperties; private DisableSortHelper sortDisabler; - + ModellingEMHBrancheSaintVenantPanel(CatEMHBranche branche, ModellingEMHBrancheTopComponent parent) { super(new BorderLayout(10, 10)); setPreferredSize(new Dimension(600, 800)); @@ -68,13 +68,13 @@ } JPanel pnTop = createTopPanel(dcsp, ccm, dptg, branche); add(pnTop, BorderLayout.NORTH); - + RelationEMHSectionDansBranche sectionAval = branche.getSectionAval(); final ItemVariable propertyXp = ccm.getProperty(CrueConfigMetierConstants.PROP_XP); List<Node> nodes = new ArrayList<Node>(); nodes.add(createLabelNode(NbBundle.getMessage(ModellingEMHBrancheSaintVenantPanel.class, "Amont.DisplayName"))); final boolean isSaintVenant = branche.getBrancheType().equals(EnumBrancheType.EMHBrancheSaintVenant); - + List<RelationEMHSectionDansBranche> listeSectionsSortedXP = branche.getListeSectionsSortedXP(ccm); ListRelationSectionContentFactoryNode factory = new ListRelationSectionContentFactoryNode(); //on ne s'occupe pas de la section aval: @@ -84,9 +84,10 @@ sectionNode.setDisplayName(propertyXp.format(relation.getXp(), DecimalFormatEpsilonEnum.COMPARISON)); ModellingEMHBrancheStricklerPanel.removeWrite((AbstractNodeFirable) sectionNode); nodes.add(sectionNode); - RelationEMHSectionDansBrancheSaintVenant relationSaintVenant = isSaintVenant ? (RelationEMHSectionDansBrancheSaintVenant) relation : new RelationEMHSectionDansBrancheSaintVenant( - ccm); - CommonObjectNode<RelationEMHSectionDansBrancheSaintVenant> node = new CommonObjectNode<RelationEMHSectionDansBrancheSaintVenant>( + RelationEMHSectionDansBrancheSaintVenant relationSaintVenant = isSaintVenant ? ((RelationEMHSectionDansBrancheSaintVenant) relation). + cloneValuesOnly() : new RelationEMHSectionDansBrancheSaintVenant( + ccm); + CommonObjectNode<RelationEMHSectionDansBrancheSaintVenant> node = new CommonObjectNode<>( relationSaintVenant, ccm, perspectiveServiceModelling); node.addPropertyChangeListener(new PropertyChangeListener() { @Override @@ -96,7 +97,7 @@ }); nodes.add(node); } - + avalNode = factory.create(branche, sectionAval, ccm); avalNode.setDisplayName(propertyXp.format(sectionAval.getXp(), DecimalFormatEpsilonEnum.COMPARISON)); ModellingEMHBrancheStricklerPanel.removeWrite((AbstractNodeFirable) avalNode); @@ -114,10 +115,10 @@ view.getOutline().setRootVisible(false); em.setRootContext(NodeHelper.createNode(nodes, "SECTIONS")); parent.getLookup(); - + add(view); } - + private JPanel createTopPanel(DonCalcSansPrtBrancheSaintVenant dcsp, final CrueConfigMetier ccm, DonPrtGeoBrancheSaintVenant dptg, CatEMHBranche branche) throws MissingResourceException { JPanel pnTop = new JPanel(new BuGridLayout(4, 10, 10)); @@ -140,16 +141,16 @@ distance.addObserver(this); return pnTop; } - + @Override public ExplorerManager getExplorerManager() { return em; } - + private Node createLabelNode(String name) { return new DelimiteurNode(name); } - + @Override public void update(Observable o, Object arg) { parent.setModified(true); @@ -160,11 +161,11 @@ Exceptions.printStackTrace(exception); } } - + private CrueConfigMetier getCcm() { return modellingScenarioService.getSelectedProjet().getPropDefinition(); } - + @Override public void setEditable(boolean editable) { for (ItemVariableView object : dcspProperties) { @@ -191,7 +192,7 @@ } return res; } - + @Override public void fillWithData(BrancheEditionContent content) { DonCalcSansPrtBrancheSaintVenant dcsp = new DonCalcSansPrtBrancheSaintVenant(getCcm()); @@ -203,7 +204,7 @@ content.setDcsp(dcsp); content.setDptgSaintVenant(dptg); } - + @Override public JComponent getComponent() { return this; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2016-10-13 08:37:39
|
Revision: 9436 http://sourceforge.net/p/fudaa/svn/9436 Author: deniger Date: 2016-10-13 08:37:36 +0000 (Thu, 13 Oct 2016) Log Message: ----------- CRUE-667: Import de conditions aux limites Modified Paths: -------------- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilPopupMenuReceiver.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnable.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopExportImportPopupBuilder.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCiniImportProgressRunnable.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCiniTopComponentPopupFactory.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/emh/ModellingEMHBrancheBarrageFilEauPanel.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/loi/ModellingProfilSectionMenuReceiver.java trunk/soft/fudaa-crue/ui-modelling/src/main/resources/org/fudaa/fudaa/crue/modelling/loi/Bundle.properties trunk/soft/fudaa-crue/ui-modelling/src/test/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnableTest.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/ReportListCLimMsTopExportPopupBuilder.java Removed Paths: ------------- trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/TablerFileReader.java trunk/soft/fudaa-crue/ui-modelling/src/test/resources/org/ Deleted: trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/TablerFileReader.java =================================================================== --- trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/TablerFileReader.java 2016-10-13 08:36:59 UTC (rev 9435) +++ trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/helper/TablerFileReader.java 2016-10-13 08:37:36 UTC (rev 9436) @@ -1,126 +0,0 @@ -/* -GPL 2 - */ -package org.fudaa.fudaa.crue.common.helper; - -import com.Ostermiller.util.CSVParser; -import com.memoire.bu.BuFileFilter; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileReader; -import java.io.InputStream; -import java.io.Reader; -import java.util.ArrayList; -import java.util.List; -import java.util.logging.Level; -import java.util.logging.Logger; -import javax.swing.JFileChooser; -import org.apache.commons.lang.StringUtils; -import org.apache.poi.ss.usermodel.Cell; -import org.apache.poi.ss.usermodel.Row; -import org.apache.poi.ss.usermodel.Sheet; -import org.apache.poi.ss.usermodel.Workbook; -import org.apache.poi.ss.usermodel.WorkbookFactory; -import org.fudaa.ctulu.CtuluLibFile; -import org.fudaa.ctulu.CtuluResource; -import org.fudaa.ctulu.gui.CtuluFileChooser; -import org.openide.util.Exceptions; - -/** - * Lit a un fichier et le traduit en tableau a 2 dimension. - * - * @author Frederic Deniger - */ -public class TablerFileReader { - - public static CtuluFileChooser createTablerFileChooser() { - final BuFileFilter ftCsv = new BuFileFilter(new String[]{"csv", "txt"}, CtuluResource.CTULU.getString("Texte CSV")); - final BuFileFilter ftXsl = new BuFileFilter(new String[]{"xls"}, CtuluResource.CTULU.getString("Fichier Excel 97-2003")); - final BuFileFilter ftXslx = new BuFileFilter(new String[]{"xlsx"}, CtuluResource.CTULU.getString("Fichier Excel")); - ftCsv.setExtensionListInDescription(true); - ftXsl.setExtensionListInDescription(true); - ftXslx.setExtensionListInDescription(true); - CtuluFileChooser fileChooser = new CtuluFileChooser(true); - fileChooser.addChoosableFileFilter(ftCsv); - fileChooser.addChoosableFileFilter(ftXsl); - fileChooser.addChoosableFileFilter(ftXslx); - fileChooser.setFileFilter(ftXslx); - fileChooser.setAcceptAllFileFilterUsed(false); - fileChooser.setMultiSelectionEnabled(false); - fileChooser.setDialogType(JFileChooser.SAVE_DIALOG); - return fileChooser; - } - - public String[][] readFile(File file) { - final String nameToLowerCase = file.getName().toLowerCase(); - if (nameToLowerCase.endsWith("xlsx") || nameToLowerCase.endsWith("xls")) { - List<String[]> rows = new ArrayList<>(); - InputStream is = null; - try { - is = new FileInputStream(file); - Workbook wb = WorkbookFactory.create(is); - Sheet sheetAt = wb.getSheetAt(0); - int maxCol = 0; - for (Row row : sheetAt) { - maxCol = Math.max(maxCol, row.getLastCellNum()); - } - for (Row row : sheetAt) { - List<String> cols = new ArrayList<>(); - for (int i = 0; i < maxCol; i++) { - cols.add(getValue(row.getCell(i, Row.CREATE_NULL_AS_BLANK))); - } - rows.add(cols.toArray(new String[cols.size()])); - } - } catch (Exception ex) { - Exceptions.printStackTrace(ex); - } finally { - CtuluLibFile.close(is); - } - final String[][] toArray = rows.toArray(new String[rows.size()][]); - return toArray; - - } else { - return readCsv(file); - } - } - - protected String getValue(Cell cell) { - switch (cell.getCellType()) { - case Cell.CELL_TYPE_BLANK: - return ""; - case Cell.CELL_TYPE_NUMERIC: - return Double.toString(cell.getNumericCellValue()); - case Cell.CELL_TYPE_STRING: - return cell.getStringCellValue(); - default: - try { - return Double.toString(cell.getNumericCellValue()); - } catch (Exception ex) { - Logger.getLogger(TablerFileReader.class.getName()).log(Level.INFO, "message {0}", ex); - try { - return cell.getStringCellValue(); - } catch (Exception ex1) { - Logger.getLogger(TablerFileReader.class.getName()).log(Level.INFO, "message {0}", ex1); - - } - } - } - return StringUtils.EMPTY; - } - - protected String[][] readCsv(File file) { - Reader reader = null; - String[][] values = null; - try { - reader = new FileReader(file); - values = new CSVParser(new BufferedReader(reader), ';').getAllValues(); - } catch (Exception ex) { - Exceptions.printStackTrace(ex); - } finally { - CtuluLibFile.close(reader); - } - return values; - } - -} Modified: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilPopupMenuReceiver.java =================================================================== --- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilPopupMenuReceiver.java 2016-10-13 08:36:59 UTC (rev 9435) +++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilPopupMenuReceiver.java 2016-10-13 08:37:36 UTC (rev 9436) @@ -28,9 +28,17 @@ return sectionController; } + /** + * a redefinir si on veut ajouter un item pour l'import de fichier + */ + protected void addImportItem() { + + } + @Override protected void addItems() { super.addItems(); + addImportItem(); popupMenu.addSeparator(); openFrt = new OpenFrt(sectionController); popupMenu.add(openFrt); Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnable.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnable.java 2016-10-13 08:36:59 UTC (rev 9435) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnable.java 2016-10-13 08:37:36 UTC (rev 9436) @@ -5,7 +5,7 @@ import com.Ostermiller.util.CSVParser; import java.io.File; -import org.fudaa.fudaa.crue.common.helper.TablerFileReader; +import org.fudaa.ctulu.table.CtuluExcelCsvFileReader; import org.fudaa.fudaa.crue.modelling.calcul.importer.CLimMsImporter; import org.fudaa.fudaa.crue.views.DonClimMTableModel; import org.netbeans.api.progress.ProgressHandle; @@ -41,7 +41,7 @@ } values = CSVParser.parse(initValues, sep); } else if (file != null) { - values = new TablerFileReader().readFile(file); + values = new CtuluExcelCsvFileReader(file).readFile(); } if (values == null) { return null; Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopExportImportPopupBuilder.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopExportImportPopupBuilder.java 2016-10-13 08:36:59 UTC (rev 9435) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsTopExportImportPopupBuilder.java 2016-10-13 08:37:36 UTC (rev 9436) @@ -3,20 +3,19 @@ */ package org.fudaa.fudaa.crue.modelling.calcul; -import com.memoire.bu.BuFileFilter; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.MissingResourceException; import javax.swing.JFileChooser; import javax.swing.JMenuItem; import javax.swing.JPopupMenu; -import org.fudaa.ctulu.CtuluResource; import org.fudaa.ctulu.gui.CtuluFileChooser; +import org.fudaa.ctulu.gui.CtuluFileChooserCsvExcel; import org.fudaa.ctulu.gui.CtuluPopupListener; import org.fudaa.ctulu.gui.CtuluTableSimpleExporter; +import org.fudaa.ebli.ressource.EbliResource; import org.fudaa.fudaa.crue.common.helper.CrueProgressUtils; import org.fudaa.fudaa.crue.common.helper.CtuluUIForNetbeans; -import org.fudaa.fudaa.crue.common.helper.TablerFileReader; import org.fudaa.fudaa.crue.views.DonClimMTableModel; import org.fudaa.fudaa.crue.views.LoiDisplayer; import org.fudaa.fudaa.crue.views.LoiDisplayerInstaller; @@ -54,7 +53,7 @@ if (!tc.isEditable()) { return; } - CtuluFileChooser fileChooser = TablerFileReader.createTablerFileChooser(); + CtuluFileChooser fileChooser = CtuluFileChooserCsvExcel.createOpenFileChooser(); final int res = fileChooser.showDialog(CtuluUIForNetbeans.DEFAULT.getParentComponent(), NbBundle.getMessage( ModellingListCLimMsTopExportImportPopupBuilder.class, "button.import.name")); @@ -69,9 +68,9 @@ } } - protected JMenuItem createExportMenuItem() throws MissingResourceException { final JMenuItem menuItemExport = new JMenuItem(NbBundle.getMessage(ModellingListCLimMsTopExportImportPopupBuilder.class, "button.export.name")); + menuItemExport.setIcon(EbliResource.EBLI.getToolIcon("crystal_exporter")); menuItemExport.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { @@ -85,6 +84,7 @@ final JMenuItem menuItemImport = new JMenuItem(NbBundle.getMessage(ModellingListCLimMsTopExportImportPopupBuilder.class, "button.import.name")); menuItemImport.setToolTipText(NbBundle.getMessage(ModellingListCLimMsTopExportImportPopupBuilder.class, "button.importClimMs.tooltip")); menuItemImport.setEnabled(tc.isEditable()); + menuItemImport.setIcon(EbliResource.EBLI.getToolIcon("crystal_importer")); menuItemImport.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCiniImportProgressRunnable.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCiniImportProgressRunnable.java 2016-10-13 08:36:59 UTC (rev 9435) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCiniImportProgressRunnable.java 2016-10-13 08:37:36 UTC (rev 9436) @@ -6,7 +6,7 @@ import com.Ostermiller.util.CSVParser; import java.io.File; import org.fudaa.ctulu.CtuluLog; -import org.fudaa.fudaa.crue.common.helper.TablerFileReader; +import org.fudaa.ctulu.table.CtuluExcelCsvFileReader; import org.fudaa.fudaa.crue.common.log.LogsDisplayer; import org.fudaa.fudaa.crue.modelling.calcul.importer.CiniImporter; import org.netbeans.api.progress.ProgressHandle; @@ -43,7 +43,7 @@ } values = CSVParser.parse(initValues, sep); } else if (file != null) { - values = new TablerFileReader().readFile(file); + values = new CtuluExcelCsvFileReader(file).readFile(); } if (values == null) { return null; Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCiniTopComponentPopupFactory.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCiniTopComponentPopupFactory.java 2016-10-13 08:36:59 UTC (rev 9435) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCiniTopComponentPopupFactory.java 2016-10-13 08:37:36 UTC (rev 9436) @@ -15,12 +15,12 @@ import javax.swing.JPopupMenu; import javax.swing.KeyStroke; import org.fudaa.ctulu.gui.CtuluFileChooser; +import org.fudaa.ctulu.gui.CtuluFileChooserCsvExcel; import org.fudaa.ctulu.gui.CtuluTableSimpleExporter; import org.fudaa.ctulu.table.CtuluTable; import org.fudaa.ctulu.table.CtuluTableModelDefault; import org.fudaa.fudaa.crue.common.helper.CrueProgressUtils; import org.fudaa.fudaa.crue.common.helper.CtuluUIForNetbeans; -import org.fudaa.fudaa.crue.common.helper.TablerFileReader; import org.fudaa.fudaa.crue.modelling.list.ListNodeAddPopupFactory; import org.fudaa.fudaa.crue.views.export.OutlineViewExportTableModel; import org.openide.explorer.view.NodePopupFactory; @@ -54,11 +54,11 @@ @Override public JPopupMenu createPopupMenu(int row, int column, Node[] selectedNodes, Component component) { JPopupMenu res = super.createPopupMenu(row, column, selectedNodes, component); - if(res.getComponentCount() == 1) { + if (res.getComponentCount() == 1) { // ajout du séparateur uniquement si un item est présent avant res.addSeparator(); } - + final JMenuItem menuItemPaste = new JMenuItem(NbBundle.getMessage(ModellingListCiniTopComponentPopupFactory.class, "button.importFromClipboard.name")); menuItemPaste.setToolTipText(NbBundle.getMessage(ModellingListCiniTopComponentPopupFactory.class, "button.importFromClipboard.tooltip")); @@ -119,7 +119,7 @@ if (!tc.isEditable()) { return; } - CtuluFileChooser fileChooser = TablerFileReader.createTablerFileChooser(); + CtuluFileChooser fileChooser = CtuluFileChooserCsvExcel.createOpenFileChooser(); final int res = fileChooser.showDialog(CtuluUIForNetbeans.DEFAULT.getParentComponent(), NbBundle.getMessage(ModellingListCiniTopComponent.class, "button.import.name")); if (res == JFileChooser.APPROVE_OPTION) { Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/emh/ModellingEMHBrancheBarrageFilEauPanel.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/emh/ModellingEMHBrancheBarrageFilEauPanel.java 2016-10-13 08:36:59 UTC (rev 9435) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/emh/ModellingEMHBrancheBarrageFilEauPanel.java 2016-10-13 08:37:36 UTC (rev 9436) @@ -44,7 +44,7 @@ * * @author fred */ -public class ModellingEMHBrancheBarrageFilEauPanel extends JPanel implements ModellingEMHBrancheSpecificEditor, Observer { +public final class ModellingEMHBrancheBarrageFilEauPanel extends JPanel implements ModellingEMHBrancheSpecificEditor, Observer { ModellingScenarioService modellingScenarioService = Lookup.getDefault().lookup( ModellingScenarioService.class); @@ -76,7 +76,7 @@ JPanel top = new JPanel(new BuGridLayout(4, 10, 10)); add(top, BorderLayout.NORTH); - properties = ItemVariableView.create(DecimalFormatEpsilonEnum.COMPARISON,dcsp, getCcm(), DonCalcSansPrtBrancheNiveauxAssocies.PROP_QLIMINF, + properties = ItemVariableView.create(DecimalFormatEpsilonEnum.COMPARISON, dcsp, getCcm(), DonCalcSansPrtBrancheNiveauxAssocies.PROP_QLIMINF, DonCalcSansPrtBrancheNiveauxAssocies.PROP_QLIMSUP); for (ItemVariableView propertyEditorPanel : properties) { propertyEditorPanel.addObserver(this); @@ -145,7 +145,7 @@ private class SeuilView extends DefaultOutlineViewEditor { protected void initWith(DonCalcSansPrtBrancheBarrageFilEau dcsp) { - List<ElemSeuilAduNode> nodes = new ArrayList<ElemSeuilAduNode>(); + List<ElemSeuilAduNode> nodes = new ArrayList<>(); if (dcsp != null) { Collection<ElemSeuil> elemSeuilAvecPdc = dcsp.getElemSeuil(); CrueConfigMetier ccm = getCcm(); @@ -164,7 +164,7 @@ } List<ElemSeuil> getElemSeuil() { - List<ElemSeuil> res = new ArrayList<ElemSeuil>(); + List<ElemSeuil> res = new ArrayList<>(); Node[] nodes = getExplorerManager().getRootContext().getChildren().getNodes(); for (Node node : nodes) { ElemSeuil elemSeuil = node.getLookup().lookup(ElemSeuil.class); @@ -228,7 +228,7 @@ try { String toCopy = (String) Toolkit.getDefaultToolkit().getSystemClipboard().getData(DataFlavor.stringFlavor); String[][] parse = CSVParser.parse(toCopy, '\t'); - List<ElemSeuilAduNode> contents = new ArrayList<ElemSeuilAduNode>(); + List<ElemSeuilAduNode> contents = new ArrayList<>(); for (String[] strings : parse) { if (strings.length >= 1) { ElemSeuil newContent = new ElemSeuil(ccm); Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/loi/ModellingProfilSectionMenuReceiver.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/loi/ModellingProfilSectionMenuReceiver.java 2016-10-13 08:36:59 UTC (rev 9435) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/loi/ModellingProfilSectionMenuReceiver.java 2016-10-13 08:37:36 UTC (rev 9436) @@ -15,7 +15,9 @@ import org.fudaa.dodico.crue.metier.algo.DonPrtGeoProfilSectionInverser; import org.fudaa.dodico.crue.metier.emh.DonPrtGeoProfilSection; import org.fudaa.ebli.commun.EbliActionSimple; +import org.fudaa.ebli.commun.EbliLib; import org.fudaa.ebli.courbe.EGCourbe; +import org.fudaa.ebli.ressource.EbliResource; import org.fudaa.fudaa.crue.common.helper.DialogHelper; import org.fudaa.fudaa.crue.common.view.ItemVariableView; import org.fudaa.fudaa.crue.loi.section.ProfilPopupMenuReceiver; @@ -33,6 +35,7 @@ private InverseProfil inverseAction; private SimplifyProfil simplifyAction; + EbliActionSimple importAction; private final ProfilSectionTopComponent topComponent; public ModellingProfilSectionMenuReceiver(ProfilSectionLoiUiController loiUiController, final ProfilSectionTopComponent topComponent) { @@ -41,11 +44,25 @@ } @Override + protected void addImportItem() { + importAction = new EbliActionSimple(NbBundle.getMessage(ModellingProfilSectionMenuReceiver.class, "tableImportAction"), + EbliResource.EBLI.getToolIcon("crystal_importer"), "IMPORT") { + @Override + public void actionPerformed(ActionEvent _e) { + topComponent.getLoiUIController().getTableGraphePanel().tableImport(); + } + + }; + importAction.setDefaultToolTip("<html>" + EbliLib.getS("Importer depuis un fichier Excel/csv") + "<br><b>" + EbliLib.getS( + "Toutes les valeurs actuelles seront remplacées")); + popupMenu.add(importAction); + } + + @Override protected void addItems() { super.addItems(); popupMenu.addSeparator(); inverseAction = new InverseProfil(); - simplifyAction = new SimplifyProfil(); popupMenu.add(inverseAction); popupMenu.add(simplifyAction); @@ -56,6 +73,7 @@ super.updateItemStateBeforeShow(); EGCourbe selectedComponent = getPanel().getGraphe().getSelectedComponent(); final boolean editable = selectedComponent != null && selectedComponent.getModel().isModifiable(); + importAction.setEnabled(editable); inverseAction.setEnabled(editable); simplifyAction.setEnabled(editable); } Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/resources/org/fudaa/fudaa/crue/modelling/loi/Bundle.properties =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/resources/org/fudaa/fudaa/crue/modelling/loi/Bundle.properties 2016-10-13 08:36:59 UTC (rev 9435) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/resources/org/fudaa/fudaa/crue/modelling/loi/Bundle.properties 2016-10-13 08:37:36 UTC (rev 9436) @@ -66,4 +66,5 @@ simplifySectionProfilAction=Simplifier le profil seuilSimplifyCasierProfilLabel=Seuil de simplification ProfilCasier seuilSimplifyProfilSectionLabel=Seuil de simplification ProfilSection -profileInverseAction=Inverser le profil \ No newline at end of file +profileInverseAction=Inverser le profil +tableImportAction=Importer depuis un fichier Excel/csv \ No newline at end of file Modified: trunk/soft/fudaa-crue/ui-modelling/src/test/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnableTest.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/test/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnableTest.java 2016-10-13 08:36:59 UTC (rev 9435) +++ trunk/soft/fudaa-crue/ui-modelling/src/test/java/org/fudaa/fudaa/crue/modelling/calcul/ModellingListCLimMsProgressRunnableTest.java 2016-10-13 08:37:36 UTC (rev 9436) @@ -6,7 +6,7 @@ import java.io.File; import java.io.IOException; import org.fudaa.ctulu.CtuluLibFile; -import org.fudaa.fudaa.crue.common.helper.TablerFileReader; +import org.fudaa.ctulu.table.CtuluExcelCsvFileReader; import static org.junit.Assert.*; import org.junit.Test; @@ -28,7 +28,7 @@ protected void testContent(File f) { assertNotNull(f); - String[][] values = new TablerFileReader().readFile(f); + String[][] values = new CtuluExcelCsvFileReader(f).readFile(); assertEquals(2, values.length); assertEquals(5, values[0].length); assertArrayEquals(new String[]{"A", "", "B", "C", "D"}, values[0]); Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/ReportListCLimMsTopExportPopupBuilder.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/ReportListCLimMsTopExportPopupBuilder.java 2016-10-13 08:36:59 UTC (rev 9435) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/ReportListCLimMsTopExportPopupBuilder.java 2016-10-13 08:37:36 UTC (rev 9436) @@ -10,6 +10,7 @@ import javax.swing.JPopupMenu; import org.fudaa.ctulu.gui.CtuluPopupListener; import org.fudaa.ctulu.gui.CtuluTableSimpleExporter; +import org.fudaa.ebli.ressource.EbliResource; import org.fudaa.fudaa.crue.common.helper.CtuluUIForNetbeans; import org.fudaa.fudaa.crue.views.LoiDisplayer; import org.fudaa.fudaa.crue.views.LoiDisplayerInstaller; @@ -37,7 +38,6 @@ menu.add(createExportMenuItem()); } - protected void exportTable() { DonClimMExportTableModel exportModel = new DonClimMExportTableModel(tc.tableModel, tc.getCcm()); CtuluTableSimpleExporter.doExport(';', exportModel, CtuluUIForNetbeans.DEFAULT); @@ -45,6 +45,7 @@ protected JMenuItem createExportMenuItem() throws MissingResourceException { final JMenuItem menuItemExport = new JMenuItem(NbBundle.getMessage(ReportListCLimMsTopExportPopupBuilder.class, "button.export.name")); + menuItemExport.setIcon(EbliResource.EBLI.getToolIcon("crystal_exporter")); menuItemExport.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <de...@us...> - 2016-10-21 14:42:14
|
Revision: 9447 http://sourceforge.net/p/fudaa/svn/9447 Author: deniger Date: 2016-10-21 14:42:11 +0000 (Fri, 21 Oct 2016) Log Message: ----------- Utilisation de la notation diamond Modified Paths: -------------- trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/helper/OrdCalcCloner.java trunk/soft/fudaa-crue/crue-emh/src/test/java/org/fudaa/dodico/crue/metier/helper/OrdCalcClonerTest.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/CalculNodeFactory.java Modified: trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/helper/OrdCalcCloner.java =================================================================== --- trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/helper/OrdCalcCloner.java 2016-10-21 09:28:45 UTC (rev 9446) +++ trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/helper/OrdCalcCloner.java 2016-10-21 14:42:11 UTC (rev 9447) @@ -4,11 +4,14 @@ package org.fudaa.dodico.crue.metier.helper; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.logging.Level; +import java.util.logging.Logger; import org.fudaa.dodico.crue.common.transformer.TransformerHelper; import org.fudaa.dodico.crue.metier.comparator.ObjetNommeByNameComparator; import org.fudaa.dodico.crue.metier.emh.Calc; @@ -16,6 +19,9 @@ import org.fudaa.dodico.crue.metier.emh.EMHScenario; import org.fudaa.dodico.crue.metier.emh.OrdCalc; import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario; +import org.fudaa.dodico.crue.metier.emh.ui.CalcOrdCalcUiState; +import org.fudaa.dodico.crue.metier.emh.ui.OrdCalcScenarioUiState; +import org.fudaa.dodico.crue.metier.etude.ManagerEMHScenario; /** * @@ -25,21 +31,42 @@ public static class Result { + /** + * contient les ordre de calcul definit dans le scenario* + */ public List<OrdCalc> ordCalcs = new ArrayList<>(); + /** + * contient les ordCalc definit dans le fichier ui ocal persistant les editions de l'utilisateur* + */ + public List<OrdCalc> ordCalcsinUI = new ArrayList<>(); + /** + * les calculs dans l ordre attendu. + */ public List<Calc> calcs = new ArrayList<>(); } - public Result cloneAndSort(EMHScenario scenario) { - return cloneOrdCalcAndCalc(scenario.getDonCLimMScenario(), scenario.getOrdCalcScenario()); + public Result cloneAndSort(EMHScenario scenario, ManagerEMHScenario managerEMHScenario) { + return cloneOrdCalcAndCalc(scenario.getDonCLimMScenario(), scenario.getOrdCalcScenario(), managerEMHScenario.getUiOCalData()); } - public Result cloneOrdCalcAndCalc(DonCLimMScenario dclm, OrdCalcScenario ocal) { - Result res = new Result(); + public Result cloneOrdCalcAndCalc(DonCLimMScenario dclm, OrdCalcScenario ocal, OrdCalcScenarioUiState uiOCalData) { List<Calc> calcs = dclm.getCalc(); List<Calc> clonedCalcs = new ArrayList<>(); for (Calc calc : calcs) { clonedCalcs.add(calc.deepClone()); } + Result res = null; + if (uiOCalData == null) { + res = sortCalcWithNoSavedUi(ocal, clonedCalcs); + } else { + res = sortCalcWithSavedUi(ocal, clonedCalcs, uiOCalData); + } + return res; + + } + + protected Result sortCalcWithNoSavedUi(OrdCalcScenario ocal, List<Calc> clonedCalcs) { + Result res = new Result(); Map<String, Calc> clonedCalcsByName = TransformerHelper.toMapOfNom(clonedCalcs); List<OrdCalc> ordCalcs = ocal.getOrdCalc(); List<Calc> pseudoPermActivated = new ArrayList<>(); @@ -47,10 +74,10 @@ List<Calc> transActivated = new ArrayList<>(); List<Calc> transNonActivated = new ArrayList<>(); - Set<String> actifCalc = new HashSet<>(); + Set<String> namesOfActiveCalcul = new HashSet<>(); for (OrdCalc ordCalc : ordCalcs) { String calcName = ordCalc.getCalc().getNom(); - actifCalc.add(calcName); + namesOfActiveCalcul.add(calcName); final Calc calc = clonedCalcsByName.get(calcName); res.ordCalcs.add(ordCalc.deepCloneButNotCalc(calc)); if (ordCalc.isPseudoPermanent()) { @@ -60,7 +87,7 @@ } } for (Calc calc : clonedCalcs) { - if (!actifCalc.contains(calc.getNom())) { + if (!namesOfActiveCalcul.contains(calc.getNom())) { if (calc.isPermanent()) { pseudoPermNonActivated.add(calc); } else { @@ -78,4 +105,59 @@ res.calcs.addAll(transNonActivated); return res; } + + protected Result sortCalcWithSavedUi(OrdCalcScenario ocal, List<Calc> clonedCalcs, OrdCalcScenarioUiState uiOCalData) { + Result res = new Result(); + Map<String, Calc> clonedCalcsByName = TransformerHelper.toMapOfNom(clonedCalcs); + final List<String> calcNameInOrder = uiOCalData.getCalcNameInOrder(); + boolean isCoherent = isUiSavedCalcAccordingToCalcs(clonedCalcs, calcNameInOrder); + if (!isCoherent) { + Logger.getLogger(OrdCalcCloner.class.getName()).log(Level.WARNING, "The ocal ui file is not coherent with the ocal data"); + return sortCalcWithNoSavedUi(ocal, clonedCalcs); + } + List<OrdCalc> ordCalcsInScenario = ocal.getOrdCalc(); + Set<String> namesOfActiveCalcul = new HashSet<>(); + for (OrdCalc ordCalc : ordCalcsInScenario) { + String calcName = ordCalc.getCalc().getNom(); + namesOfActiveCalcul.add(calcName); + final Calc calc = clonedCalcsByName.get(calcName); + res.ordCalcs.add(ordCalc.deepCloneButNotCalc(calc)); + } + final List<CalcOrdCalcUiState> uiStates = uiOCalData.getUiStates(); + for (CalcOrdCalcUiState uiState : uiStates) { + final String calcName = uiState.getCalcId(); + if (!namesOfActiveCalcul.contains(calcName)) { + final OrdCalc ordCalcSaved = uiState.getOrdCalc(); + final Calc calc = clonedCalcsByName.get(calcName); + assert calc != null : "uiOrdCalc: should not be null as the method isUiSavedCalcAccordingToCalcs should have tested it"; + res.ordCalcsinUI.add(ordCalcSaved.deepCloneButNotCalc(calc)); + } + } + for (String calcName : calcNameInOrder) { + final Calc calc = clonedCalcsByName.get(calcName); + assert calc != null : "should not be null as the method isUiSavedCalcAccordingToCalcs should have tested it"; + res.calcs.add(calc); + } + return res; + } + + /** + * + * @param clonedCalcs la liste des calculs presents dans l'etude + * @param calcNameInOrder la liste des calculs presents dans le fichier ui-ocal permettant de persister les editions de l'utilisateur + * @return true si les 2 données sont coherentes et si on peut les utiliser. + */ + protected boolean isUiSavedCalcAccordingToCalcs(Collection<Calc> clonedCalcs, final Collection<String> calcNameInOrder) { + //on va d'abord voir si le tout est cohérent: + Map<String, Calc> clonedCalcsByName = TransformerHelper.toMapOfNom(clonedCalcs); + if (clonedCalcs.size() == calcNameInOrder.size()) { + for (String string : calcNameInOrder) { + if (!clonedCalcsByName.containsKey(string)) { + return false; + } + } + return true; + } + return false; + } } Modified: trunk/soft/fudaa-crue/crue-emh/src/test/java/org/fudaa/dodico/crue/metier/helper/OrdCalcClonerTest.java =================================================================== --- trunk/soft/fudaa-crue/crue-emh/src/test/java/org/fudaa/dodico/crue/metier/helper/OrdCalcClonerTest.java 2016-10-21 09:28:45 UTC (rev 9446) +++ trunk/soft/fudaa-crue/crue-emh/src/test/java/org/fudaa/dodico/crue/metier/helper/OrdCalcClonerTest.java 2016-10-21 14:42:11 UTC (rev 9447) @@ -3,12 +3,19 @@ */ package org.fudaa.dodico.crue.metier.helper; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; import org.fudaa.dodico.crue.config.ccm.CrueConfigMetierLoaderDefaultTest; +import org.fudaa.dodico.crue.metier.emh.Calc; import org.fudaa.dodico.crue.metier.emh.CalcPseudoPerm; import org.fudaa.dodico.crue.metier.emh.CalcPseudoPermBrancheOrificeManoeuvre; import org.fudaa.dodico.crue.metier.emh.DonCLimMScenario; import org.fudaa.dodico.crue.metier.emh.OrdCalcPseudoPermIniCalcCI; +import org.fudaa.dodico.crue.metier.emh.OrdCalcPseudoPermIniCalcPrecedent; import org.fudaa.dodico.crue.metier.emh.OrdCalcScenario; +import org.fudaa.dodico.crue.metier.emh.ui.OrdCalcScenarioUiState; import org.fudaa.dodico.crue.metier.helper.OrdCalcCloner.Result; import static org.junit.Assert.*; import org.junit.Test; @@ -27,18 +34,96 @@ DonCLimMScenario dclm = new DonCLimMScenario(); OrdCalcScenario ocal = new OrdCalcScenario(); CalcPseudoPerm pseudo = new CalcPseudoPerm(); - final CalcPseudoPermBrancheOrificeManoeuvre calcPseudoPermBrancheOrificeManoeuvre = new CalcPseudoPermBrancheOrificeManoeuvre(CrueConfigMetierLoaderDefaultTest.DEFAULT); + final CalcPseudoPermBrancheOrificeManoeuvre calcPseudoPermBrancheOrificeManoeuvre = new CalcPseudoPermBrancheOrificeManoeuvre( + CrueConfigMetierLoaderDefaultTest.DEFAULT); pseudo.addCalcPseudoPermBrancheOrificeManoeuvre(calcPseudoPermBrancheOrificeManoeuvre); OrdCalcPseudoPermIniCalcCI ci = new OrdCalcPseudoPermIniCalcCI(); ci.setCalcPseudoPerm(pseudo); dclm.addCalcPseudoPerm(pseudo); ocal.addOrdCalc(ci); OrdCalcCloner cloner = new OrdCalcCloner(); - Result cloneOrdCalcAndCalc = cloner.cloneOrdCalcAndCalc(dclm, ocal); + Result cloneOrdCalcAndCalc = cloner.cloneOrdCalcAndCalc(dclm, ocal, null); assertEquals(1, cloneOrdCalcAndCalc.calcs.size()); assertEquals(1, cloneOrdCalcAndCalc.ordCalcs.size()); assertTrue(cloneOrdCalcAndCalc.calcs.get(0) == cloneOrdCalcAndCalc.ordCalcs.get(0).getCalc()); assertFalse(cloneOrdCalcAndCalc.calcs.get(0) == pseudo); assertFalse(cloneOrdCalcAndCalc.ordCalcs.get(0) == ci); } + + @Test + public void testCloneOrdCalcAndCalcUI() { + DonCLimMScenario dclm = new DonCLimMScenario(); + OrdCalcScenario ocal = new OrdCalcScenario(); + CalcPseudoPerm pseudo = new CalcPseudoPerm(); + pseudo.setNom("CC_P1"); + final CalcPseudoPermBrancheOrificeManoeuvre calcPseudoPermBrancheOrificeManoeuvre = new CalcPseudoPermBrancheOrificeManoeuvre( + CrueConfigMetierLoaderDefaultTest.DEFAULT); + pseudo.addCalcPseudoPermBrancheOrificeManoeuvre(calcPseudoPermBrancheOrificeManoeuvre); + OrdCalcPseudoPermIniCalcCI ordCalc = new OrdCalcPseudoPermIniCalcCI(); + ordCalc.setCalcPseudoPerm(pseudo); + dclm.addCalcPseudoPerm(pseudo); + ocal.addOrdCalc(ordCalc); + + CalcPseudoPerm pseudo2 = new CalcPseudoPerm(); + pseudo2.setNom("CC_P2"); + dclm.addCalcPseudoPerm(pseudo2); + + + OrdCalcScenarioUiState ui = new OrdCalcScenarioUiState(); + //ici dans l'ordre on inverse les calcul + ui.addCalcOrdCalcUiStates("CC_P2", new OrdCalcPseudoPermIniCalcPrecedent()); + ui.addCalcOrdCalcUiStates("CC_P1", new OrdCalcPseudoPermIniCalcPrecedent()); + //donc + int idxCCP2 = 0; + int idxCCP1 = 1; + + OrdCalcCloner cloner = new OrdCalcCloner(); + Result cloneOrdCalcAndCalc = cloner.cloneOrdCalcAndCalc(dclm, ocal, ui); + //test des calculs: + assertEquals(2, cloneOrdCalcAndCalc.calcs.size()); + //attention l'ordre est inversion + assertTrue(cloneOrdCalcAndCalc.calcs.get(idxCCP2) == cloneOrdCalcAndCalc.ordCalcsinUI.get(0).getCalc()); + assertFalse(cloneOrdCalcAndCalc.calcs.get(idxCCP2) == pseudo2); + + assertTrue(cloneOrdCalcAndCalc.calcs.get(idxCCP1) == cloneOrdCalcAndCalc.ordCalcs.get(0).getCalc()); + assertFalse(cloneOrdCalcAndCalc.calcs.get(idxCCP1) == pseudo); + + //les ordres de calcul + assertEquals(1, cloneOrdCalcAndCalc.ordCalcs.size()); + assertEquals("CC_P1", cloneOrdCalcAndCalc.ordCalcs.get(0).getCalc().getId()); + assertTrue(cloneOrdCalcAndCalc.ordCalcs.get(0) instanceof OrdCalcPseudoPermIniCalcCI); + assertFalse(cloneOrdCalcAndCalc.ordCalcs.get(0) == ordCalc); + //les ordres de calcul UI + assertEquals(1, cloneOrdCalcAndCalc.ordCalcsinUI.size()); + assertEquals("CC_P2", cloneOrdCalcAndCalc.ordCalcsinUI.get(0).getCalc().getId()); + assertTrue(cloneOrdCalcAndCalc.ordCalcsinUI.get(0) instanceof OrdCalcPseudoPermIniCalcPrecedent); + + } + + @Test + public void testIsUiSavedCalcAccordingToCalcs() { + OrdCalcCloner cloner = new OrdCalcCloner(); + List<String> calcInOrder = Arrays.asList("CC_P1", "CC_P2"); + Collection<Calc> calcs = createCalcs("CC_P1"); + assertFalse(cloner.isUiSavedCalcAccordingToCalcs(calcs, calcInOrder)); + calcs = createCalcs("CC_P1", "CC_P2"); + assertTrue(cloner.isUiSavedCalcAccordingToCalcs(calcs, calcInOrder)); + calcs = createCalcs("CC_P1", "CC_P3"); + assertFalse(cloner.isUiSavedCalcAccordingToCalcs(calcs, calcInOrder)); + } + + private static Calc createCalc(String id) { + CalcPseudoPerm res = new CalcPseudoPerm(); + res.setNom(id); + return res; + } + + private static Collection<Calc> createCalcs(String... ids) { + List<Calc> calcs = new ArrayList<>(); + for (String id : ids) { + calcs.add(createCalc(id)); + } + return calcs; + } + } Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/CalculNodeFactory.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/CalculNodeFactory.java 2016-10-21 09:28:45 UTC (rev 9446) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/CalculNodeFactory.java 2016-10-21 14:42:11 UTC (rev 9447) @@ -47,6 +47,12 @@ private final DonLoiHYConteneur donLoiHYConteneurCloned; private final Map<String, Loi> clonedLoisByName; + public CalculNodeFactory(OutlineView outlineView) { + this.outlineView = outlineView; + donLoiHYConteneurCloned = (DonLoiHYConteneur) outlineView.getClientProperty(DonLoiHYConteneur.class); + clonedLoisByName = TransformerHelper.toMapOfNom(donLoiHYConteneurCloned.getLois()); + } + protected Children createChildren(Calc calc, Map<Calc, OrdCalc> ordCalcByCalcs, DonLoiHYConteneur donLoiHYConteneur) { List<Node> nodes = new ArrayList<>(); List<DonCLimM> listeDCLM = calc.getlisteDCLM(); @@ -68,19 +74,14 @@ return NodeHelper.createArray(nodes); } - public CalculNodeFactory(OutlineView outlineView) { - this.outlineView = outlineView; - donLoiHYConteneurCloned = (DonLoiHYConteneur) outlineView.getClientProperty(DonLoiHYConteneur.class); - clonedLoisByName = TransformerHelper.toMapOfNom(donLoiHYConteneurCloned.getLois()); - } - public List<CalculNode> createNodes() { if (modellingScenarioService.getScenarioLoaded() == null) { return Collections.emptyList(); } List<CalculNode> nodes = new ArrayList<>(); OrdCalcCloner cloner = new OrdCalcCloner(); - Result cloneOrdCalcAndCalc = cloner.cloneAndSort(modellingScenarioService.getScenarioLoaded()); + Result cloneOrdCalcAndCalc = cloner. + cloneAndSort(modellingScenarioService.getScenarioLoaded(), modellingScenarioService.getManagerScenarioLoaded()); final Map<Calc, OrdCalc> ordCalcByCalc = CalcHelper.getOrdCalcByCalc(cloneOrdCalcAndCalc.ordCalcs); //TODO trier les calculs ici: final CrueConfigMetier ccm = modellingScenarioService.getSelectedProjet().getPropDefinition(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |