Commit 9a5810cd authored by PECQUOT's avatar PECQUOT

[fix] Grouped measurements: automatic calculation and saving into parent beans...

[fix] Grouped measurements: automatic calculation and saving into parent beans has been replaced by unique function executed at observation saving (Mantis #51725 and #51737)
[fix] PIT protocol: section calculation fixed (Mantis #51710)
[fix] Upgrade quadrige3-core to version 3.6.14 (Mantis #51731)
Signed-off-by: PECQUOT's avatarlp1ee9d <ludovic.pecquot@e-is.pro>
parent 8538694d
## Sprint 91 - v3.9.9
- Pas de mise à jour de modèle
## Sprint 90 - v3.9.8 ## Sprint 90 - v3.9.8
- Pas de mise à jour de modèle - Pas de mise à jour de modèle
......
...@@ -171,7 +171,7 @@ ...@@ -171,7 +171,7 @@
<maven.compiler.debug>true</maven.compiler.debug> <maven.compiler.debug>true</maven.compiler.debug>
<!-- Quadrige3 Core version --> <!-- Quadrige3 Core version -->
<quadrige3-core.version>3.6.13</quadrige3-core.version> <quadrige3-core.version>3.6.14-SNAPSHOT</quadrige3-core.version>
<!-- Last ReefDb launcher version --> <!-- Last ReefDb launcher version -->
<launcherVersion>3.0.3</launcherVersion> <launcherVersion>3.0.3</launcherVersion>
......
...@@ -24,11 +24,14 @@ package fr.ifremer.reefdb.dto; ...@@ -24,11 +24,14 @@ package fr.ifremer.reefdb.dto;
*/ */
import fr.ifremer.quadrige3.core.dao.referential.UnitId; import fr.ifremer.quadrige3.core.dao.referential.UnitId;
import fr.ifremer.reefdb.dto.data.measurement.MeasurementDTO;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Ignore; import org.junit.Ignore;
import org.junit.Test; import org.junit.Test;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/** /**
* @author ludovic.pecquot@e-is.pro on 13/04/2017. * @author ludovic.pecquot@e-is.pro on 13/04/2017.
...@@ -54,4 +57,38 @@ public class ReefDbBeansTest { ...@@ -54,4 +57,38 @@ public class ReefDbBeansTest {
Assert.assertEquals(60, result.intValue()); Assert.assertEquals(60, result.intValue());
} }
@Test
public void testReduce() {
List<MeasurementDTO> beans = new ArrayList<>();
{
MeasurementDTO bean = ReefDbBeanFactory.newMeasurementDTO();
bean.setId(1);
beans.add(bean);
}
{
MeasurementDTO bean = ReefDbBeanFactory.newMeasurementDTO();
bean.setId(-2);
beans.add(bean);
}
{
MeasurementDTO bean = ReefDbBeanFactory.newMeasurementDTO();
bean.setId(null);
beans.add(bean);
}
{
MeasurementDTO bean = ReefDbBeanFactory.newMeasurementDTO();
bean.setId(4);
beans.add(bean);
}
int minNegativeId = beans.stream()
.filter(measurementDTO -> measurementDTO.getId() != null)
.mapToInt(MeasurementDTO::getId)
.min().orElse(0);
Assert.assertEquals(-2, minNegativeId);
}
} }
...@@ -82,10 +82,13 @@ public class SaveAction extends AbstractReefDbSaveAction<ObservationUIModel, Obs ...@@ -82,10 +82,13 @@ public class SaveAction extends AbstractReefDbSaveAction<ObservationUIModel, Obs
return false; return false;
} }
// TODO Must save partial models from tabs // Save partial models from tabs
getUI().getSurveyDetailsTabUI().getHandler().saveActualModel(); getUI().getSurveyDetailsTabUI().getHandler().save();
// getUI().getPrelevementGeneralTabUI().getHandler().saveActualModel(); getUI().getPhotosTabUI().getHandler().save();
getUI().getPhotosTabUI().getHandler().saveActualModel();
// Save and control measurements tabs (Mantis #51725)
getUI().getSurveyMeasurementsTabUI().getHandler().save();
getUI().getOperationMeasurementsTabUI().getHandler().save();
return true; return true;
} }
...@@ -142,11 +145,11 @@ public class SaveAction extends AbstractReefDbSaveAction<ObservationUIModel, Obs ...@@ -142,11 +145,11 @@ public class SaveAction extends AbstractReefDbSaveAction<ObservationUIModel, Obs
public void postSuccessAction() { public void postSuccessAction() {
super.postSuccessAction(); super.postSuccessAction();
getHandler().refreshModels();
// show error messages // show error messages
showControlResult(controlMessages, false); showControlResult(controlMessages, false);
getHandler().refreshModels();
// Postpone model modify state (Mantis #50915) // Postpone model modify state (Mantis #50915)
SwingUtilities.invokeLater(() -> getModel().setModify(false)); SwingUtilities.invokeLater(() -> getModel().setModify(false));
......
...@@ -122,11 +122,11 @@ public class OperationMeasurementsTabUIModel extends AbstractEmptyUIModel<Operat ...@@ -122,11 +122,11 @@ public class OperationMeasurementsTabUIModel extends AbstractEmptyUIModel<Operat
} }
/** /**
* <p>getSamplings.</p> * <p>getSamplingOperations.</p>
* *
* @return a {@link java.util.List} object. * @return a {@link java.util.List} object.
*/ */
public List<SamplingOperationDTO> getSamplings() { public List<SamplingOperationDTO> getSamplingOperations() {
return observationModel == null ? null : (List<SamplingOperationDTO>) observationModel.getSamplingOperations(); return observationModel == null ? null : (List<SamplingOperationDTO>) observationModel.getSamplingOperations();
} }
......
...@@ -24,7 +24,6 @@ package fr.ifremer.reefdb.ui.swing.content.observation.operation.measurement.gro ...@@ -24,7 +24,6 @@ package fr.ifremer.reefdb.ui.swing.content.observation.operation.measurement.gro
*/ */
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import fr.ifremer.quadrige3.core.dao.technical.AlphanumericComparator; import fr.ifremer.quadrige3.core.dao.technical.AlphanumericComparator;
import fr.ifremer.quadrige3.ui.swing.table.ColumnIdentifier; import fr.ifremer.quadrige3.ui.swing.table.ColumnIdentifier;
import fr.ifremer.quadrige3.ui.swing.table.SwingTable; import fr.ifremer.quadrige3.ui.swing.table.SwingTable;
...@@ -51,8 +50,6 @@ import javax.swing.RowFilter; ...@@ -51,8 +50,6 @@ import javax.swing.RowFilter;
import javax.swing.border.Border; import javax.swing.border.Border;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.function.Predicate;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.Stream; import java.util.stream.Stream;
...@@ -226,23 +223,17 @@ public class OperationMeasurementsGroupedTableUIHandler ...@@ -226,23 +223,17 @@ public class OperationMeasurementsGroupedTableUIHandler
// remove measurement from old sampling // remove measurement from old sampling
if (oldValue != null) { if (oldValue != null) {
SamplingOperationDTO oldSamplingOperation = (SamplingOperationDTO) oldValue; SamplingOperationDTO oldSamplingOperation = (SamplingOperationDTO) oldValue;
oldSamplingOperation.removeAllIndividualMeasurements(row.getIndividualMeasurements());
oldSamplingOperation.setDirty(true);
resetIndividualMeasurementIds(row); resetIndividualMeasurementIds(row);
setDirty(oldSamplingOperation);
} }
// recalculate individual id // recalculate individual id
if (newValue != null) { if (newValue != null) {
// affect new sampling operation now // affect new sampling operation now
row.setSamplingOperation((SamplingOperationDTO) newValue); SamplingOperationDTO newSamplingOperation = (SamplingOperationDTO) newValue;
row.setSamplingOperation(newSamplingOperation);
// calculate new individual ids setDirty(newSamplingOperation);
calculateIndividualIds(row);
// fire event for parent listener
getModel().firePropertyChanged(OperationMeasurementsGroupedTableUIModel.PROPERTY_SAMPLING_OPERATION, null, newValue);
} }
} }
...@@ -250,36 +241,6 @@ public class OperationMeasurementsGroupedTableUIHandler ...@@ -250,36 +241,6 @@ public class OperationMeasurementsGroupedTableUIHandler
super.onRowModified(rowIndex, row, propertyName, propertyIndex, oldValue, newValue); super.onRowModified(rowIndex, row, propertyName, propertyIndex, oldValue, newValue);
} }
@Override
protected void onDuplicatedRowAdded(OperationMeasurementsGroupedRowModel row) {
// send update event on sampling operation
if (row.getSamplingOperation() != null) {
getModel().firePropertyChanged(OperationMeasurementsGroupedTableUIModel.PROPERTY_SAMPLING_OPERATION, null, row.getSamplingOperation());
}
}
@Override
protected void resetIndividualMeasurementIds(OperationMeasurementsGroupedRowModel row) {
// before, remove those measurements from sampling operation
if (row.getSamplingOperation() != null) {
row.getSamplingOperation().removeAllIndividualMeasurements(row.getIndividualMeasurements());
}
super.resetIndividualMeasurementIds(row);
}
/**
* the predicate test if the row is attached to the bean (=SamplingOperationDTO)
*
* @param bean the bean
* @return the predicate for sampling operation
*/
@Override
protected Predicate<? super OperationMeasurementsGroupedRowModel> getRowForBeanPredicate(MeasurementAware bean) {
return (Predicate<OperationMeasurementsGroupedRowModel>) row -> Objects.equals(bean, row.getSamplingOperation());
}
@Override @Override
protected MeasurementAware getMeasurementAwareModelForRow(OperationMeasurementsGroupedRowModel row) { protected MeasurementAware getMeasurementAwareModelForRow(OperationMeasurementsGroupedRowModel row) {
return row.getSamplingOperation(); return row.getSamplingOperation();
...@@ -381,30 +342,15 @@ public class OperationMeasurementsGroupedTableUIHandler ...@@ -381,30 +342,15 @@ public class OperationMeasurementsGroupedTableUIHandler
} }
@Override @Override
protected void removeIndividualMeasurements(List<MeasurementDTO> measurementToDelete) { protected boolean isMeasurementNotEmpty(MeasurementDTO measurement) {
return !measurement.getPmfm().getId().equals(getModel().getPitTransitionLengthPmfmId()) && super.isMeasurementNotEmpty(measurement);
// updated sampling operation
Set<SamplingOperationDTO> updatedSamplingOperations = Sets.newHashSet();
// Remove from model
for (MeasurementDTO deletedMeasurement : measurementToDelete) {
if (deletedMeasurement.getSamplingOperation() != null) {
deletedMeasurement.getSamplingOperation().removeIndividualMeasurements(deletedMeasurement);
updatedSamplingOperations.add(deletedMeasurement.getSamplingOperation());
}
}
getModel().setModify(true);
// final update
for (SamplingOperationDTO updatedSamplingOperation : updatedSamplingOperations) {
updatedSamplingOperation.setDirty(true);
getModel().firePropertyChanged(OperationMeasurementsGroupedTableUIModel.PROPERTY_SAMPLING_OPERATION, null, updatedSamplingOperation);
}
} }
@Override @Override
protected boolean isMeasurementNotEmpty(MeasurementDTO measurement) { protected void setDirty(MeasurementAware bean) {
return !measurement.getPmfm().getId().equals(getModel().getPitTransitionLengthPmfmId()) && super.isMeasurementNotEmpty(measurement); super.setDirty(bean);
if (bean instanceof SamplingOperationDTO)
getModel().firePropertyChanged(OperationMeasurementsGroupedTableUIModel.PROPERTY_SAMPLING_OPERATION, null, bean);
} }
/** /**
...@@ -440,16 +386,11 @@ public class OperationMeasurementsGroupedTableUIHandler ...@@ -440,16 +386,11 @@ public class OperationMeasurementsGroupedTableUIHandler
List<OperationMeasurementsGroupedRowModel> rows = Lists.newArrayList(); List<OperationMeasurementsGroupedRowModel> rows = Lists.newArrayList();
for (SamplingOperationDTO samplingOperation : initModel.getResultMap().keySet()) { for (SamplingOperationDTO samplingOperation : initModel.getResultMap().keySet()) {
AtomicInteger individualId = new AtomicInteger();
for (Integer transition : initModel.getResultMap().get(samplingOperation)) { for (Integer transition : initModel.getResultMap().get(samplingOperation)) {
// Compute next individual id
incrementNextIndividualId(samplingOperation, individualId);
// Initialize the row // Initialize the row
OperationMeasurementsGroupedRowModel row = createNewRow(false, samplingOperation); OperationMeasurementsGroupedRowModel row = createNewRow(false, samplingOperation);
// Set the individualId
row.setIndividualId(individualId.get());
// Affect individual pmfms from parent model // Affect individual pmfms from parent model
row.setIndividualPmfms(new ArrayList<>(getModel().getPmfms())); row.setIndividualPmfms(new ArrayList<>(getModel().getPmfms()));
// Create empty measurements // Create empty measurements
...@@ -459,13 +400,12 @@ public class OperationMeasurementsGroupedTableUIHandler ...@@ -459,13 +400,12 @@ public class OperationMeasurementsGroupedTableUIHandler
if (measurement == null) { if (measurement == null) {
throw new ReefDbTechnicalException("No transition measurement found"); throw new ReefDbTechnicalException("No transition measurement found");
} }
// Set its value and individualId // Set its value
measurement.setNumericalValue(BigDecimal.valueOf(transition)); measurement.setNumericalValue(BigDecimal.valueOf(transition));
measurement.setIndividualId(individualId.get());
row.setValid(true); row.setValid(true);
rows.add(row); rows.add(row);
} }
samplingOperation.setDirty(true); setDirty(samplingOperation);
} }
resetCellEditors(); resetCellEditors();
...@@ -474,6 +414,20 @@ public class OperationMeasurementsGroupedTableUIHandler ...@@ -474,6 +414,20 @@ public class OperationMeasurementsGroupedTableUIHandler
} }
} }
@Override
protected boolean isRowToSave(OperationMeasurementsGroupedRowModel row) {
boolean toSave = super.isRowToSave(row);
if (toSave && getModel().getPitTransitionLengthPmfmId() != null) {
// If this row has been initialized but nothing else has been set, it can be ignored
Set<Integer> pmfmIds = ReefDbBeans.getPmfmIdsOfNonEmptyIndividualMeasurements(row);
pmfmIds.remove(getModel().getPitTransitionLengthPmfmId());
toSave = !pmfmIds.isEmpty() || row.hasTaxonInformation();
}
return toSave;
}
public void editSelectedMeasurements() { public void editSelectedMeasurements() {
OperationMeasurementsMultiEditUI editUI = new OperationMeasurementsMultiEditUI(getUI()); OperationMeasurementsMultiEditUI editUI = new OperationMeasurementsMultiEditUI(getUI());
......
...@@ -31,6 +31,7 @@ import fr.ifremer.reefdb.dto.data.measurement.MeasurementDTO; ...@@ -31,6 +31,7 @@ import fr.ifremer.reefdb.dto.data.measurement.MeasurementDTO;
import fr.ifremer.reefdb.dto.data.sampling.SamplingOperationDTO; import fr.ifremer.reefdb.dto.data.sampling.SamplingOperationDTO;
import fr.ifremer.reefdb.dto.enums.FilterTypeValues; import fr.ifremer.reefdb.dto.enums.FilterTypeValues;
import fr.ifremer.reefdb.dto.referential.DepartmentDTO; import fr.ifremer.reefdb.dto.referential.DepartmentDTO;
import fr.ifremer.reefdb.service.ReefDbTechnicalException;
import fr.ifremer.reefdb.ui.swing.util.table.AbstractReefDbTableUIHandler; import fr.ifremer.reefdb.ui.swing.util.table.AbstractReefDbTableUIHandler;
import jaxx.runtime.SwingUtil; import jaxx.runtime.SwingUtil;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
...@@ -38,6 +39,8 @@ import org.jdesktop.swingx.table.TableColumnExt; ...@@ -38,6 +39,8 @@ import org.jdesktop.swingx.table.TableColumnExt;
import javax.swing.RowFilter; import javax.swing.RowFilter;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional; import java.util.Optional;
import static org.nuiton.i18n.I18n.t; import static org.nuiton.i18n.I18n.t;
...@@ -115,7 +118,7 @@ public class OperationMeasurementsUngroupedTableUIHandler extends AbstractReefDb ...@@ -115,7 +118,7 @@ public class OperationMeasurementsUngroupedTableUIHandler extends AbstractReefDb
private void updateDepartmentCellEditor(boolean forceNoFilter) { private void updateDepartmentCellEditor(boolean forceNoFilter) {
departmentCellEditor.getCombo().setActionEnabled(!forceNoFilter departmentCellEditor.getCombo().setActionEnabled(!forceNoFilter
&& getContext().getDataContext().isContextFiltered(FilterTypeValues.DEPARTMENT)); && getContext().getDataContext().isContextFiltered(FilterTypeValues.DEPARTMENT));
departmentCellEditor.getCombo().setData(getContext().getObservationService().getAvailableDepartments(forceNoFilter)); departmentCellEditor.getCombo().setData(getContext().getObservationService().getAvailableDepartments(forceNoFilter));
} }
...@@ -141,16 +144,16 @@ public class OperationMeasurementsUngroupedTableUIHandler extends AbstractReefDb ...@@ -141,16 +144,16 @@ public class OperationMeasurementsUngroupedTableUIHandler extends AbstractReefDb
uninstallSaveTableStateListener(); uninstallSaveTableStateListener();
addPmfmColumns( addPmfmColumns(
getModel().getPmfms(), getModel().getPmfms(),
SamplingOperationDTO.PROPERTY_PMFMS, SamplingOperationDTO.PROPERTY_PMFMS,
DecoratorService.NAME_WITH_UNIT); // insert at the end DecoratorService.NAME_WITH_UNIT); // insert at the end
boolean notEmpty = CollectionUtils.isNotEmpty(getModel().getPmfms()); boolean notEmpty = CollectionUtils.isNotEmpty(getModel().getPmfms());
// tell the table model is editable or not // tell the table model is editable or not
getTableModel().setReadOnly(!getModel().getSurvey().isEditable()); getTableModel().setReadOnly(!getModel().getSurvey().isEditable());
getModel().setBeans(getModel().getSamplings()); getModel().setBeans(getModel().getSamplingOperations());
if (notEmpty) { if (notEmpty) {
for (OperationMeasurementsUngroupedRowModel row : getModel().getRows()) { for (OperationMeasurementsUngroupedRowModel row : getModel().getRows()) {
// set analyst from first non null measurement // set analyst from first non null measurement
...@@ -159,8 +162,8 @@ public class OperationMeasurementsUngroupedTableUIHandler extends AbstractReefDb ...@@ -159,8 +162,8 @@ public class OperationMeasurementsUngroupedTableUIHandler extends AbstractReefDb
row.setAnalyst(measurementFound.get().getAnalyst()); row.setAnalyst(measurementFound.get().getAnalyst());
} else { } else {
row.setAnalyst(getContext().getProgramStrategyService().getAnalysisDepartmentOfAppliedStrategyBySurvey( row.setAnalyst(getContext().getProgramStrategyService().getAnalysisDepartmentOfAppliedStrategyBySurvey(
getModel().getSurvey(), getModel().getSurvey(),
getModel().getPmfms() getModel().getPmfms()
)); ));
} }
} }
...@@ -197,7 +200,7 @@ public class OperationMeasurementsUngroupedTableUIHandler extends AbstractReefDb ...@@ -197,7 +200,7 @@ public class OperationMeasurementsUngroupedTableUIHandler extends AbstractReefDb
@Override @Override
public boolean include(Entry<? extends OperationMeasurementsUngroupedTableModel, ? extends Integer> entry) { public boolean include(Entry<? extends OperationMeasurementsUngroupedTableModel, ? extends Integer> entry) {
return getModel().getSamplingFilter() == null return getModel().getSamplingFilter() == null
|| getModel().getSamplingFilter().getName().equals(entry.getValue(getTable().getColumnExt(OperationMeasurementsUngroupedTableModel.NAME).getModelIndex())); || getModel().getSamplingFilter().getName().equals(entry.getValue(getTable().getColumnExt(OperationMeasurementsUngroupedTableModel.NAME).getModelIndex()));
} }
}); });
} }
...@@ -216,21 +219,26 @@ public class OperationMeasurementsUngroupedTableUIHandler extends AbstractReefDb ...@@ -216,21 +219,26 @@ public class OperationMeasurementsUngroupedTableUIHandler extends AbstractReefDb
super.onRowModified(rowIndex, row, propertyName, propertyIndex, oldValue, newValue); super.onRowModified(rowIndex, row, propertyName, propertyIndex, oldValue, newValue);
// save modifications to parent model row.setDirty(true);
// be careful, table beans can be filtered, so use detection to save measurements
for (SamplingOperationDTO samplingOperationToSave : getModel().getSurvey().getSamplingOperations()) {
// use QuadrigeBean comparator }
if (samplingOperationToSave.getId().equals(row.getId())) {
// update all measurements public void save() {
row.getMeasurements().forEach(measurement -> measurement.setAnalyst(row.getAnalyst()));
samplingOperationToSave.setMeasurements(row.getMeasurements()); Map<Integer, OperationMeasurementsUngroupedRowModel> rowById = new HashMap<>();
samplingOperationToSave.setDirty(true); getModel().getRows().forEach(row -> rowById.put(row.getId(), row));
break;
} getModel().getSamplingOperations().forEach(samplingOperation -> {
} OperationMeasurementsUngroupedRowModel row = rowById.get(samplingOperation.getId());
if (row == null)
throw new ReefDbTechnicalException("Unable to find the row for sampling operation id=" + samplingOperation.getId());
// update all measurements
row.getMeasurements().forEach(measurement -> measurement.setAnalyst(row.getAnalyst()));
// affect measurements
samplingOperation.setMeasurements(row.getMeasurements());
});
} }
...@@ -246,8 +254,8 @@ public class OperationMeasurementsUngroupedTableUIHandler extends AbstractReefDb ...@@ -246,8 +254,8 @@ public class OperationMeasurementsUngroupedTableUIHandler extends AbstractReefDb
if (row.getAnalyst() == null && row.getMeasurements().stream().anyMatch(measurement -> !ReefDbBeans.isMeasurementEmpty(measurement))) { if (row.getAnalyst() == null && row.getMeasurements().stream().anyMatch(measurement -> !ReefDbBeans.isMeasurementEmpty(measurement))) {
ReefDbBeans.addError(row, ReefDbBeans.addError(row,
t("reefdb.validator.error.analyst.required"), t("reefdb.validator.error.analyst.required"),
OperationMeasurementsUngroupedRowModel.PROPERTY_ANALYST); OperationMeasurementsUngroupedRowModel.PROPERTY_ANALYST);
return false; return false;
} }
return true; return true;
...@@ -260,16 +268,16 @@ public class OperationMeasurementsUngroupedTableUIHandler extends AbstractReefDb ...@@ -260,16 +268,16 @@ public class OperationMeasurementsUngroupedTableUIHandler extends AbstractReefDb
// Colonne mnemonique // Colonne mnemonique
final TableColumnExt colMnemonic = addColumn( final TableColumnExt colMnemonic = addColumn(
OperationMeasurementsUngroupedTableModel.NAME); OperationMeasurementsUngroupedTableModel.NAME);
colMnemonic.setSortable(true); colMnemonic.setSortable(true);
colMnemonic.setEditable(false); colMnemonic.setEditable(false);
setDefaultColumnMinWidth(colMnemonic); setDefaultColumnMinWidth(colMnemonic);
// Add analyst column (Mantis #42619) // Add analyst column (Mantis #42619)
TableColumnExt analystColumn = addColumn( TableColumnExt analystColumn = addColumn(
departmentCellEditor, departmentCellEditor,
newTableCellRender(OperationMeasurementsUngroupedTableModel.ANALYST), newTableCellRender(OperationMeasurementsUngroupedTableModel.ANALYST),
OperationMeasurementsUngroupedTableModel.ANALYST OperationMeasurementsUngroupedTableModel.ANALYST
); );
analystColumn.setMinWidth(100); analystColumn.setMinWidth(100);
......
...@@ -71,11 +71,11 @@ public class OperationMeasurementsUngroupedTableUIModel extends AbstractReefDbTa ...@@ -71,11 +71,11 @@ public class OperationMeasurementsUngroupedTableUIModel extends AbstractReefDbTa
} }
/** /**
* <p>getSamplings.</p> * <p>getSamplingOperations.</p>
* *
* @return a {@link java.util.List} object. * @return a {@link java.util.List} object.
*/ */
public List<SamplingOperationDTO> getSamplings() { public List<SamplingOperationDTO> getSamplingOperations() {
return survey == null ? null : (List<SamplingOperationDTO>) survey.getSamplingOperations(); return survey == null ? null : (List<SamplingOperationDTO>) survey.getSamplingOperations();
} }