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