|
From: <de...@us...> - 2012-12-14 10:00:07
|
Revision: 8131
http://fudaa.svn.sourceforge.net/fudaa/?rev=8131&view=rev
Author: deniger
Date: 2012-12-14 09:59:58 +0000 (Fri, 14 Dec 2012)
Log Message:
-----------
Modified Paths:
--------------
trunk/soft/fudaa-crue/crue-compare/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOnItemMerge.java
trunk/soft/fudaa-crue/crue-compare/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterRPTG.java
trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/Loi.java
trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtGeo.java
trunk/soft/fudaa-crue/crue-io/src/main/java/org/fudaa/dodico/crue/io/neuf/ResPrtReseauCrue9Adapter.java
trunk/soft/fudaa-crue/crue-io/src/main/java/org/fudaa/dodico/crue/io/neuf/STRSequentialReader.java
trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue10Result.java
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/LoiConstanteCourbeModel.java
trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiDefaultCourbeModel.java
trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/loiff/SimpleLoiCourbeModel.java
trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilSectionLoiUiController.java
trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/AbstractReportTimeViewTopComponent.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/multivar/ReportMultiVarGrapheBuilder.java
trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/multivar/ReportMultiVarTopComponent.java
trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/rptg/ReportRPTGTopComponent.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/java/org/fudaa/fudaa/crue/report/transversal/ReportProfilTransversalTopComponent.java
Added Paths:
-----------
trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/DefaultTestedContent.java
trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiWithValideStateCourbeModel.java
trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/res/
trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/res/CourbesUiResController.java
trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/res/LoiStateResCellRenderer.java
trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/res/ProfilSectionLoiUiResController.java
Modified: trunk/soft/fudaa-crue/crue-compare/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOnItemMerge.java
===================================================================
--- trunk/soft/fudaa-crue/crue-compare/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOnItemMerge.java 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/crue-compare/src/main/java/org/fudaa/dodico/crue/comparaison/ConvertSelectOnItemMerge.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -9,6 +9,7 @@
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -90,22 +91,25 @@
}
private void merge(final List listInitialA, final List listInitialB, final List targetListA, final List targetListB,
- String[] attribut)
+ String[] attribut)
throws Exception {
- final Map propA = getMap(listInitialA, attribut);
- final Map propB = getMap(listInitialB, attribut);
+ final LinkedHashMap propA = getMap(listInitialA, attribut);
+ final LinkedHashMap propB = getMap(listInitialB, attribut);
targetListA.clear();
targetListB.clear();
//on trie les clés de A:
List keysInListA = new ArrayList(propA.keySet());
- if (!keysInListA.isEmpty()) {
- Object first = keysInListA.get(0);
- if (first instanceof Comparable) {
- Collections.sort(keysInListA);
- } else if (first instanceof MultiKey) {
- Collections.sort(keysInListA, new MultiKeyComparator());
- }
- }
+ //suite demande CRUE-394 on ne tri pas
+ //a enlever si pas de retours...
+// if (!keysInListA.isEmpty()) {
+// Object first = keysInListA.get(0);
+// if (first instanceof Comparable) {
+// Collections.sort(keysInListA);
+// } else if (first instanceof MultiKey) {
+// Collections.sort(keysInListA, new MultiKeyComparator());
+// }
+// }
+ //a optimiser si pas de retours sur le tri.
for (Object key : keysInListA) {
final Object inB = propB.get(key);
if (inB != null) {
@@ -115,8 +119,8 @@
}
}
- public static Map getMap(final Collection obj, final String[] keyProp) throws Exception {
- final Map res = new HashMap(obj.size());
+ private static LinkedHashMap getMap(final Collection obj, final String[] keyProp) throws Exception {
+ final LinkedHashMap res = new LinkedHashMap(obj.size());
for (final Object object : obj) {
if (keyProp.length == 1) {
final Object property = PropertyUtilsCache.getInstance().getProperty(object, keyProp[0]);
Modified: trunk/soft/fudaa-crue/crue-compare/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterRPTG.java
===================================================================
--- trunk/soft/fudaa-crue/crue-compare/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterRPTG.java 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/crue-compare/src/main/java/org/fudaa/dodico/crue/comparaison/tester/EqualsTesterRPTG.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -4,7 +4,9 @@
package org.fudaa.dodico.crue.comparaison.tester;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
@@ -35,6 +37,22 @@
protected boolean mustTestAlreadyDone() {
return false;
}
+ private Set<String> variablesC9 = new HashSet<String>(Arrays.asList(
+ "zLimGLitSto",
+ "zLimDLitSto",
+ "zLimGLitMaj",
+ "zLimDLitMaj",
+ "zLimGLitMin",
+ "zLimDLitMin",
+ "coefKextrapol",
+ "loiZSmin",
+ "loiZPmin",
+ "loiZLmin",
+ "loiZSmaj",
+ "loiZPmaj",
+ "loiZLmaj",
+ "loiZCoefW1",
+ "loiZCoefW2"));
@Override
public boolean isSameSafe(final ResPrtGeo o1, final ResPrtGeo o2, final ResultatTest res,
@@ -43,6 +61,22 @@
try {
Map<String, Object> values1 = o1.getValues();
Map<String, Object> values2 = o2.getValues();
+ //certaines variables ne sont calculées que dans C9: il faut les enlever dans le cas des comparaison c9c10.
+ //CRUE-376
+ boolean values1IsC9 = o1.isC9();
+ boolean values2IsC9 = o2.isC9();
+ if (values1IsC9 != values2IsC9) {
+ values1 = new HashMap<String, Object>(values1);
+ values2 = new HashMap<String, Object>(values2);
+ for (String varC9ToRemove : variablesC9) {
+ if (values1IsC9) {
+ values1.remove(varC9ToRemove);
+ }
+ if (values2IsC9) {
+ values2.remove(varC9ToRemove);
+ }
+ }
+ }
Set<String> props = new HashSet<String>();
props.addAll(values1.keySet());
props.addAll(values2.keySet());
Modified: trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/Loi.java
===================================================================
--- trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/Loi.java 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/Loi.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -19,20 +19,16 @@
/**
* Loi abstraite pour LoiDF et LoiFF
*
- * @pdOid 18b21fd9-4872-47c7-91fe-7a88a1518e32
*/
public abstract class Loi implements ObjetNomme, Cloneable,LoiContrat {
/**
- * @pdOid b0f23fb3-fc63-4722-8913-6c935b97733c
*/
private String nom;
/**
- * @pdOid 7db4b936-5375-418f-92a5-b14ce48f3d75
*/
private String commentaire = StringUtils.EMPTY;
/**
- * @pdOid 8bff8b79-2087-4cb2-92f2-79dc364082ad
*/
private EnumTypeLoi type;
// TODO Voir si mettre pd0id
Modified: trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtGeo.java
===================================================================
--- trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtGeo.java 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/crue-emh/src/main/java/org/fudaa/dodico/crue/metier/emh/ResPrtGeo.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -13,16 +13,26 @@
protected Map<String, Object> values = new HashMap<String, Object>();
protected Map<String, Object> valuesExt = Collections.unmodifiableMap(values);
private String nom;
+
+ private final boolean c9;
- public ResPrtGeo() {
- }
-
- public ResPrtGeo(Map<String, Object> map, String nom) {
+ public ResPrtGeo(Map<String, Object> map, String nom,boolean isC9) {
values.putAll(map);
setNom(nom);
+ this.c9=isC9;
}
/**
+ * Doit être uniquement utilisé pour les comparaisons.
+ * @return
+ */
+ public boolean isC9() {
+ return c9;
+ }
+
+
+
+ /**
* @pdOid fd63dd73-c455-4857-8356-8fa8bc0048de
*/
@Override
Modified: trunk/soft/fudaa-crue/crue-io/src/main/java/org/fudaa/dodico/crue/io/neuf/ResPrtReseauCrue9Adapter.java
===================================================================
--- trunk/soft/fudaa-crue/crue-io/src/main/java/org/fudaa/dodico/crue/io/neuf/ResPrtReseauCrue9Adapter.java 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/crue-io/src/main/java/org/fudaa/dodico/crue/io/neuf/ResPrtReseauCrue9Adapter.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -45,7 +45,7 @@
final String nomCasier = CruePrefix.changePrefix(it.getKey(), CruePrefix.getPrefix(EnumCatEMH.NOEUD),
CruePrefix.getPrefix(EnumCatEMH.CASIER));
tmplistCasier.add(nomCasier);
- ResPrtGeo rptg = new ResPrtGeo(it.getValue().getValues(), nomCasier);
+ ResPrtGeo rptg = new ResPrtGeo(it.getValue().getValues(), nomCasier,true);
resSto.put(nomCasier, rptg);
}
listCasier = Collections.unmodifiableList(tmplistCasier);
Modified: trunk/soft/fudaa-crue/crue-io/src/main/java/org/fudaa/dodico/crue/io/neuf/STRSequentialReader.java
===================================================================
--- trunk/soft/fudaa-crue/crue-io/src/main/java/org/fudaa/dodico/crue/io/neuf/STRSequentialReader.java 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/crue-io/src/main/java/org/fudaa/dodico/crue/io/neuf/STRSequentialReader.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -156,7 +156,7 @@
cache.put(nomProfilCrue9, res);
}
Crue9ResPrtGeoSection resultat = res.getResultat();
- return new ResPrtGeo(resultat.getValues(), resultat.getNom());
+ return new ResPrtGeo(resultat.getValues(), resultat.getNom(),true);
}
Modified: trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue10Result.java
===================================================================
--- trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue10Result.java 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/crue-project/src/main/java/org/fudaa/dodico/crue/projet/ScenarioLoaderCrue10Result.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -336,7 +336,7 @@
prevalidationLog.addSevereError(ex.getMessage());
}
if (readData != null) {
- emh.addInfosEMH(new ResPrtGeo(readData, emh.getNom()));
+ emh.addInfosEMH(new ResPrtGeo(readData, emh.getNom(),false));
}
}
}
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 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/CourbesUiController.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -34,80 +34,80 @@
* @author Frederic Deniger
*/
public class CourbesUiController implements CtuluImageProducer {
-
+
protected EGFillePanel panel;
protected EGTableGraphePanel tableGraphePanel;
protected EGAxeHorizontal axeH;
protected JPanel toolbar;
protected List<EbliActionInterface> editCourbeActions = new ArrayList<EbliActionInterface>();
-
+
protected void configureTablePanel() {
tableGraphePanel.getTable().setModel(createTableModel());
tableGraphePanel.setPreferredSize(new Dimension(300, 600));
}
-
+
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.removeEditButtons();
removeActions("MOVE_POINT", "SIMPLIFY");
}
-
+
public void removeActions(String... actionCommands) {
if (toolbar != null) {
Set<String> command = new HashSet<String>(Arrays.asList(actionCommands));
@@ -119,12 +119,12 @@
toolbar.remove(component);
}
}
-
+
}
}
-
+
}
-
+
public List<EbliActionInterface> getActions(String... command) {
EbliActionInterface[] specificActions = panel.getSpecificActions();
List<EbliActionInterface> res = new ArrayList<EbliActionInterface>();
@@ -140,11 +140,11 @@
}
return res;
}
-
+
public List<EbliActionInterface> getEditActions() {
return getActions("CONFIGURE", "CONFIGURE_REPERE");
}
-
+
public CourbesUiController() {
final EGGrapheSimpleModel grapheModel = new LoiGrapheSimpleModel();
axeH = new EGAxeHorizontal();
@@ -188,16 +188,16 @@
popupGraphe.install(panel.getGraphe(), tableGraphePanel.getTable(), CtuluUIForNetbeans.DEFAULT);
}
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);
}
@@ -213,7 +213,7 @@
axeH.setUnite(varAbscisse.getNature().getUnite());
installFormatter(varAbscisse, axeH);
}
-
+
public EGAxeVertical findAxe(final ItemVariable varOrdonnee) {
if (varOrdonnee == null) {
return null;
@@ -226,7 +226,7 @@
}
return null;
}
-
+
public EGAxeVertical createAxeVertical(final ItemVariable varOrdonnee) {
EGAxeVertical axeV = new EGAxeVertical(varOrdonnee.getDisplayNom(), varOrdonnee.getNature().getUnite());
axeV.setUniteModifiable(false);
@@ -235,9 +235,9 @@
installFormatter(varOrdonnee, axeV);
return axeV;
}
-
+
protected void installFormatter(final ItemVariable var, EGAxe axeV) {
-
+
if (var.getNature().isEnum()) {
axeV.setSpecificFormat(new EnumNumberFormatter(var));
axeV.setModeGraduations(EGAxe.MANUEL_LONGUEURPAS);
@@ -245,9 +245,10 @@
axeV.setSpecificFormat(new CtuluNumberFormatDefault(var.getFormatter(DecimalFormatEpsilonEnum.PRESENTATION)));
axeV.setSpecificDetailFormat(new CtuluNumberFormatDefault(var.getFormatter(DecimalFormatEpsilonEnum.COMPARISON)));
}
+ axeV.setUserObject(var);
axeV.setIsDiscret(var.getNature().isEnum() || var.isEntier());
}
-
+
public LoiPopupMenuReceiver createLoiPoupReceiver() {
return new LoiPopupMenuReceiver(panel);
}
Added: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/DefaultTestedContent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/DefaultTestedContent.java (rev 0)
+++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/DefaultTestedContent.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -0,0 +1,46 @@
+/*
+ GPL 2
+ */
+package org.fudaa.fudaa.crue.loi.common;
+
+import gnu.trove.TIntObjectHashMap;
+import java.util.BitSet;
+import org.fudaa.ctulu.CtuluLog;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class DefaultTestedContent implements LoiWithValideStateCourbeModel {
+
+ private final BitSet testedX = new BitSet();
+ private final BitSet testedY = new BitSet();
+ private final TIntObjectHashMap<CtuluLog> logsByRowX = new TIntObjectHashMap<CtuluLog>();
+ private final TIntObjectHashMap<CtuluLog> logsByRowY = new TIntObjectHashMap<CtuluLog>();
+
+ private BitSet getTest(boolean isX) {
+ return isX ? testedX : testedY;
+ }
+
+ private TIntObjectHashMap<CtuluLog> getLogs(boolean isX) {
+ return isX ? logsByRowX : logsByRowY;
+ }
+
+ @Override
+ public void setTested(int row, boolean isX, CtuluLog log) {
+ getTest(isX).set(row);
+ if (log != null) {
+ getLogs(isX).put(row, log);
+ }
+ }
+
+ @Override
+ public boolean isTested(int row, boolean isX) {
+ return getTest(isX).get(row);
+ }
+
+ @Override
+ public CtuluLog getLog(int row, boolean isX) {
+ return getLogs(isX).get(row);
+ }
+}
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 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiConstanteCourbeModel.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -21,7 +21,7 @@
*
* @author Frederic Deniger
*/
-public class LoiConstanteCourbeModel implements CourbeModelWithKey {
+public class LoiConstanteCourbeModel extends DefaultTestedContent implements CourbeModelWithKey {
public static LoiConstanteCourbeModel create(Object key, double xmin, double xmax, double y) {
LoiConstanteCourbeModel res = new LoiConstanteCourbeModel(new double[]{xmin, xmax}, new double[]{y, y});
Modified: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiDefaultCourbeModel.java
===================================================================
--- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiDefaultCourbeModel.java 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiDefaultCourbeModel.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -18,7 +18,7 @@
*
* @author Frederic Deniger
*/
-public class LoiDefaultCourbeModel implements CourbeModelWithKey {
+public class LoiDefaultCourbeModel extends DefaultTestedContent implements CourbeModelWithKey {
List<? extends Point2D> points;
double deltaY;
Added: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiWithValideStateCourbeModel.java
===================================================================
--- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiWithValideStateCourbeModel.java (rev 0)
+++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiWithValideStateCourbeModel.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -0,0 +1,20 @@
+/*
+ GPL 2
+ */
+package org.fudaa.fudaa.crue.loi.common;
+
+import org.fudaa.ctulu.CtuluLog;
+
+/**
+ * Pour des raisons de perf permet de stocker les validations des valeurs. A utilise que pour des courbes immuables !
+ *
+ * @author Frederic Deniger
+ */
+public interface LoiWithValideStateCourbeModel {
+
+ void setTested(int row, boolean isX, CtuluLog log);
+
+ boolean isTested(int row,boolean isX);
+
+ CtuluLog getLog(int row, boolean isX);
+}
Modified: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/loiff/SimpleLoiCourbeModel.java
===================================================================
--- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/loiff/SimpleLoiCourbeModel.java 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/loiff/SimpleLoiCourbeModel.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -4,6 +4,7 @@
import java.util.Observable;
import org.fudaa.ctulu.CtuluCommandContainer;
import org.fudaa.ctulu.CtuluListSelectionInterface;
+import org.fudaa.ctulu.CtuluLog;
import org.fudaa.ctulu.CtuluUI;
import org.fudaa.dodico.crue.metier.emh.LoiFF;
import org.fudaa.ebli.courbe.EGGrapheModel;
@@ -15,7 +16,7 @@
*
* @author deniger
*/
-public class SimpleLoiCourbeModel extends Observable implements CourbeModelWithKey {
+public class SimpleLoiCourbeModel extends Observable implements CourbeModelWithKey, LoiWithValideStateCourbeModel {
double yMax;
double yMin;
@@ -25,12 +26,28 @@
boolean xrangeComputed;
Object key;
LoiFF loi;
+ DefaultTestedContent testedContent = new DefaultTestedContent();
public SimpleLoiCourbeModel(LoiFF loi) {
this.loi = loi;
}
@Override
+ public void setTested(int row, boolean isX, CtuluLog log) {
+ testedContent.setTested(row, isX, log);
+ }
+
+ @Override
+ public boolean isTested(int row, boolean isX) {
+ return testedContent.isTested(row, isX);
+ }
+
+ @Override
+ public CtuluLog getLog(int row, boolean isX) {
+ return testedContent.getLog(row, isX);
+ }
+
+ @Override
public Object getKey() {
return key;
}
Added: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/res/CourbesUiResController.java
===================================================================
--- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/res/CourbesUiResController.java (rev 0)
+++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/res/CourbesUiResController.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -0,0 +1,19 @@
+/*
+ GPL 2
+ */
+package org.fudaa.fudaa.crue.loi.res;
+
+import org.fudaa.fudaa.crue.loi.common.CourbesUiController;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class CourbesUiResController extends CourbesUiController {
+
+ @Override
+ protected void configureTablePanel() {
+ super.configureTablePanel();
+ tableGraphePanel.getDefaultRenderer().setDecorator(new LoiStateResCellRenderer());
+ }
+}
Copied: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/res/LoiStateResCellRenderer.java (from rev 8048, trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiStateCellRenderer.java)
===================================================================
--- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/res/LoiStateResCellRenderer.java (rev 0)
+++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/res/LoiStateResCellRenderer.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -0,0 +1,75 @@
+package org.fudaa.fudaa.crue.loi.res;
+
+import org.fudaa.fudaa.crue.loi.common.*;
+import javax.swing.JComponent;
+import javax.swing.JLabel;
+import javax.swing.JList;
+import javax.swing.JTable;
+import org.fudaa.ctulu.CtuluLog;
+import org.fudaa.ctulu.CtuluLogLevel;
+import org.fudaa.ctulu.gui.CtuluCellDecorator;
+import org.fudaa.dodico.crue.common.BusinessMessages;
+import org.fudaa.dodico.crue.config.ccm.ItemVariable;
+import org.fudaa.ebli.courbe.EGAxe;
+import org.fudaa.ebli.courbe.EGModel;
+import org.fudaa.ebli.courbe.EGTableGraphePanel;
+import org.fudaa.ebli.courbe.EGTableGraphePanel.SpecTableModel;
+import org.fudaa.fudaa.crue.common.log.LogIconTranslationProvider;
+import org.fudaa.fudaa.crue.common.log.LogsDisplayer;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class LoiStateResCellRenderer implements CtuluCellDecorator {
+
+ @Override
+ public void decore(JComponent _c, JList _table, Object _value, int _index) {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public void decore(JComponent _c, JTable _table, Object _value, int _row, int _col) {
+ EGTableGraphePanel.SpecTableModel model = (EGTableGraphePanel.SpecTableModel) _table.getModel();
+ EGModel courbeModel = model.getCourbe().getModel();
+ final boolean stateCanBeSaved = courbeModel instanceof LoiWithValideStateCourbeModel;
+ CtuluLog log = null;
+ boolean isX = model.getXColIndex() == _col;
+ boolean isY = model.getYColIndex() == _col;
+ if (!isX && !isY) {
+ return;
+ }
+ if (stateCanBeSaved) {
+ LoiWithValideStateCourbeModel savedModel = (LoiWithValideStateCourbeModel) courbeModel;
+ if (savedModel.isTested(_row, isX)) {
+ log = savedModel.getLog(_row, isX);
+ } else {
+ log = createLog(model, _row, isX);
+ savedModel.setTested(_row, isX, log.isEmpty() ? null : log);
+ }
+ } else {
+ log = createLog(model, _row, isX);
+ }
+ ((JLabel) _c).setIcon(null);
+ if (log != null && log.isNotEmpty()) {
+ _c.setToolTipText(LogsDisplayer.toHtml(log));
+ if (log.containsErrorOrSevereError()) {
+ ((JLabel) _c).setIcon(LogIconTranslationProvider.getIcon(CtuluLogLevel.ERROR));
+ } else if (log.containsWarnings()) {
+ ((JLabel) _c).setIcon(LogIconTranslationProvider.getIcon(CtuluLogLevel.WARNING));
+ }
+ }
+ }
+
+ public CtuluLog createLog(SpecTableModel model, int _row, boolean isX) {
+ EGAxe axe = isX ? model.getCourbe().getAxeX() : model.getCourbe().getAxeY();
+ Object userObject = axe.getUserObject();
+ CtuluLog log = new CtuluLog(BusinessMessages.RESOURCE_BUNDLE);
+ if (userObject instanceof ItemVariable) {
+ ItemVariable var = (ItemVariable) userObject;
+ double value = isX ? model.getInitX(_row) : model.getInitY(_row);
+ var.getValidator().validateNumber(null, value, log, true);
+ }
+ return log;
+ }
+}
Added: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/res/ProfilSectionLoiUiResController.java
===================================================================
--- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/res/ProfilSectionLoiUiResController.java (rev 0)
+++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/res/ProfilSectionLoiUiResController.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -0,0 +1,24 @@
+/*
+ GPL 2
+ */
+package org.fudaa.fudaa.crue.loi.res;
+
+import org.fudaa.fudaa.crue.common.config.ConfigDefaultValuesProvider;
+import org.fudaa.fudaa.crue.loi.section.ProfilSectionLoiUiController;
+
+/**
+ *
+ * @author Frederic Deniger
+ */
+public class ProfilSectionLoiUiResController extends ProfilSectionLoiUiController {
+
+ public ProfilSectionLoiUiResController(ConfigDefaultValuesProvider defaultValuesProvider) {
+ super(defaultValuesProvider);
+ }
+
+ @Override
+ protected void configureTablePanel() {
+ super.configureTablePanel();
+ tableGraphePanel.getDefaultRenderer().setDecorator(new LoiStateResCellRenderer());
+ }
+}
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 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/section/ProfilSectionLoiUiController.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -366,6 +366,7 @@
axeFrt = new EGAxeVertical(configLoi.getVarOrdonnee().getNom(), configLoi.getVarOrdonnee().getNature().getUnite());
axeFrt.setSpecificFormat(new CtuluNumberFormatDefault(configLoi.getVarOrdonnee().getFormatter(DecimalFormatEpsilonEnum.PRESENTATION)));
axeFrt.setSpecificDetailFormat(new CtuluNumberFormatDefault(configLoi.getVarOrdonnee().getFormatter(DecimalFormatEpsilonEnum.COMPARISON)));
+ axeFrt.setUserObject(configLoi.getVarOrdonnee());
axeFrt.setUniteModifiable(false);
axeFrt.setTitleModifiable(false);
axeFrt.setDroite(true);
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/AbstractReportTimeViewTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/AbstractReportTimeViewTopComponent.java 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/AbstractReportTimeViewTopComponent.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -9,7 +9,6 @@
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.image.BufferedImage;
-import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.MissingResourceException;
@@ -38,6 +37,7 @@
import org.fudaa.fudaa.crue.loi.ViewCourbeManager;
import org.fudaa.fudaa.crue.loi.common.CourbesUiController;
import org.fudaa.fudaa.crue.loi.common.CourbeModelWithKey;
+import org.fudaa.fudaa.crue.loi.res.CourbesUiResController;
import org.fudaa.fudaa.crue.report.config.AbstractReportGrapheBuilder;
import org.fudaa.fudaa.crue.report.config.CourbeViewReportConfigurationButtonUI;
import org.fudaa.fudaa.crue.report.data.ExternFileKey;
@@ -125,7 +125,6 @@
this.lineInfo = info;
}
-
protected final void updateAspectFor(EGObject _c) {
if (updating) {
return;
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 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportProfilLongitudinalTopComponent.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -17,7 +17,7 @@
import org.fudaa.ebli.commun.EbliActionInterface;
import org.fudaa.ebli.commun.EbliActionSimple;
import org.fudaa.ebli.courbe.EGCourbePersist;
-import org.fudaa.fudaa.crue.loi.common.CourbesUiController;
+import org.fudaa.fudaa.crue.loi.res.CourbesUiResController;
import org.fudaa.fudaa.crue.report.AbstractReportTimeViewTopComponent;
import org.fudaa.fudaa.crue.report.data.ReportExpressionHelper;
import org.fudaa.fudaa.crue.report.data.ReportKeyContract;
@@ -166,8 +166,8 @@
}
@Override
- protected CourbesUiController createCourbesUiController() {
- CourbesUiController res = new CourbesUiController();
+ protected CourbesUiResController createCourbesUiController() {
+ CourbesUiResController res = new CourbesUiResController();
return res;
}
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/multivar/ReportMultiVarGrapheBuilder.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/multivar/ReportMultiVarGrapheBuilder.java 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/multivar/ReportMultiVarGrapheBuilder.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -34,11 +34,11 @@
* @author Frederic Deniger
*/
public class ReportMultiVarGrapheBuilder extends AbstractReportGrapheBuilder<CourbesUiController, ReportMultiVarConfig> {
-
+
public ReportMultiVarGrapheBuilder(CourbesUiController uiController, ViewCourbeManager loiLabelsManager) {
super(uiController, loiLabelsManager);
}
-
+
@Override
public List<EGCourbeSimple> getInternCourbes(ReportMultiVarConfig content) {
if (!reportService.isRunLoaded()) {
@@ -60,6 +60,7 @@
axeX.setUniteModifiable(false);
axeX.setSpecificFormat(new CtuluNumberFormatDefault(propertyHorizontal.getFormatter(DecimalFormatEpsilonEnum.PRESENTATION)));
axeX.setSpecificDetailFormat(new CtuluNumberFormatDefault(propertyHorizontal.getFormatter(DecimalFormatEpsilonEnum.COMPARISON)));
+ axeX.setUserObject(propertyHorizontal);
EGCourbe selectedComponent = uiController.getEGGrapheSimpleModel().getSelectedComponent();
Object selectedKey = null;
if (selectedComponent != null && selectedComponent.getModel() != null) {
@@ -95,16 +96,16 @@
}
return courbes;
}
-
+
@Override
public void updateResultCurvesAfterTimeChanged(ReportMultiVarConfig content) {
}
-
+
@Override
public List<EGCourbeSimple> getInternCourbesAfterTimeChanged(ReportMultiVarConfig content) {
return Collections.emptyList();
}
-
+
private LoiConstanteCourbeModel createCourbeModel(ReportMultiVarConfig config, List<ResultatKey> times, ReportRunVariableEmhKey key) {
ReportRunVariableKey hKey = new ReportRunVariableKey(key.getRunVariableKey().getRunKey(), config.horizontalVar);
TDoubleArrayList x = new TDoubleArrayList();
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/multivar/ReportMultiVarTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/multivar/ReportMultiVarTopComponent.java 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/multivar/ReportMultiVarTopComponent.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -24,7 +24,7 @@
import org.fudaa.ebli.courbe.EGCourbePersist;
import org.fudaa.fudaa.crue.common.helper.CapitalizeCellRenderer;
import org.fudaa.fudaa.crue.common.helper.DialogHelper;
-import org.fudaa.fudaa.crue.loi.common.CourbesUiController;
+import org.fudaa.fudaa.crue.loi.res.CourbesUiResController;
import org.fudaa.fudaa.crue.report.AbstractReportTimeViewTopComponent;
import org.fudaa.fudaa.crue.report.data.ReportKeyContract;
import org.fudaa.fudaa.crue.report.data.ReportRunEmhKey;
@@ -103,8 +103,8 @@
}
@Override
- protected CourbesUiController createCourbesUiController() {
- CourbesUiController res = new CourbesUiController();
+ protected CourbesUiResController createCourbesUiController() {
+ CourbesUiResController res = new CourbesUiResController();
return res;
}
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/rptg/ReportRPTGTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/rptg/ReportRPTGTopComponent.java 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/rptg/ReportRPTGTopComponent.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -13,7 +13,7 @@
import org.fudaa.ebli.commun.EbliActionInterface;
import org.fudaa.ebli.commun.EbliActionSimple;
import org.fudaa.ebli.courbe.EGCourbePersist;
-import org.fudaa.fudaa.crue.loi.common.CourbesUiController;
+import org.fudaa.fudaa.crue.loi.res.CourbesUiResController;
import org.fudaa.fudaa.crue.report.AbstractReportTimeViewTopComponent;
import org.fudaa.fudaa.crue.report.data.ReportExpressionHelper;
import org.fudaa.fudaa.crue.report.data.ReportKeyContract;
@@ -65,8 +65,8 @@
}
@Override
- protected CourbesUiController createCourbesUiController() {
- CourbesUiController res = new CourbesUiController();
+ protected CourbesUiResController createCourbesUiController() {
+ CourbesUiResController res = new CourbesUiResController();
return res;
}
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 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalTopComponent.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -27,7 +27,7 @@
import org.fudaa.ebli.courbe.EGCourbePersist;
import org.fudaa.fudaa.crue.common.helper.CapitalizeCellRenderer;
import org.fudaa.fudaa.crue.common.helper.DialogHelper;
-import org.fudaa.fudaa.crue.loi.common.CourbesUiController;
+import org.fudaa.fudaa.crue.loi.res.CourbesUiResController;
import org.fudaa.fudaa.crue.report.AbstractReportTimeViewTopComponent;
import org.fudaa.fudaa.crue.report.data.ReportExpressionHelper;
import org.fudaa.fudaa.crue.report.data.ReportKeyContract;
@@ -100,8 +100,8 @@
}
@Override
- protected CourbesUiController createCourbesUiController() {
- CourbesUiController res = new CourbesUiController();
+ protected CourbesUiResController createCourbesUiController() {
+ CourbesUiResController res = new CourbesUiResController();
return res;
}
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/transversal/ReportProfilTransversalTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/transversal/ReportProfilTransversalTopComponent.java 2012-12-14 09:58:50 UTC (rev 8130)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/transversal/ReportProfilTransversalTopComponent.java 2012-12-14 09:59:58 UTC (rev 8131)
@@ -25,6 +25,7 @@
import org.fudaa.fudaa.crue.common.helper.DialogHelper;
import org.fudaa.fudaa.crue.common.view.ChooseInListHelper;
import org.fudaa.fudaa.crue.loi.common.CourbesUiController;
+import org.fudaa.fudaa.crue.loi.res.ProfilSectionLoiUiResController;
import org.fudaa.fudaa.crue.loi.section.ProfilSectionLoiUiController;
import org.fudaa.fudaa.crue.report.AbstractReportTimeViewTopComponent;
import org.fudaa.fudaa.crue.report.data.ReportExpressionHelper;
@@ -78,7 +79,7 @@
@Override
protected CourbesUiController createCourbesUiController() {
- ProfilSectionLoiUiController res = new ProfilSectionLoiUiController(null);
+ ProfilSectionLoiUiResController res = new ProfilSectionLoiUiResController(null);
res.setUseSectionName(true);
res.setAddFrt(false);
return res;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|