|
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.
|