From: <de...@us...> - 2012-08-31 09:13:40
|
Revision: 7598 http://fudaa.svn.sourceforge.net/fudaa/?rev=7598&view=rev Author: deniger Date: 2012-08-31 09:13:28 +0000 (Fri, 31 Aug 2012) Log Message: ----------- Modified Paths: -------------- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/comparaison/config/OrdResDynamicPropertyFilter.java trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/ores/CrueConverterORES_V1P1P1.java trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/IdRegistry.java trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdRes.java trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/result/ModeleResultatTimeContent.java trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/result/OrdResExtractor.java trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/validation/ValidationHelper.java trunk/soft/fudaa-crue/crue-server/src/test/java/org/fudaa/dodico/crue/validation/TestValidatorORES.java trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/services/PerspectiveState.java trunk/soft/fudaa-crue/ui-comparison/src/main/java/org/fudaa/fudaa/crue/comparison/ScenarioComparaisonController.java trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/OrdResScenarioNode.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/data/ReportRunContent.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/data/ReportVariableKey.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/perspective/PerspectiveServiceReport.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportRunAlternatifService.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportService.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportTimeFormatter.java trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/transversal/ReportTransversalGrapheBuilder.java trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties Added Paths: ----------- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportResultProviderService.java Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/comparaison/config/OrdResDynamicPropertyFilter.java =================================================================== --- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/comparaison/config/OrdResDynamicPropertyFilter.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/comparaison/config/OrdResDynamicPropertyFilter.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -1,5 +1,6 @@ package org.fudaa.dodico.crue.comparaison.config; +import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -43,7 +44,7 @@ String method = "ordRes" + normalizeEMHType(emhType); try { OrdRes ordRes = (OrdRes) PropertyUtilsCache.getInstance().getProperty(ordResScenario, method); - Set<Dde> ddes = ordRes.getDdes(); + Collection<Dde> ddes = ordRes.getDdes(); return TransformerHelper.toSetOfId(ddes); } catch (Exception e) { LOGGER.log(Level.SEVERE, "getOrdresProps " + normalizeEMHType(emhType), e); Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/ores/CrueConverterORES_V1P1P1.java =================================================================== --- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/ores/CrueConverterORES_V1P1P1.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/io/ores/CrueConverterORES_V1P1P1.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -5,6 +5,7 @@ import java.beans.PropertyDescriptor; import java.util.ArrayList; +import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -205,7 +206,6 @@ } public void convertMetierToDao(OrdRes in, Object daoToFill, CtuluLog log) { - String simpleName = daoToFill.getClass().getSimpleName(); final PropertyDescriptor[] propertyDescriptors = PropertyUtils.getPropertyDescriptors(daoToFill); Set<String> ddeProperties = new HashSet<String>(); for (PropertyDescriptor propertyDescriptor : propertyDescriptors) { @@ -214,7 +214,7 @@ ddeProperties.add(name); } } - Set<Dde> ddes = in.getDdes(); + Collection<Dde> ddes = in.getDdes(); for (Dde dde : ddes) { String nom = dde.getNom(); String ddeNom = CrueDaoStructureORES_V1P1P1.PREFIX_PROPERTY_DDE + StringUtils.capitalize(nom); Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/IdRegistry.java =================================================================== --- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/IdRegistry.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/IdRegistry.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -5,6 +5,7 @@ import java.util.List; import java.util.Map; import org.fudaa.dodico.crue.metier.helper.EMHHelper; +import org.fudaa.dodico.crue.metier.transformer.TransformerHelper; /** * @@ -56,4 +57,8 @@ Collection<EMH> values = emhByUid.values(); return EMHHelper.selectEMHS(values, emhCat); } + + public Map<String, EMH> getEmhByNom() { + return TransformerHelper.toMapOfNom(emhByUid.values()); + } } Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdRes.java =================================================================== --- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdRes.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/emh/OrdRes.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -1,8 +1,9 @@ package org.fudaa.dodico.crue.metier.emh; +import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; -import java.util.Set; +import java.util.List; import java.util.TreeMap; import org.fudaa.dodico.crue.config.CrueConfigMetier; import org.fudaa.dodico.crue.metier.OrdResKey; @@ -54,8 +55,8 @@ } @Visibility(ihm = false) - public Set<Dde> getDdes() { - return new HashSet<Dde>(values.values()); + public List<Dde> getDdes() { + return new ArrayList<Dde>(values.values()); } @Override Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/result/ModeleResultatTimeContent.java =================================================================== --- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/result/ModeleResultatTimeContent.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/result/ModeleResultatTimeContent.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -81,6 +81,18 @@ return tempSceByCalc.get(key.getNomCalcul()) + key.getDuree(); } + public long getTempsCalc(ResultatKey key) { + return key.getDuree(); + } + + public double getTempsCalcInSec(ResultatKey key) { + return key.getDuree() / 1000d; + } + + public double getTempSceInSec(ResultatKey key) { + return getTempSce(key) / 1000d; + } + public static ModeleResultatTimeContent extract(EMHModeleBase modele) { ResultatPasDeTemps pasDeTemps = modele.getResultatCalculPasDeTemps(); if (pasDeTemps == null) { Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/result/OrdResExtractor.java =================================================================== --- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/result/OrdResExtractor.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/metier/result/OrdResExtractor.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -38,11 +38,11 @@ return res; } - public List<OrdResVariableSelection> getOrdResSelectedVarForEMH(Collection<EMH> selectedEMHs) { + public List<OrdResVariableSelection> getOrdResSelectedVarForEMH(Collection<EMH> selectedEMHs) { return getOrdResSelectedVar(getFilteredOrdRes(selectedEMHs)); } - public List<OrdResVariableSelection> getOrdResSelectedVarForEMHorAll(Collection<EMH> selectedEMHs) { + public List<OrdResVariableSelection> getOrdResSelectedVarForEMHorAll(Collection<EMH> selectedEMHs) { if (CollectionUtils.isEmpty(selectedEMHs)) { return getOrdResSelectedVarForAll(); } @@ -55,15 +55,15 @@ List<OrdResVariableSelection> getOrdResSelectedVar(Collection<OrdRes> ordResList) { ArrayList<OrdResVariableSelection> res = new ArrayList<OrdResVariableSelection>(); - for (OrdRes ordRes : ordResList) { + for (OrdRes ordResItem : ordResList) { List<String> usableVariables = new ArrayList<String>(); - Set<Dde> ddes = ordRes.getDdes(); + List<Dde> ddes = ordResItem.getDdes(); for (Dde dde : ddes) { if (dde.getValeur()) { usableVariables.add(dde.getNom()); } } - res.add(new OrdResVariableSelection(ordRes.getKey(), usableVariables)); + res.add(new OrdResVariableSelection(ordResItem.getKey(), usableVariables)); } return res; Modified: trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/validation/ValidationHelper.java =================================================================== --- trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/validation/ValidationHelper.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/crue-server/src/main/java/org/fudaa/dodico/crue/validation/ValidationHelper.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -305,26 +305,20 @@ final List<EMH> listeEMHs = crueData.getAllSimpleEMH(); final CtuluLog analyze = new CtuluLog(BusinessMessages.RESOURCE_BUNDLE); - UniqueNomFinder uniqueNomFinder = new UniqueNomFinder(); + for (final EMH emh : listeEMHs) { + String old = emh.getNom(); ValidationHelper.computeNom(emh, ValidationHelper.getPrefixFor(emh), analyze, "crue9.cant.rename.emh", null); + String newName = emh.getNom(); + if (!old.equals(newName)) { + ensureUniqueName(listeEMHs, emh); + } + } - //on s'assure de l'unicité des noms - EditionRename rename = new EditionRename(); + //on s'assure de l'unicité des noms pour tous for (final EMH emh : listeEMHs) { - List<String> noms = TransformerHelper.toNom(listeEMHs); - final String oldName = emh.getNom(); - noms.remove(oldName); - String newName = uniqueNomFinder.findUniqueName(noms, oldName); - if (!oldName.equals(newName)) { - emh.setNom(newName); - } - //pour toutes les emhs, on met à jours les noms. - //pour les casiers, ce sont les noeuds qui prendront le dessus: - if (!emh.getCatType().equals(EnumCatEMH.CASIER)) { - rename.propagateName(emh); - } + ensureUniqueName(listeEMHs, emh); } final DonFrtConteneur frottements = crueData.getFrottements(); @@ -333,17 +327,16 @@ for (final DonFrt donFrt : listFrt) { final LoiFF loi = donFrt.getLoi(); final String pref = loi.getType().getNom() + CruePrefix.SEP; + String oldName = donFrt.getNom(); ValidationHelper.computeNom(donFrt, pref, analyze, "crue9.cant.rename.frt", null); + String newName = donFrt.getNom(); + if (!oldName.equals(newName)) { + ensureUniqueNameDonFrt(listFrt, donFrt); + } } //on evite les doublons: for (final DonFrt donFrt : listFrt) { - List<String> noms = TransformerHelper.toNom(listFrt); - final String oldName = donFrt.getNom(); - noms.remove(oldName); - String newName = uniqueNomFinder.findUniqueName(noms, oldName); - if (!oldName.equals(newName)) { - donFrt.setNom(newName); - } + ensureUniqueNameDonFrt(listFrt, donFrt); } } @@ -466,4 +459,32 @@ validateObject(StringUtils.EMPTY, res, editedObject, ccm); return res; } + + public static void ensureUniqueName(final List<EMH> listeEMHs, final EMH emh) { + UniqueNomFinder uniqueNomFinder = new UniqueNomFinder(); + EditionRename rename = new EditionRename(); + List<String> noms = TransformerHelper.toNom(listeEMHs); + final String oldName = emh.getNom(); + noms.remove(oldName); + String newName = uniqueNomFinder.findUniqueName(noms, oldName); + if (!oldName.equals(newName)) { + emh.setNom(newName); + } + //pour toutes les emhs, on met à jours les noms. + //pour les casiers, ce sont les noeuds qui prendront le dessus: + if (!emh.getCatType().equals(EnumCatEMH.CASIER)) { + rename.propagateName(emh); + } + } + + public static void ensureUniqueNameDonFrt(final List<DonFrt> listFrt, final DonFrt donFrt) { + List<String> noms = TransformerHelper.toNom(listFrt); + final String oldName = donFrt.getNom(); + noms.remove(oldName); + UniqueNomFinder uniqueNomFinder = new UniqueNomFinder(); + String newName = uniqueNomFinder.findUniqueName(noms, oldName); + if (!oldName.equals(newName)) { + donFrt.setNom(newName); + } + } } Modified: trunk/soft/fudaa-crue/crue-server/src/test/java/org/fudaa/dodico/crue/validation/TestValidatorORES.java =================================================================== --- trunk/soft/fudaa-crue/crue-server/src/test/java/org/fudaa/dodico/crue/validation/TestValidatorORES.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/crue-server/src/test/java/org/fudaa/dodico/crue/validation/TestValidatorORES.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -1,9 +1,9 @@ package org.fudaa.dodico.crue.validation; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.Set; import org.fudaa.ctulu.CtuluLog; import org.fudaa.ctulu.CtuluLogRecord; import org.fudaa.dodico.crue.common.CollectionCrueUtil; @@ -65,7 +65,7 @@ OrdResScenario other = loadDefault(); EMHScenario scenario = new EMHScenario(null); scenario.addInfosEMH(other); - Set<Dde> required = other.getOrdResBrancheBarrageFilEau().getDdes(); + Collection<Dde> required = other.getOrdResBrancheBarrageFilEau().getDdes(); other.getOrdResBrancheBarrageFilEau().setValues(Collections.<Dde>emptyList()); List<CtuluLog> validateScenario = validator.validateScenario(scenario); CtuluLog log = validateScenario.get(0); Modified: trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/services/PerspectiveState.java =================================================================== --- trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/services/PerspectiveState.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/ui-common/src/main/java/org/fudaa/fudaa/crue/common/services/PerspectiveState.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -13,7 +13,7 @@ MODE_READ(true,"mode.visualization"), /** * utilise pour un mode readOnly temporaire - * par exemple si un scenario est chargée, la perspective passe en readonly temporaire + * par exemple si un scenario est chargée, la perspective étude passe en readonly temporaire */ MODE_READ_ONLY_TEMP(false,"mode.readOnlyTemp"), /** Modified: trunk/soft/fudaa-crue/ui-comparison/src/main/java/org/fudaa/fudaa/crue/comparison/ScenarioComparaisonController.java =================================================================== --- trunk/soft/fudaa-crue/ui-comparison/src/main/java/org/fudaa/fudaa/crue/comparison/ScenarioComparaisonController.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/ui-comparison/src/main/java/org/fudaa/fudaa/crue/comparison/ScenarioComparaisonController.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -175,7 +175,7 @@ @SuppressWarnings("serial") private AbstractAction createCollapseAction() { - return new AbstractActionIcon(MessageComparison.getMessage(PROPERTY_COLLAPSE), CrueIconsProvider.getIcon("/org/fudaa/fudaa/crue/comparison/arrow-in.png"), + return new AbstractActionIcon(MessageComparison.getMessage(PROPERTY_COLLAPSE), CrueIconsProvider.getIcon("org/fudaa/fudaa/crue/comparison/arrow-in.png"), PROPERTY_COLLAPSE) { @Override @@ -201,7 +201,7 @@ @SuppressWarnings("serial") private AbstractAction createExpandAction() { - return new AbstractActionIcon(MessageComparison.getMessage(PROPERTY_EXPAND), CrueIconsProvider.getIcon("/org/fudaa/fudaa/crue/comparison/arrow-out.png"), + return new AbstractActionIcon(MessageComparison.getMessage(PROPERTY_EXPAND), CrueIconsProvider.getIcon("org/fudaa/fudaa/crue/comparison/arrow-out.png"), PROPERTY_EXPAND) { @Override Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/OrdResScenarioNode.java =================================================================== --- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/OrdResScenarioNode.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/calcul/OrdResScenarioNode.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -6,7 +6,6 @@ import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; -import java.util.List; import org.apache.commons.lang.StringUtils; import org.fudaa.dodico.crue.common.BusinessMessages; import org.fudaa.dodico.crue.common.CollectionCrueUtil; @@ -14,9 +13,7 @@ import org.fudaa.dodico.crue.metier.emh.OrdResScenario; import org.fudaa.dodico.crue.metier.transformer.TransformerHelper; import org.fudaa.fudaa.crue.common.property.AbstractNodeFirable; -import org.fudaa.fudaa.crue.common.property.PropertyNodeBuilder; import org.fudaa.fudaa.crue.common.property.PropertySupportReadWrite; -import org.fudaa.fudaa.crue.common.property.PropertySupportReflection; import org.fudaa.fudaa.crue.modelling.node.AbstractModellingNodeFirable; import org.fudaa.fudaa.crue.modelling.perspective.PerspectiveServiceModelling; import org.openide.nodes.Children; Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/data/ReportRunContent.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/data/ReportRunContent.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/data/ReportRunContent.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -3,6 +3,9 @@ */ package org.fudaa.fudaa.crue.report.data; +import java.util.HashMap; +import java.util.Map; +import org.fudaa.dodico.crue.metier.emh.EMH; import org.fudaa.dodico.crue.metier.emh.EMHScenario; import org.fudaa.dodico.crue.metier.etude.EMHRun; import org.fudaa.dodico.crue.metier.etude.ManagerEMHScenario; @@ -17,6 +20,7 @@ EMHRun run; ManagerEMHScenario managerScenario; ReportRunKey runKey; + Map<String, EMH> emhByName; public ReportRunContent(EMHRun run, ManagerEMHScenario managerScenario, ReportRunEnum runKey) { this.run = run; @@ -30,8 +34,16 @@ public void setScenario(EMHScenario scenario) { this.scenario = scenario; + emhByName = scenario.getIdRegistry().getEmhByNom(); } + public EMH getEMH(String nom) { + if (emhByName == null) { + return null; + } + return emhByName.get(nom); + } + public ReportRunKey getRunKey() { return runKey; } Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/data/ReportVariableKey.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/data/ReportVariableKey.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/data/ReportVariableKey.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -17,9 +17,6 @@ this.variableType = type; } - public String getRunAlternatifId() { - return variableName; - } public ReportVariableTypeEnum getVariableType() { return variableType; 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 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/export/ReportExportHelper.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -6,6 +6,7 @@ import com.memoire.bu.BuBorders; import java.awt.BorderLayout; import java.awt.Dialog; +import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; @@ -85,7 +86,10 @@ return fileChooser; } }; - pn.add(fileChooserPanel, BorderLayout.SOUTH); + JPanel pnSouth = new JPanel(new FlowLayout(FlowLayout.LEFT)); + pnSouth.add(new JLabel(NbBundle.getMessage(ReportExportHelper.class, "Export.ChooseFile.LabelName"))); + 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}, NotifyDescriptor.OK_OPTION, Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/perspective/PerspectiveServiceReport.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/perspective/PerspectiveServiceReport.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/perspective/PerspectiveServiceReport.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -19,8 +19,11 @@ import org.fudaa.fudaa.crue.report.ReportTimeTopComponent; import org.fudaa.fudaa.crue.report.ReportViewManagerTopComponent; import org.fudaa.fudaa.crue.report.ReportVisualTopComponent; +import org.fudaa.fudaa.crue.report.data.ReportRunContent; +import org.fudaa.fudaa.crue.report.service.ReportService; import org.fudaa.fudaa.crue.study.services.CrueService; import org.openide.util.Lookup; +import org.openide.util.Lookup.Result; import org.openide.util.LookupEvent; import org.openide.util.LookupListener; import org.openide.util.lookup.ServiceProvider; @@ -47,40 +50,50 @@ * contient l'état ouvert ou non */ private CrueService crueService = Lookup.getDefault().lookup(CrueService.class); + ReportService reportService = Lookup.getDefault().lookup(ReportService.class); + Result<ReportRunContent> runContentResult; public PerspectiveServiceReport() { - super(PerspectiveEnum.POST); + super(PerspectiveEnum.REPORT); crueService.addEMHProjetStateLookupListener(new LookupListener() { @Override public void resultChanged(LookupEvent ev) { projectLoadedChange(); } }); - crueService.addPostLookupListener(new LookupListener() { + runContentResult = reportService.getLookup().lookupResult(ReportRunContent.class); + runContentResult.addLookupListener(new LookupListener() { @Override public void resultChanged(LookupEvent ev) { - postLoadedChanged(); + reportLoadedChanged(); } }); } - public void postLoadedChanged() { + public void reportLoadedChanged() { //la methode setState gère le mode RO. - setState(crueService.isAScenarioLoadedInPostPerspective() ? PerspectiveState.MODE_READ : PerspectiveState.MODE_READ_ONLY_TEMP); + updateState(); } public void projectLoadedChange() { if (crueService.getProjectLoaded() == null) { resetStateToReadOnlyTemp(); } else { - setState(crueService.isProjetReadOnly() ? PerspectiveState.MODE_READ_ONLY_ALWAYS : PerspectiveState.MODE_READ_ONLY_TEMP); + updateState(); } + } + protected void updateState() { + if (crueService.isProjetReadOnly()) { + setState(PerspectiveState.MODE_READ_ONLY_ALWAYS); + } else { + setState(reportService.getRunCourant() != null ? PerspectiveState.MODE_READ : PerspectiveState.MODE_READ_ONLY_TEMP); + } } @Override public boolean supportEdition() { - return false; + return true; } @Override @@ -107,6 +120,7 @@ @Override public boolean activate() { + updateState(); return true; } Added: 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 (rev 0) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportResultProviderService.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -0,0 +1,142 @@ +/* + GPL 2 + */ +package org.fudaa.fudaa.crue.report.service; + +import java.io.IOException; +import java.util.Map; +import org.apache.commons.lang.StringUtils; +import org.fudaa.dodico.crue.metier.emh.EMH; +import org.fudaa.dodico.crue.metier.emh.ResultatKey; +import org.fudaa.fudaa.crue.report.data.ReportRunContent; +import org.fudaa.fudaa.crue.report.data.ReportRunKey; +import org.fudaa.fudaa.crue.report.data.ReportRunVariableKey; +import org.fudaa.fudaa.crue.report.data.ReportVariableTypeEnum; +import org.openide.util.Exceptions; +import org.openide.util.Lookup; + +/** + * + * @author Frederic Deniger + */ +public class ReportResultProviderService { + + public static String TIME_TEMPS_SCE = "TempsSce"; + public static String TIME_TEMPS_CALC = "TempsCalc"; + public static String TIME_NOM_CALC = "NomCalc"; + ReportService reportService = Lookup.getDefault().lookup(ReportService.class); + ReportRunAlternatifService reportRunAlternatifService = Lookup.getDefault().lookup(ReportRunAlternatifService.class); + + /** + * si c'est un temps, l'EMH n'est pas utilisée + * + * @param key + * @param emh + * @return + */ + public Double getValue(ReportRunVariableKey key, String emhNom) { + ReportVariableTypeEnum variableType = key.getVariable().getVariableType(); + switch (variableType) { + case TIME: + return getTimeValue(key); + case EXPR: + throw new IllegalAccessError(); + case READ: + return getReadValue(key, emhNom); + } + throw new IllegalAccessError("unknown " + variableType); + } + + public ReportRunContent getRunContent(ReportRunKey key) { + if (key.isCourant()) { + return reportService.getRunCourant(); + } + return reportRunAlternatifService.getRunContent(key); + } + + public EMH getEMH(String nom, ReportRunKey key) { + ReportRunContent runContent = getRunContent(key); + if (runContent == null) { + return null; + } + return runContent.getEMH(nom); + } + + public String getValueAsString(ReportRunVariableKey key, String emhNom) { + ReportVariableTypeEnum variableType = key.getVariable().getVariableType(); + switch (variableType) { + case TIME: + return getTimeValueAsString(key); + case EXPR: + throw new IllegalAccessError(); + case READ: + return getReadValueAsString(key, emhNom); + } + throw new IllegalAccessError("unknown " + variableType); + } + + private Double getTimeValue(ReportRunVariableKey key) { + final String variableName = key.getVariable().getVariableName(); + if (TIME_NOM_CALC.equals(variableName)) { + throw new IllegalAccessError("nom calc cannot be translate to double"); + } else if (TIME_TEMPS_CALC.equals(variableName)) { + ResultatKey selectedTime = reportService.getSelectedTime(); + if (selectedTime == null) { + return null; + } + return reportService.getTimeContent().getTempsCalcInSec(selectedTime); + + } else if (TIME_TEMPS_SCE.equals(variableName)) { + ResultatKey selectedTime = reportService.getSelectedTime(); + if (selectedTime == null) { + return null; + } + return reportService.getTimeContent().getTempSceInSec(selectedTime); + + } + throw new UnsupportedOperationException("Not yet implemented"); + } + + private Double getReadValue(ReportRunVariableKey key, String emhNom) { + ResultatKey selectedTime = reportService.getSelectedTime(); + if (selectedTime == null) { + return null; + } + EMH emh = getEMH(emhNom, key.getRunKey()); + if (emh == null || emh.getResultatCalcul() == null) { + return null; + } + try { + final Map<String, Object> read = emh.getResultatCalcul().read(selectedTime); + if (read == null) { + return null; + } + return (Double) read.get(key.getVariable().getVariableName()); + } catch (IOException ex) { + Exceptions.printStackTrace(ex); + } + return null; + + } + + private String getTimeValueAsString(ReportRunVariableKey key) { + final String variableName = key.getVariable().getVariableName(); + if (TIME_NOM_CALC.equals(variableName)) { + ResultatKey selectedTime = reportService.getSelectedTime(); + return selectedTime == null ? StringUtils.EMPTY : selectedTime.getNomCalcul(); + } else if (TIME_TEMPS_CALC.equals(variableName)) { + return reportService.getReportTimeFormatter().getTempsCalcAsString(); + } else if (TIME_TEMPS_SCE.equals(variableName)) { + return reportService.getReportTimeFormatter().getTempsSceAsString(); + } + throw new UnsupportedOperationException("Not yet implemented"); + } + + private String getReadValueAsString(ReportRunVariableKey key, String emhNom) { + Double val = getReadValue(key, emhNom); + if (val == null) { + return StringUtils.EMPTY; + } + return reportService.getCcm().format(key.getVariable().getVariableName(), val); + } +} Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportRunAlternatifService.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportRunAlternatifService.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportRunAlternatifService.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -13,6 +13,7 @@ import org.fudaa.dodico.crue.metier.etude.ManagerEMHScenario; import org.fudaa.dodico.crue.metier.transformer.TransformerHelper; import org.fudaa.fudaa.crue.report.data.ReportRunEnum; +import org.fudaa.fudaa.crue.report.data.ReportRunKey; import org.fudaa.fudaa.crue.study.services.CrueService; import org.openide.util.Lookup; import org.openide.util.LookupEvent; @@ -119,4 +120,17 @@ public Lookup getLookup() { return lookup; } + + public ReportRunContent getRunContent(ReportRunKey key) { + if (key == null) { + return null; + } + Collection<? extends ReportRunContent> lookupAll = lookup.lookupAll(ReportRunContent.class); + for (ReportRunContent reportRunContent : lookupAll) { + if (key.equals(reportRunContent.getRunKey())) { + return reportRunContent; + } + } + return null; + } } Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportService.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportService.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportService.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -124,7 +124,9 @@ if (selectedTime != null) { dynamicContent.remove(selectedTime); } - dynamicContent.add(key); + if (key != null) { + dynamicContent.add(key); + } } public void setTimeFormat(ReportTimeFormatOption timeFormat) { Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportTimeFormatter.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportTimeFormatter.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/service/ReportTimeFormatter.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -34,6 +34,14 @@ timeContent = service.getTimeContent(); } + public String getTempsSceAsString() { + return getResulatKeyTempsSceToStringTransformer().transform(service.getSelectedTime()); + } + + public String getTempsCalcAsString() { + return getResulatKeyTempsCalcToStringTransformer().transform(service.getSelectedTime()); + } + public CrueConfigMetier getCcm() { return ccm; } @@ -98,7 +106,7 @@ } Long millis = (Long) in; if (option.dureeFormatType.equals(DureeFormatType.AS_SECOND)) { - return ccm.format(CrueConfigMetierConstants.PROP_TEMPSCALC, millis)+" s"; + return ccm.format(CrueConfigMetierConstants.PROP_TEMPSCALC, millis) + " s"; } return option.dureeFormater.print(new Period(millis.longValue())); } @@ -122,7 +130,7 @@ private String formatDuree(Long millis) { if (option.dureeFormatType.equals(DureeFormatType.AS_SECOND)) { - return ccm.format(CrueConfigMetierConstants.PROP_TEMPSSCE, millis)+" s"; + return ccm.format(CrueConfigMetierConstants.PROP_TEMPSSCE, millis) + " s"; } return option.dureeFormater.print(new Period(millis.longValue())); } Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/transversal/ReportTransversalGrapheBuilder.java =================================================================== --- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/transversal/ReportTransversalGrapheBuilder.java 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/transversal/ReportTransversalGrapheBuilder.java 2012-08-31 09:13:28 UTC (rev 7598) @@ -3,6 +3,7 @@ */ package org.fudaa.fudaa.crue.report.transversal; +import java.util.Iterator; import java.util.List; import org.fudaa.dodico.crue.common.Pair; import org.fudaa.dodico.crue.metier.emh.CatEMHSection; @@ -66,6 +67,11 @@ double min = uiController.getCourbe().getModel().getXMin(); double max = uiController.getCourbe().getModel().getXMax(); final List<ReportRunVariableKey> profils = content.profilVariables; + for (Iterator<ReportRunVariableKey> it = profils.iterator(); it.hasNext();) { + ReportRunVariableKey reportRunVariableKey = it.next(); +// reportRunVariableKey. + + } } } 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 2012-08-31 08:00:23 UTC (rev 7597) +++ trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/export/Bundle.properties 2012-08-31 09:13:28 UTC (rev 7598) @@ -11,3 +11,4 @@ Export.Task.Name=Exportation en cours Export.OperationFinish=Exportation termin\u00e9e: {0} ReportExportNodeAction.DisplayName=Exporter +Export.ChooseFile.LabelName=Fichier CSV: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |