|
From: <de...@us...> - 2015-11-24 23:15:43
|
Revision: 9198
http://sourceforge.net/p/fudaa/svn/9198
Author: deniger
Date: 2015-11-24 23:15:41 +0000 (Tue, 24 Nov 2015)
Log Message:
-----------
CRUE-667
Modified Paths:
--------------
trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiConstanteCourbeModel.java
trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalCourbesUiResController.java
trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderCourbe.java
trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderLimit.java
trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalGrapheBuilder.java
trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/longitudinal/Bundle.properties
Modified: trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiConstanteCourbeModel.java
===================================================================
--- trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiConstanteCourbeModel.java 2015-11-24 22:31:51 UTC (rev 9197)
+++ trunk/soft/fudaa-crue/ui-loi/src/main/java/org/fudaa/fudaa/crue/loi/common/LoiConstanteCourbeModel.java 2015-11-24 23:15:41 UTC (rev 9198)
@@ -33,7 +33,8 @@
return res;
}
- public static LoiConstanteCourbeModel create(Object key, double x1, double x2, double y1, double y2, ItemContentAbstract varX, ItemContentAbstract varY) {
+ public static LoiConstanteCourbeModel create(Object key, double x1, double x2, double y1, double y2, ItemContentAbstract varX,
+ ItemContentAbstract varY) {
LoiConstanteCourbeModel res = new LoiConstanteCourbeModel(new double[]{x1, x2}, new double[]{y1, y2}, varX, varY);
res.setKey(key);
return res;
@@ -45,7 +46,8 @@
return res;
}
- public static LoiConstanteCourbeModel create(Object key, ExternContentColumn x, ExternContentColumn y, ExternContent content, ItemContentAbstract varX, ItemContentAbstract varY) {
+ public static LoiConstanteCourbeModel create(Object key, ExternContentColumn x, ExternContentColumn y, ExternContent content,
+ ItemContentAbstract varX, ItemContentAbstract varY) {
LoiConstanteCourbeModel res = new LoiConstanteCourbeModel(x.toNativeArray(), y.toNativeArray(), varX, varY);
res.setLabels(content.getLabelsMap());
res.setKey(key);
@@ -60,6 +62,7 @@
private Object key;
private CtuluListSelection drawnSegment;
private TIntObjectHashMap<String> labels;
+ private Map<String, TIntObjectHashMap<String>> subLabels;
private final ItemContentAbstract varX;
private final ItemContentAbstract varY;
private String title;
@@ -110,6 +113,28 @@
this.labels = labels;
}
+ public void setSubLabels(Map<String, TIntObjectHashMap<String>> subLabels) {
+ this.subLabels = subLabels;
+ }
+
+ private static final TIntObjectHashMap<String> EMPTY_LABEL = new TIntObjectHashMap();
+
+ /**
+ *
+ * @param key
+ * @return les sous labels. hashmap vide si non trouvé ( non null).
+ */
+ public TIntObjectHashMap<String> getSubLabels(String key) {
+ TIntObjectHashMap<String> res = null;
+ if (subLabels != null) {
+ res = subLabels.get(key);
+ }
+ if (res == null) {
+ res = EMPTY_LABEL;
+ }
+ return res;
+ }
+
@Override
public Object getKey() {
return key;
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalCourbesUiResController.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalCourbesUiResController.java 2015-11-24 22:31:51 UTC (rev 9197)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalCourbesUiResController.java 2015-11-24 23:15:41 UTC (rev 9198)
@@ -6,9 +6,11 @@
import javax.swing.table.AbstractTableModel;
import org.apache.commons.lang.StringUtils;
import org.fudaa.ctulu.gui.CtuluCellTextRenderer;
+import org.fudaa.dodico.crue.metier.factory.CruePrefix;
import org.fudaa.ebli.courbe.EGCourbe;
import org.fudaa.ebli.courbe.EGTableAction;
import org.fudaa.ebli.courbe.EGTableGraphePanel;
+import org.fudaa.fudaa.crue.loi.common.LoiConstanteCourbeModel;
import org.fudaa.fudaa.crue.loi.res.CourbesUiResController;
import org.openide.util.NbBundle;
@@ -17,7 +19,7 @@
* @author Frederic Deniger
*/
public class ReportLongitudinalCourbesUiResController extends CourbesUiResController {
-
+
public ReportLongitudinalCourbesUiResController() {
EGTableAction tableAction = (EGTableAction) getActions("TABLE").get(0);
tableAction.setAddOptions(false);
@@ -27,62 +29,71 @@
tableAction.setShowLabel(true);
setUseVariableForAxeH(true);
}
-
+
@Override
protected AbstractTableModel createTableModel() {
return new ReportLongitudinalTableModel(getTableGraphePanel());
}
-
+
@Override
protected void configureTablePanel() {
super.configureTablePanel();
tableGraphePanel.getTable().getColumnModel().getColumn(0).setCellRenderer(new CtuluCellTextRenderer());
}
-
+
protected static class ReportLongitudinalTableModel extends EGTableGraphePanel.SpecTableModel {
-
- public static final int COLUMN_PROFIL = 0;
-
+
+ public static final int COLUMN_BRANCHE = 0;
+ public static final int COLUMN_SECTION = 1;
+
public ReportLongitudinalTableModel(EGTableGraphePanel graphePanel) {
super(graphePanel);
- xColIndex = 1;
- yColIndex = 2;
+ xColIndex = 2;
+ yColIndex = 3;
}
-
+
@Override
public int getColumnCount() {
- return 3;
+ return 4;
}
-
+
@Override
public Object getValueAt(int _rowIndex, int _columnIndex) {
- if (_columnIndex == COLUMN_PROFIL) {
+ if (_columnIndex == COLUMN_SECTION || _columnIndex == COLUMN_BRANCHE) {
final EGCourbe courbe = getCourbe();
String res = null;
if (courbe != null) {
- res = courbe.getModel().getPointLabel(_rowIndex);
+ LoiConstanteCourbeModel model = (LoiConstanteCourbeModel) courbe.getModel();
+ String key = CruePrefix.P_BRANCHE;
+ if (_columnIndex == COLUMN_SECTION) {
+ key = CruePrefix.P_SECTION;
+ }
+ res = model.getSubLabels(key).get(_rowIndex);
}
return StringUtils.defaultString(res);
}
return super.getValueAt(_rowIndex, _columnIndex);
}
-
+
@Override
public String getColumnName(int _column) {
- if (_column == COLUMN_PROFIL) {
- return NbBundle.getMessage(ReportLongitudinalCourbesUiResController.class, "BrancheSectionColumn.Name");
+ if (_column == COLUMN_SECTION) {
+ return NbBundle.getMessage(ReportLongitudinalCourbesUiResController.class, "SectionColumn.Name");
}
+ if (_column == COLUMN_BRANCHE) {
+ return NbBundle.getMessage(ReportLongitudinalCourbesUiResController.class, "BrancheColumn.Name");
+ }
return super.getColumnName(_column);
}
-
+
@Override
public Class getColumnClass(int _columnIndex) {
- if (_columnIndex <= COLUMN_PROFIL) {
+ if (_columnIndex <= COLUMN_SECTION) {
return String.class;
}
return Double.class;
}
-
+
@Override
public void setValueAt(Object _value, int _rowIndex, int _columnIndex) {
}
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderCourbe.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderCourbe.java 2015-11-24 22:31:51 UTC (rev 9197)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderCourbe.java 2015-11-24 23:15:41 UTC (rev 9198)
@@ -9,7 +9,9 @@
import org.fudaa.dodico.crue.projet.report.longitudinal.ReportLongitudinalConfig;
import gnu.trove.TDoubleArrayList;
import gnu.trove.TIntObjectHashMap;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import org.fudaa.ctulu.CtuluListSelection;
import org.fudaa.dodico.crue.config.ccm.CrueConfigMetier;
import org.fudaa.dodico.crue.config.ccm.CrueConfigMetierConstants;
@@ -17,6 +19,7 @@
import org.fudaa.dodico.crue.config.ccm.PropertyEpsilon;
import org.fudaa.dodico.crue.metier.emh.CatEMHSection;
import org.fudaa.dodico.crue.metier.emh.ResultatTimeKey;
+import org.fudaa.dodico.crue.metier.factory.CruePrefix;
import org.fudaa.ebli.courbe.EGAxeVertical;
import org.fudaa.ebli.courbe.EGCourbeSimple;
import org.fudaa.fudaa.crue.loi.common.LoiConstanteCourbeModel;
@@ -32,13 +35,13 @@
* @author Frederic Deniger
*/
public class ReportLongitudinalGrapheBuilderCourbe {
-
+
CrueConfigMetier ccm;
ReportLongitudinalGrapheBuilder builder;
EGAxeVertical axeZ;
EGAxeVertical rightAxis;
ReportLongitudinalConfig content;
-
+
public ReportLongitudinalGrapheBuilderCourbe(CrueConfigMetier ccm, ReportLongitudinalGrapheBuilder result, ReportLongitudinalConfig content) {
this.ccm = ccm;
this.builder = result;
@@ -46,19 +49,24 @@
axeZ = builder.getOrCreateAxeVerticalZ(content);
rightAxis = builder.getRightAxis(content);
}
-
+
public EGAxeVertical getAxeZ() {
return axeZ;
}
-
+
public EGAxeVertical getRightAxis() {
return rightAxis;
}
-
+
EGCourbeSimple createCourbe(ReportRunVariableKey reportRunVariableKey, ResultatTimeKey selectedTime, boolean currentTime) {
TDoubleArrayList xps = new TDoubleArrayList();
TDoubleArrayList values = new TDoubleArrayList();
TIntObjectHashMap labels = new TIntObjectHashMap();
+ Map<String, TIntObjectHashMap<String>> sublabels = new HashMap<String, TIntObjectHashMap<String>>();
+ TIntObjectHashMap<String> labelBranches = new TIntObjectHashMap<String>();
+ TIntObjectHashMap<String> labelSections = new TIntObjectHashMap<String>();
+ sublabels.put(CruePrefix.P_BRANCHE, labelBranches);
+ sublabels.put(CruePrefix.P_SECTION, labelSections);
CtuluListSelection drawnSegment = new CtuluListSelection();
boolean isDz = ReportRunVariableHelper.isNatDzVar(reportRunVariableKey.getVariable(), builder.getReportResultProviderService());
for (ReportLongitudinalBrancheCartouche cartouche : builder.result.getCartouches()) {
@@ -68,7 +76,7 @@
}
List<ReportLongitudinalPositionSection> sectionPositions = positions.getSectionDisplayPositions();
boolean firstAddInBranche = true;
-
+
for (ReportLongitudinalPositionSection sectionPosition : sectionPositions) {
CatEMHSection section = sectionPosition.getName();
Double value = builder.getReportResultProviderService().getValue(selectedTime, reportRunVariableKey, section.getNom());
@@ -85,6 +93,8 @@
drawnSegment.add(xps.size() - 1);//segment dessine
}
labels.put(xps.size(), section.getBranche().getNom() + " / " + section.getNom());//le faire avant l'ajout !
+ labelBranches.put(xps.size(), section.getBranche().getNom());
+ labelSections.put(xps.size(), section.getNom());
xps.add(sectionPosition.getXpDisplay());
values.add(value);
firstAddInBranche = false;
@@ -98,6 +108,7 @@
model.setLabelColumnName(NbBundle.getMessage(ReportLongitudinalCourbesUiResController.class, "BrancheSectionColumn.Name"));
model.setDrawnSegment(drawnSegment);
model.setLabels(labels);
+ model.setSubLabels(sublabels);
boolean isOnZ = ReportRunVariableHelper.isZOrDzNature(reportRunVariableKey.getVariable(), builder.getReportResultProviderService());
final EGAxeVertical axisToUse = isOnZ ? axeZ : rightAxis;
connectVerticalSegment(model, ccm);
@@ -106,7 +117,7 @@
AbstractReportGrapheBuilder.applyPersistConfig(content.getCourbeconfigs().get(model.getKey()), courbe);
return courbe;
}
-
+
public static void connectVerticalSegment(LoiConstanteCourbeModel model, CrueConfigMetier ccm) {
PropertyEpsilon epsilon = ccm.getEpsilon(CrueConfigMetierConstants.PROP_XP);
CtuluListSelection drawnSegment = model.getDrawnSegment();
@@ -119,7 +130,7 @@
drawnSegment.add(i);
}
}
-
+
}
}
}
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderLimit.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderLimit.java 2015-11-24 22:31:51 UTC (rev 9197)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/longitudinal/ReportLongitudinalGrapheBuilderLimit.java 2015-11-24 23:15:41 UTC (rev 9198)
@@ -9,7 +9,9 @@
import org.fudaa.dodico.crue.projet.report.longitudinal.ReportLongitudinalBrancheCartouche;
import gnu.trove.TDoubleArrayList;
import gnu.trove.TIntObjectHashMap;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import org.fudaa.ctulu.CtuluListSelection;
import org.fudaa.dodico.crue.common.BusinessMessages;
import org.fudaa.dodico.crue.common.io.CrueIOResu;
@@ -22,6 +24,7 @@
import org.fudaa.dodico.crue.metier.emh.DonPrtGeoProfilEtiquette;
import org.fudaa.dodico.crue.metier.emh.DonPrtGeoProfilSection;
import org.fudaa.dodico.crue.metier.emh.EMHSectionProfil;
+import org.fudaa.dodico.crue.metier.factory.CruePrefix;
import org.fudaa.dodico.crue.metier.helper.DonPrtHelper;
import org.fudaa.dodico.crue.metier.helper.EtiquetteIndexed;
import org.fudaa.dodico.crue.metier.helper.LitNommeIndexed;
@@ -61,6 +64,11 @@
TDoubleArrayList xps = new TDoubleArrayList();
TDoubleArrayList values = new TDoubleArrayList();
TIntObjectHashMap labels = new TIntObjectHashMap();
+ Map<String, TIntObjectHashMap<String>> sublabels = new HashMap<>();
+ TIntObjectHashMap<String> labelBranches = new TIntObjectHashMap<>();
+ TIntObjectHashMap<String> labelSections = new TIntObjectHashMap<>();
+ sublabels.put(CruePrefix.P_BRANCHE, labelBranches);
+ sublabels.put(CruePrefix.P_SECTION, labelSections);
CtuluListSelection drawnSegment = new CtuluListSelection();
ItemEnum etiquette = limitHelper.getEtiquette(reportRunVariableKey.getVariable().getVariableName());
LitNommeLimite limite = limitHelper.getLimite(reportRunVariableKey.getVariable().getVariableName());
@@ -77,6 +85,8 @@
boolean ok = computeZ(etiquette, limite, profil, values);
if (ok) {
labels.put(xps.size(), section.getBranche().getNom() + " / " + section.getNom());
+ labelBranches.put(xps.size(), section.getBranche().getNom());
+ labelSections.put(xps.size(), section.getNom());
if (!firstAddInBranche) {//ce n'est pas le premier point de la ligne
drawnSegment.add(xps.size() - 1);//segment dessine
}
@@ -93,6 +103,7 @@
LoiConstanteCourbeModel model = LoiConstanteCourbeModel.create(key, xps, values, varX, varY);
model.setDrawnSegment(drawnSegment);
model.setLabels(labels);
+ model.setSubLabels(sublabels);
model.setLabelColumnName(NbBundle.getMessage(ReportLongitudinalCourbesUiResController.class, "BrancheSectionColumn.Name"));
ReportLongitudinalGrapheBuilderCourbe.connectVerticalSegment(model, ccm);
if (etiquette != null) {
@@ -114,15 +125,13 @@
values.add(foundPt.getPoint().getZ());
}
- } else {
- if (limite != null) {
- CrueIOResu<List<LitNommeIndexed>> asIndexedData = new ValidateAndRebuildProfilSection(ccm, null).getAsIndexedData(profil);
- if (asIndexedData != null && asIndexedData.getMetier() != null) {
- int ptIdx = ReportLongitudinalHelper.finPtIdx(asIndexedData, limite);
- if (ptIdx >= 0) {
- ok = true;
- values.add(profil.getPtProfil().get(ptIdx).getZ());
- }
+ } else if (limite != null) {
+ CrueIOResu<List<LitNommeIndexed>> asIndexedData = new ValidateAndRebuildProfilSection(ccm, null).getAsIndexedData(profil);
+ if (asIndexedData != null && asIndexedData.getMetier() != null) {
+ int ptIdx = ReportLongitudinalHelper.finPtIdx(asIndexedData, limite);
+ if (ptIdx >= 0) {
+ ok = true;
+ values.add(profil.getPtProfil().get(ptIdx).getZ());
}
}
}
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalGrapheBuilder.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalGrapheBuilder.java 2015-11-24 22:31:51 UTC (rev 9197)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/temporal/ReportTemporalGrapheBuilder.java 2015-11-24 23:15:41 UTC (rev 9198)
@@ -17,6 +17,7 @@
import org.fudaa.dodico.crue.config.ccm.ItemVariable;
import org.fudaa.dodico.crue.config.ccm.PropertyNature;
import org.fudaa.dodico.crue.metier.emh.ResultatTimeKey;
+import org.fudaa.dodico.crue.metier.factory.CruePrefix;
import org.fudaa.ebli.courbe.EGAxeHorizontal;
import org.fudaa.ebli.courbe.EGAxeVertical;
import org.fudaa.ebli.courbe.EGCourbeSimple;
@@ -142,6 +143,7 @@
TDoubleArrayList values = new TDoubleArrayList();
TDoubleArrayList times = new TDoubleArrayList();
TIntObjectHashMap<String> labels = new TIntObjectHashMap<String>();
+
for (Pair<ResultatTimeKey, Long> pair : timeByKey) {
Double value = reportResultProviderService.getValue(pair.first, key.getRunVariableKey(), key.getEmhName());
if (value != null) {
Modified: trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/longitudinal/Bundle.properties
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/longitudinal/Bundle.properties 2015-11-24 22:31:51 UTC (rev 9197)
+++ trunk/soft/fudaa-crue/ui-report/src/main/resources/org/fudaa/fudaa/crue/report/longitudinal/Bundle.properties 2015-11-24 23:15:41 UTC (rev 9198)
@@ -32,5 +32,6 @@
LineSection.DisplayName=Contour
LineBranche.DisplayName=Contour
BannerConfiguration.DialogTitle=Configuration du cartouche
+BrancheSectionColumn.Name=Branche / Section
SectionColumn.Name=Section
-BrancheSectionColumn.Name=Branche / Section
+BrancheColumn.Name=Branche
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|