Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe
Commits:
-
fc1319fd
by Tony Chemit at 2020-06-27T17:57:42+02:00
-
280e3b1a
by Tony Chemit at 2020-06-27T17:58:42+02:00
19 changed files:
- client-core/src/main/java/fr/ird/observe/client/datasource/api/ObserveDataSourcesManager.java
- client-core/src/main/java/fr/ird/observe/client/datasource/api/ObserveSwingDataSource.java
- client-core/src/main/java/fr/ird/observe/client/util/ProgressModel.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/actions/AdminTabUIActionSupport.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/consolidate/actions/Start.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/export/actions/Start.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/longline/pairing/actions/Prepare.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/longline/pairing/tree/node/ActivityLonglinePairingActivityNode.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/synchronize/data/actions/Apply.java
- client-datasource-actions/src/main/java/fr/ird/observe/client/datasource/actions/validate/actions/Start.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/DataSourceEditorBodyContent.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/DataSourceEditorHandler.java
- client-datasource-editor-api/src/main/java/fr/ird/observe/client/datasource/editor/wizard/StorageBackupUILauncher.java
- dto/src/main/java/fr/ird/observe/dto/data/ll/logbook/ActivityReference.java
- dto/src/main/models/Observe-31-data-ll-logbook.model
- pom.xml
- services/src/main/java/fr/ird/observe/services/service/data/ll/pairing/ActivityLonglinePairingEngine.java
- services/src/main/java/fr/ird/observe/services/service/data/ll/pairing/ActivityLonglinePairingResult.java
- services/src/main/java/fr/ird/observe/services/service/data/ll/pairing/ActivityLonglinePairingResultItem.java
Changes:
| ... | ... | @@ -25,6 +25,7 @@ package fr.ird.observe.client.datasource.api; |
| 25 | 25 |
import fr.ird.observe.client.configuration.ClientConfig;
|
| 26 | 26 |
import fr.ird.observe.client.datasource.api.event.ObserveSwingDataSourceEvent;
|
| 27 | 27 |
import fr.ird.observe.client.datasource.api.event.ObserveSwingDataSourceListenerAdapter;
|
| 28 |
+import fr.ird.observe.client.util.ProgressModel;
|
|
| 28 | 29 |
import fr.ird.observe.navigation.model.edit.ObserveEditModel;
|
| 29 | 30 |
import fr.ird.observe.navigation.model.select.ObserveSelectModel;
|
| 30 | 31 |
import fr.ird.observe.services.ObserveDataSourceConfigurationMainFactory;
|
| ... | ... | @@ -44,7 +45,6 @@ import io.ultreia.java4all.application.context.spi.GenerateApplicationComponent; |
| 44 | 45 |
import org.apache.logging.log4j.LogManager;
|
| 45 | 46 |
import org.apache.logging.log4j.Logger;
|
| 46 | 47 |
|
| 47 |
-import javax.swing.DefaultBoundedRangeModel;
|
|
| 48 | 48 |
import java.io.Closeable;
|
| 49 | 49 |
import java.io.File;
|
| 50 | 50 |
import java.util.ArrayList;
|
| ... | ... | @@ -217,7 +217,7 @@ public class ObserveDataSourcesManager implements Closeable { |
| 217 | 217 |
try {
|
| 218 | 218 |
//FIXME:BodyContent Review progress model, not linked to ui any more...
|
| 219 | 219 |
if (getProgressModel() == null) {
|
| 220 |
- setProgressModel(new DefaultBoundedRangeModel());
|
|
| 220 |
+ setProgressModel(new ProgressModel());
|
|
| 221 | 221 |
}
|
| 222 | 222 |
create(createDto);
|
| 223 | 223 |
} catch (IncompatibleDataSourceCreateConfigurationException | DataSourceCreateWithNoReferentialImportException e) {
|
| ... | ... | @@ -29,6 +29,7 @@ import fr.ird.observe.client.configuration.WithClientConfig; |
| 29 | 29 |
import fr.ird.observe.client.datasource.api.event.ObserveSwingDataSourceEvent;
|
| 30 | 30 |
import fr.ird.observe.client.datasource.api.event.ObserveSwingDataSourceListener;
|
| 31 | 31 |
import fr.ird.observe.client.datasource.dcp.FloatingObjectPresetsManager;
|
| 32 |
+import fr.ird.observe.client.util.ProgressModel;
|
|
| 32 | 33 |
import fr.ird.observe.client.util.UIHelper;
|
| 33 | 34 |
import fr.ird.observe.dto.IdDto;
|
| 34 | 35 |
import fr.ird.observe.dto.ObserveUtil;
|
| ... | ... | @@ -115,7 +116,7 @@ public class ObserveSwingDataSource extends ObserveServicesProviderSupport imple |
| 115 | 116 |
private final Icon icon;
|
| 116 | 117 |
private final ObserveServiceMainFactory serviceFactory;
|
| 117 | 118 |
private ObserveDataSourceConnection connection;
|
| 118 |
- private BoundedRangeModel progressModel;
|
|
| 119 |
+ private ProgressModel progressModel;
|
|
| 119 | 120 |
|
| 120 | 121 |
// indique que la connexion a expiré mais que la source n'est pas complétement fermer
|
| 121 | 122 |
private boolean expired;
|
| ... | ... | @@ -606,11 +607,11 @@ public class ObserveSwingDataSource extends ObserveServicesProviderSupport imple |
| 606 | 607 |
return servicesProvider.getService(serviceType);
|
| 607 | 608 |
}
|
| 608 | 609 |
|
| 609 |
- public BoundedRangeModel getProgressModel() {
|
|
| 610 |
+ public ProgressModel getProgressModel() {
|
|
| 610 | 611 |
return progressModel;
|
| 611 | 612 |
}
|
| 612 | 613 |
|
| 613 |
- public void setProgressModel(BoundedRangeModel progressModel) {
|
|
| 614 |
+ public void setProgressModel(ProgressModel progressModel) {
|
|
| 614 | 615 |
this.progressModel = progressModel;
|
| 615 | 616 |
}
|
| 616 | 617 |
|
| ... | ... | @@ -38,4 +38,7 @@ public class ProgressModel extends DefaultBoundedRangeModel { |
| 38 | 38 |
progressBar.setModel(this);
|
| 39 | 39 |
}
|
| 40 | 40 |
|
| 41 |
+ public void increments() {
|
|
| 42 |
+ setValue(getValue() + 1);
|
|
| 43 |
+ }
|
|
| 41 | 44 |
}
|
| ... | ... | @@ -203,17 +203,17 @@ public abstract class AdminTabUIActionSupport<U extends AdminTabUI> extends JCom |
| 203 | 203 |
|
| 204 | 204 |
public WizardState prepareCopy(ProgressModel progressModel, ObserveSwingDataSource centralSource, String centralSourceLabel, ObserveSwingDataSource targetSource, String targetSourceLabel, Collection<String> idsToCopy) {
|
| 205 | 205 |
|
| 206 |
- progressModel.setExtent(1);
|
|
| 206 |
+ progressModel.increments();
|
|
| 207 | 207 |
|
| 208 | 208 |
ReferentialService targetReferentialService = targetSource.getReferentialService();
|
| 209 | 209 |
ImmutableSetStringMap targetSourceReferential = targetReferentialService.getReferentialIds();
|
| 210 | 210 |
MissingReferentialRequest missingReferentialRequest = MissingReferentialRequest.of(targetSourceReferential, idsToCopy.toArray(new String[0]));
|
| 211 | 211 |
MissingReferentialResult missingReferentialResult = centralSource.getReferentialService().computeMissingReferential(missingReferentialRequest);
|
| 212 | 212 |
|
| 213 |
- progressModel.setExtent(1);
|
|
| 213 |
+ progressModel.increments();
|
|
| 214 | 214 |
|
| 215 | 215 |
if (missingReferentialResult == null) {
|
| 216 |
- progressModel.setExtent(1);
|
|
| 216 |
+ progressModel.increments();
|
|
| 217 | 217 |
return WizardState.SUCCESSED;
|
| 218 | 218 |
}
|
| 219 | 219 |
|
| ... | ... | @@ -250,7 +250,7 @@ public abstract class AdminTabUIActionSupport<U extends AdminTabUI> extends JCom |
| 250 | 250 |
sendMessage(t("observe.actions.exportData.message.add.missing.referential", decorator.toString(reference)));
|
| 251 | 251 |
}
|
| 252 | 252 |
}
|
| 253 |
- progressModel.setExtent(1);
|
|
| 253 |
+ progressModel.increments();
|
|
| 254 | 254 |
targetReferentialService.insertMissingReferential(missingReferentialResult.getSqlCode());
|
| 255 | 255 |
return WizardState.SUCCESSED;
|
| 256 | 256 |
}
|
| ... | ... | @@ -100,7 +100,7 @@ public class Start extends AdminTabUIActionSupport<ConsolidateUI> { |
| 100 | 100 |
ImmutableSet.Builder<ConsolidateTripSeineDataResult> resultsBuilder = ImmutableSet.builder();
|
| 101 | 101 |
for (String tripId : tripIds) {
|
| 102 | 102 |
|
| 103 |
- progressModel.setExtent(1);
|
|
| 103 |
+ progressModel.increments();
|
|
| 104 | 104 |
sendMessage(t("observe.actions.consolidate.start.trip", ++index, nbTrips, tripId));
|
| 105 | 105 |
|
| 106 | 106 |
ConsolidateTripSeineDataRequest request = new ConsolidateTripSeineDataRequest();
|
| ... | ... | @@ -131,7 +131,7 @@ public class Start extends AdminTabUIActionSupport<ConsolidateUI> { |
| 131 | 131 |
ObserveUtil.cleanMemory();
|
| 132 | 132 |
}
|
| 133 | 133 |
|
| 134 |
- progressModel.setExtent(1);
|
|
| 134 |
+ progressModel.increments();
|
|
| 135 | 135 |
ImmutableSet<ConsolidateTripSeineDataResult> results = resultsBuilder.build();
|
| 136 | 136 |
|
| 137 | 137 |
if (results.isEmpty()) {
|
| ... | ... | @@ -94,12 +94,12 @@ public class Start extends ExportUIActionSupport { |
| 94 | 94 |
progressModel.setValue(0);
|
| 95 | 95 |
|
| 96 | 96 |
|
| 97 |
- progressModel.setExtent(1);
|
|
| 97 |
+ progressModel.increments();
|
|
| 98 | 98 |
try (ObserveSwingDataSource localDataSource = openSource(stepModel.getSource())) {
|
| 99 | 99 |
|
| 100 | 100 |
TripManagementService localTripManagementService = localDataSource.getTripManagementService();
|
| 101 | 101 |
|
| 102 |
- progressModel.setExtent(1);
|
|
| 102 |
+ progressModel.increments();
|
|
| 103 | 103 |
try (ObserveSwingDataSource centralDataSource = openSource(stepModel.getCentralSource())) {
|
| 104 | 104 |
|
| 105 | 105 |
TripManagementService centralTripManagementService = centralDataSource.getTripManagementService();
|
| ... | ... | @@ -113,7 +113,7 @@ public class Start extends ExportUIActionSupport { |
| 113 | 113 |
|
| 114 | 114 |
for (TripEntry tripEntry : tripEntries) {
|
| 115 | 115 |
|
| 116 |
- progressModel.setExtent(1);
|
|
| 116 |
+ progressModel.increments();
|
|
| 117 | 117 |
ExportTripRequest exportTripRequest = new ExportTripRequest(false, tripEntry.getProgramId(), tripEntry.getTripId());
|
| 118 | 118 |
ExportTripResult exportTripResult = localTripManagementService.exportTrip(exportTripRequest);
|
| 119 | 119 |
logExportResult(n("observe.actions.synchro.data.result.export.trip"),
|
| ... | ... | @@ -123,7 +123,7 @@ public class Start extends ExportUIActionSupport { |
| 123 | 123 |
tripEntry.getProgram(),
|
| 124 | 124 |
tripEntry.getTrip());
|
| 125 | 125 |
|
| 126 |
- progressModel.setExtent(1);
|
|
| 126 |
+ progressModel.increments();
|
|
| 127 | 127 |
ImportTripRequest importTripRequest = new ImportTripRequest(exportTripResult);
|
| 128 | 128 |
ImportTripResult importTripResult = centralTripManagementService.importTrip(importTripRequest);
|
| 129 | 129 |
logImportResult(n("observe.actions.synchro.data.result.import.trip"),
|
| ... | ... | @@ -138,7 +138,7 @@ public class Start extends ExportUIActionSupport { |
| 138 | 138 |
|
| 139 | 139 |
}
|
| 140 | 140 |
}
|
| 141 |
- progressModel.setExtent(1);
|
|
| 141 |
+ progressModel.increments();
|
|
| 142 | 142 |
|
| 143 | 143 |
sendMessage(t("observe.actions.operation.message.done", new Date()));
|
| 144 | 144 |
|
| ... | ... | @@ -105,7 +105,7 @@ public class Prepare extends ActivityLonglinePairingUIActionSupport { |
| 105 | 105 |
log.info(sendMessage(String.format("[Program %d/%d - Trip %d/%d] Found %d logbook activities.", programIndex, nbProgram, tripIndex, nbTrip, tripLonglinePairingResult.getItems().size())));
|
| 106 | 106 |
ActivityLonglinePairingTripNode activityLonglinePairingTripNode = new ActivityLonglinePairingTripNode(tripLonglinePairingResult);
|
| 107 | 107 |
activityLonglinePairingProgramNode.add(activityLonglinePairingTripNode);
|
| 108 |
- progressModel.setExtent(1);
|
|
| 108 |
+ progressModel.increments();
|
|
| 109 | 109 |
}
|
| 110 | 110 |
}
|
| 111 | 111 |
|
| ... | ... | @@ -39,7 +39,7 @@ public class ActivityLonglinePairingActivityNode extends ActivityLonglinePairing |
| 39 | 39 |
|
| 40 | 40 |
ActivityLonglinePairingActivityNode(ActivityLonglinePairingResult userObject) {
|
| 41 | 41 |
super(Objects.requireNonNull(userObject), false);
|
| 42 |
- this.selectedValue = userObject.getRelatedObservedActivity();
|
|
| 42 |
+ this.selectedValue = userObject.getSelectedRelatedObservedActivity();
|
|
| 43 | 43 |
if (selectedValue == null && !userObject.getItems().isEmpty()) {
|
| 44 | 44 |
ActivityLonglinePairingResultItem activityLonglinePairingResultItem = userObject.getItems().get(0);
|
| 45 | 45 |
setValueAt(activityLonglinePairingResultItem, 1);
|
| ... | ... | @@ -141,7 +141,7 @@ public class Apply extends DataSynchroUIActionSupport { |
| 141 | 141 |
|
| 142 | 142 |
TripAware trip = task.getTrip();
|
| 143 | 143 |
|
| 144 |
- progressModel.setExtent(1);
|
|
| 144 |
+ progressModel.increments();
|
|
| 145 | 145 |
|
| 146 | 146 |
if (task instanceof DeleteFromLeftDataSynchronizeTask) {
|
| 147 | 147 |
executeDeleteTask(programDecorator, program, trip,
|
| ... | ... | @@ -223,7 +223,7 @@ public class Apply extends DataSynchroUIActionSupport { |
| 223 | 223 |
program,
|
| 224 | 224 |
trip);
|
| 225 | 225 |
|
| 226 |
- progressModel.setExtent(1);
|
|
| 226 |
+ progressModel.increments();
|
|
| 227 | 227 |
ImportTripRequest importTripRequest = new ImportTripRequest(exportTripResult);
|
| 228 | 228 |
ImportTripResult importTripResult = targetTripManagementService.importTrip(importTripRequest);
|
| 229 | 229 |
logImportResult(n("observe.actions.synchro.data.result.import.trip"),
|
| ... | ... | @@ -183,7 +183,7 @@ public class Start extends ValidateUIActionSupport { |
| 183 | 183 |
request.setValidationLengthWeightEnable(config.getValidationLengthWeightEnable());
|
| 184 | 184 |
request.setValidationDisabledReferential(config.getValidationUseDisabledReferential());
|
| 185 | 185 |
|
| 186 |
- progressModel.setExtent(1);
|
|
| 186 |
+ progressModel.increments();
|
|
| 187 | 187 |
|
| 188 | 188 |
result = validateService.validateReferential(request);
|
| 189 | 189 |
|
| ... | ... | @@ -218,7 +218,7 @@ public class Start extends ValidateUIActionSupport { |
| 218 | 218 |
|
| 219 | 219 |
//noinspection unchecked
|
| 220 | 220 |
sendMessage(t("observe.actions.validate.message.validate.trip", getDecoratorService().getDataReferenceDecorator((Class) dataReference.getReferenceType()).toString(dataReference)));
|
| 221 |
- progressModel.setExtent(1);
|
|
| 221 |
+ progressModel.increments();
|
|
| 222 | 222 |
|
| 223 | 223 |
result = validateService.validateData(request);
|
| 224 | 224 |
resultBuilder.addMessages(result.getData());
|
| ... | ... | @@ -229,7 +229,7 @@ public class Start extends ValidateUIActionSupport { |
| 229 | 229 |
|
| 230 | 230 |
} else throw new IllegalStateException();
|
| 231 | 231 |
|
| 232 |
- progressModel.setExtent(1);
|
|
| 232 |
+ progressModel.increments();
|
|
| 233 | 233 |
dataSourceToValidate.close();
|
| 234 | 234 |
|
| 235 | 235 |
stepModel.setValidationResult(result);
|
| ... | ... | @@ -39,6 +39,7 @@ import fr.ird.observe.client.datasource.editor.menu.actions.ShowDataSourcePreset |
| 39 | 39 |
import fr.ird.observe.client.main.ObserveMainUI;
|
| 40 | 40 |
import fr.ird.observe.client.main.body.HideBodyContentNotAcceptedException;
|
| 41 | 41 |
import fr.ird.observe.client.main.body.MainUIBodyContent;
|
| 42 |
+import fr.ird.observe.client.util.ProgressModel;
|
|
| 42 | 43 |
import fr.ird.observe.client.util.UIHelper;
|
| 43 | 44 |
import fr.ird.observe.client.util.busy.BusyModel;
|
| 44 | 45 |
import fr.ird.observe.navigation.model.edit.ObserveEditModel;
|
| ... | ... | @@ -49,7 +50,6 @@ import io.ultreia.java4all.util.SingletonSupplier; |
| 49 | 50 |
import org.apache.logging.log4j.LogManager;
|
| 50 | 51 |
import org.apache.logging.log4j.Logger;
|
| 51 | 52 |
|
| 52 |
-import javax.swing.BoundedRangeModel;
|
|
| 53 | 53 |
import java.beans.PropertyChangeListener;
|
| 54 | 54 |
import java.util.Set;
|
| 55 | 55 |
import java.util.function.Supplier;
|
| ... | ... | @@ -143,7 +143,7 @@ public class DataSourceEditorBodyContent extends MainUIBodyContent<DataSourceEdi |
| 143 | 143 |
|
| 144 | 144 |
log.info(String.format("loading ui for storage %s: %s", dataSource.getLabel(), mainUI));
|
| 145 | 145 |
|
| 146 |
- BoundedRangeModel progressModel = dataSource.getProgressModel();
|
|
| 146 |
+ ProgressModel progressModel = dataSource.getProgressModel();
|
|
| 147 | 147 |
|
| 148 | 148 |
ObserveEditModel navigationEditModel = null;
|
| 149 | 149 |
try {
|
| ... | ... | @@ -180,7 +180,7 @@ public class DataSourceEditorBodyContent extends MainUIBodyContent<DataSourceEdi |
| 180 | 180 |
|
| 181 | 181 |
get().getHandler().loadNavigationUI(dataSource, progressModel);
|
| 182 | 182 |
|
| 183 |
- progressModel.setExtent(1);
|
|
| 183 |
+ progressModel.increments();
|
|
| 184 | 184 |
|
| 185 | 185 |
}
|
| 186 | 186 |
|
| ... | ... | @@ -33,9 +33,9 @@ import fr.ird.observe.client.datasource.editor.tree.navigation.NavigationTreeMod |
| 33 | 33 |
import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.NavigationTreeNodeSupport;
|
| 34 | 34 |
import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.ReferenceNavigationTreeNodeSupport;
|
| 35 | 35 |
import fr.ird.observe.client.datasource.editor.tree.navigation.nodes.StringNavigationTreeNodeSupport;
|
| 36 |
-import fr.ird.observe.client.main.MainUIModel;
|
|
| 37 | 36 |
import fr.ird.observe.client.util.ObserveSwingValidatorMessageTableModel;
|
| 38 | 37 |
import fr.ird.observe.client.util.ObserveValidatorMessageTableRenderer;
|
| 38 |
+import fr.ird.observe.client.util.ProgressModel;
|
|
| 39 | 39 |
import fr.ird.observe.client.util.UIHelper;
|
| 40 | 40 |
import fr.ird.observe.client.util.busy.BusyModel;
|
| 41 | 41 |
import fr.ird.observe.client.util.session.WithObserveSwingSessionHelper;
|
| ... | ... | @@ -49,7 +49,6 @@ import org.apache.logging.log4j.Logger; |
| 49 | 49 |
import org.nuiton.jaxx.runtime.spi.UIHandler;
|
| 50 | 50 |
import org.nuiton.jaxx.validator.swing.SwingValidatorUtil;
|
| 51 | 51 |
|
| 52 |
-import javax.swing.BoundedRangeModel;
|
|
| 53 | 52 |
import javax.swing.SwingUtilities;
|
| 54 | 53 |
import javax.swing.event.TreeSelectionEvent;
|
| 55 | 54 |
import javax.swing.tree.TreePath;
|
| ... | ... | @@ -251,13 +250,13 @@ public class DataSourceEditorHandler implements UIHandler<DataSourceEditor>, Wit |
| 251 | 250 |
* @param servicesProvider services provider to load navigation model
|
| 252 | 251 |
* @param progressModel the progress model to interact with ui
|
| 253 | 252 |
*/
|
| 254 |
- public void loadNavigationUI(ObserveServicesProvider servicesProvider, BoundedRangeModel progressModel) {
|
|
| 253 |
+ public void loadNavigationUI(ObserveServicesProvider servicesProvider, ProgressModel progressModel) {
|
|
| 255 | 254 |
|
| 256 | 255 |
NavigationTree tree = ui.getNavigationUI().getTree();
|
| 257 | 256 |
|
| 258 | 257 |
NavigationTreeModel treeModel = tree.getModel();
|
| 259 | 258 |
treeModel.populate(servicesProvider);
|
| 260 |
- progressModel.setExtent(1);
|
|
| 259 |
+ progressModel.increments();
|
|
| 261 | 260 |
|
| 262 | 261 |
// select initial node
|
| 263 | 262 |
try {
|
| ... | ... | @@ -265,7 +264,7 @@ public class DataSourceEditorHandler implements UIHandler<DataSourceEditor>, Wit |
| 265 | 264 |
} catch (Exception e) {
|
| 266 | 265 |
log.error("Could not load initial node", e);
|
| 267 | 266 |
}
|
| 268 |
- progressModel.setExtent(1);
|
|
| 267 |
+ progressModel.increments();
|
|
| 269 | 268 |
|
| 270 | 269 |
tree.setVisible(true);
|
| 271 | 270 |
|
| ... | ... | @@ -158,11 +158,11 @@ public class StorageBackupUILauncher extends StorageUILauncher { |
| 158 | 158 |
|
| 159 | 159 |
ExportTripRequest exportRequest = new ExportTripRequest(false, entry.getKey().getId(), trip.getId());
|
| 160 | 160 |
ExportTripResult exportTripResult = managementService.exportTrip(exportRequest);
|
| 161 |
- progressModel.setExtent(1);
|
|
| 161 |
+ progressModel.increments();
|
|
| 162 | 162 |
|
| 163 | 163 |
ImportTripRequest importTripRequest = new ImportTripRequest(exportTripResult);
|
| 164 | 164 |
tmpManagementService.importTrip(importTripRequest);
|
| 165 |
- progressModel.setExtent(1);
|
|
| 165 |
+ progressModel.increments();
|
|
| 166 | 166 |
|
| 167 | 167 |
}
|
| 168 | 168 |
|
| ... | ... | @@ -175,13 +175,13 @@ public class StorageBackupUILauncher extends StorageUILauncher { |
| 175 | 175 |
}
|
| 176 | 176 |
|
| 177 | 177 |
sourceToBackup.getDataSourceService().backup(backupFile);
|
| 178 |
- progressModel.setExtent(1);
|
|
| 178 |
+ progressModel.increments();
|
|
| 179 | 179 |
|
| 180 | 180 |
} catch (DatabaseNotFoundException | DatabaseConnexionNotAuthorizedException | BabModelVersionException | IncompatibleDataSourceCreateConfigurationException | DataSourceCreateWithNoReferentialImportException e) {
|
| 181 | 181 |
throw new ObserveSwingTechnicalException(e);
|
| 182 | 182 |
} finally {
|
| 183 | 183 |
|
| 184 |
- progressModel.setExtent(1);
|
|
| 184 |
+ progressModel.increments();
|
|
| 185 | 185 |
if (sourceToBackup != localSource) {
|
| 186 | 186 |
sourceToBackup.close();
|
| 187 | 187 |
}
|
| ... | ... | @@ -34,8 +34,8 @@ public class ActivityReference extends GeneratedActivityReference { |
| 34 | 34 |
|
| 35 | 35 |
private transient GPSPoint gpsPoint;
|
| 36 | 36 |
|
| 37 |
- public ActivityReference(DtoReferenceAware dto, Date startTimeStamp, Date endTimeStamp, Float latitude, Float longitude, String vesselActivityId, String vesselActivityLabel, SetReference set, SampleReference sample, String activityId) {
|
|
| 38 |
- super(dto, startTimeStamp, endTimeStamp, latitude, longitude, vesselActivityId, vesselActivityLabel, set, sample, activityId);
|
|
| 37 |
+ public ActivityReference(DtoReferenceAware dto, Date startTimeStamp, Date endTimeStamp, Float latitude, Float longitude, String vesselActivityId, String vesselActivityLabel, SetReference set, SampleReference sample, fr.ird.observe.dto.data.ll.observation.ActivityReference activity) {
|
|
| 38 |
+ super(dto, startTimeStamp, endTimeStamp, latitude, longitude, vesselActivityId, vesselActivityLabel, set, sample, activity);
|
|
| 39 | 39 |
}
|
| 40 | 40 |
|
| 41 | 41 |
public ActivityReference(DtoReferenceAware dto) {
|
| ... | ... | @@ -20,7 +20,7 @@ longitude + {*:1} Float |
| 20 | 20 |
quadrant + {*:1} Integer
|
| 21 | 21 |
samplePart + {*} fr.ird.observe.dto.data.ll.logbook.SamplePartDto | ordered
|
| 22 | 22 |
|
| 23 |
-data.ll.logbook.Activity > data.Openable >> data.ActivityAware | references=startTimeStamp,endTimeStamp,latitude,longitude,vesselActivityId,vesselActivityLabel,set,sample,relatedObservedActivityId
|
|
| 23 |
+data.ll.logbook.Activity > data.Openable >> data.ActivityAware | references=startTimeStamp,endTimeStamp,latitude,longitude,vesselActivityId,vesselActivityLabel,set,sample,relatedObservedActivity
|
|
| 24 | 24 |
startTimeStamp + {*:1} Date | notNull
|
| 25 | 25 |
endTimeStamp + {*:1} Date | mayNotNull
|
| 26 | 26 |
latitude + {*:1} Float | mayNotNull
|
| ... | ... | @@ -24,7 +24,7 @@ |
| 24 | 24 |
<parent>
|
| 25 | 25 |
<groupId>io.ultreia.maven</groupId>
|
| 26 | 26 |
<artifactId>pom</artifactId>
|
| 27 |
- <version>2020.34</version>
|
|
| 27 |
+ <version>2020.35</version>
|
|
| 28 | 28 |
</parent>
|
| 29 | 29 |
|
| 30 | 30 |
<groupId>fr.ird.observe</groupId>
|
| ... | ... | @@ -162,15 +162,15 @@ |
| 162 | 162 |
<maven.build.timestamp.format>dd/MM/yyyy HH:mm z</maven.build.timestamp.format>
|
| 163 | 163 |
<buildDate>${maven.build.timestamp}</buildDate>
|
| 164 | 164 |
|
| 165 |
- <lib.version.toolkit>4.33</lib.version.toolkit>
|
|
| 165 |
+ <lib.version.toolkit>4.34-SNAPSHOT</lib.version.toolkit>
|
|
| 166 | 166 |
<lib.version.nuiton.validation>3.1</lib.version.nuiton.validation>
|
| 167 | 167 |
<!--can't use 1.4.197 (date has changed + blob also)-->
|
| 168 | 168 |
<lib.version.h2>1.4.196</lib.version.h2>
|
| 169 | 169 |
<lib.version.nuiton.utils>3.0</lib.version.nuiton.utils>
|
| 170 | 170 |
|
| 171 | 171 |
<!-- <lib.version.java4all.topia>1.17</lib.version.java4all.topia>-->
|
| 172 |
- <!--<lib.version.java4all.eugene>3.0<-alpha-22</lib.version.java4all.eugene>-->
|
|
| 173 |
- <lib.version.java4all.jaxx>3.0-alpha-72-SNAPSHOT</lib.version.java4all.jaxx>
|
|
| 172 |
+<!-- <lib.version.java4all.eugene>3.0-alpha-34-SNAPSHOT</lib.version.java4all.eugene>-->
|
|
| 173 |
+<!-- <lib.version.java4all.jaxx>3.0-alpha-72-SNAPSHOT</lib.version.java4all.jaxx>-->
|
|
| 174 | 174 |
<!--<lib.version.java4all.application-context>1.0.3-SNAPSHOT</lib.version.java4all.application-context>-->
|
| 175 | 175 |
<!--<lib.version.java4all.application-template>1.0.2-SNAPSHOT</lib.version.java4all.application-template>-->
|
| 176 | 176 |
<!--<lib.version.java4all.i18n>4.0-beta-3-SNAPSHOT</lib.version.java4all.i18n>-->
|
| ... | ... | @@ -33,10 +33,8 @@ import fr.ird.observe.services.service.data.ll.logbook.ActivityService; |
| 33 | 33 |
|
| 34 | 34 |
import java.util.ArrayList;
|
| 35 | 35 |
import java.util.Collection;
|
| 36 |
-import java.util.Date;
|
|
| 37 | 36 |
import java.util.List;
|
| 38 | 37 |
import java.util.Set;
|
| 39 |
-import java.util.concurrent.TimeUnit;
|
|
| 40 | 38 |
|
| 41 | 39 |
/**
|
| 42 | 40 |
* Created by tchemit on 15/10/2018.
|
| ... | ... | @@ -74,7 +72,7 @@ public class ActivityLonglinePairingEngine { |
| 74 | 72 |
ImmutableList<ActivityReference> activityLonglineObsList = context.getActivityLonglineObsList(activityLonglineLogbook);
|
| 75 | 73 |
List<ActivityLonglinePairingResultItem> itemBuilder = new ArrayList<>(activityLonglineObsList.size());
|
| 76 | 74 |
for (ActivityReference activityLonglineObs : activityLonglineObsList) {
|
| 77 |
- itemBuilder.add(toActivityResultItem(activityLonglineLogbook, activityLonglineObs));
|
|
| 75 |
+ itemBuilder.add(ActivityLonglinePairingResultItem.create(activityLonglineLogbook, activityLonglineObs));
|
|
| 78 | 76 |
}
|
| 79 | 77 |
itemBuilder.sort(ActivityLonglinePairingResult.COMPARATOR);
|
| 80 | 78 |
fr.ird.observe.dto.data.ll.logbook.ActivityReference reference;
|
| ... | ... | @@ -86,12 +84,4 @@ public class ActivityLonglinePairingEngine { |
| 86 | 84 |
return new ActivityLonglinePairingResult(reference, ImmutableList.copyOf(itemBuilder));
|
| 87 | 85 |
}
|
| 88 | 86 |
|
| 89 |
- private ActivityLonglinePairingResultItem toActivityResultItem(ActivityAware activityLonglineLogbook, ActivityReference activityLonglineObsReference) {
|
|
| 90 |
- Date logbookTimeStamp = activityLonglineLogbook.getTimeStamp();
|
|
| 91 |
- Date obsTimeStamp = activityLonglineObsReference.getTimeStamp();
|
|
| 92 |
- long computedTime = TimeUnit.MINUTES.convert(logbookTimeStamp.getTime() - obsTimeStamp.getTime(), TimeUnit.MILLISECONDS);
|
|
| 93 |
- double computedDistance = activityLonglineLogbook.getGPSPoint().getDistanceInKm(activityLonglineObsReference.getGPSPoint());
|
|
| 94 |
- return new ActivityLonglinePairingResultItem(activityLonglineObsReference, computedTime, computedDistance);
|
|
| 95 |
- }
|
|
| 96 |
- |
|
| 97 | 87 |
}
|
| ... | ... | @@ -40,18 +40,21 @@ public class ActivityLonglinePairingResult implements ObserveDto { |
| 40 | 40 |
|
| 41 | 41 |
private final ActivityReference activityLonglineLogbook;
|
| 42 | 42 |
private final ImmutableList<ActivityLonglinePairingResultItem> items;
|
| 43 |
+ private final ActivityLonglinePairingResultItem selectedRelatedObservedActivity;
|
|
| 43 | 44 |
|
| 44 | 45 |
public ActivityLonglinePairingResult(ActivityReference activityLonglineLogbook, ImmutableList<ActivityLonglinePairingResultItem> items) {
|
| 45 | 46 |
this.activityLonglineLogbook = Objects.requireNonNull(activityLonglineLogbook);
|
| 46 | 47 |
this.items = Objects.requireNonNull(items);
|
| 48 |
+ fr.ird.observe.dto.data.ll.observation.ActivityReference relatedObservedActivity = activityLonglineLogbook.getRelatedObservedActivity();
|
|
| 49 |
+ selectedRelatedObservedActivity = relatedObservedActivity == null
|
|
| 50 |
+ ? null
|
|
| 51 |
+ : items.stream().filter(s -> relatedObservedActivity.equals(s.getObservationActivity()))
|
|
| 52 |
+ .findFirst()
|
|
| 53 |
+ .orElse(ActivityLonglinePairingResultItem.create(activityLonglineLogbook, relatedObservedActivity));
|
|
| 47 | 54 |
}
|
| 48 | 55 |
|
| 49 |
- public ActivityLonglinePairingResultItem getRelatedObservedActivity() {
|
|
| 50 |
- String relatedObservedActivityId = activityLonglineLogbook.getRelatedObservedActivityId();
|
|
| 51 |
- if (relatedObservedActivityId != null) {
|
|
| 52 |
- return items.stream().filter(s -> relatedObservedActivityId.equals(s.getObservationActivity().getId())).findFirst().orElseThrow(IllegalStateException::new);
|
|
| 53 |
- }
|
|
| 54 |
- return null;
|
|
| 56 |
+ public ActivityLonglinePairingResultItem getSelectedRelatedObservedActivity() {
|
|
| 57 |
+ return selectedRelatedObservedActivity;
|
|
| 55 | 58 |
}
|
| 56 | 59 |
|
| 57 | 60 |
public ActivityReference getActivityLonglineLogbook() {
|
| ... | ... | @@ -22,10 +22,12 @@ package fr.ird.observe.services.service.data.ll.pairing; |
| 22 | 22 |
* #L%
|
| 23 | 23 |
*/
|
| 24 | 24 |
|
| 25 |
+import fr.ird.observe.dto.data.ActivityAware;
|
|
| 25 | 26 |
import fr.ird.observe.dto.data.ll.observation.ActivityReference;
|
| 26 | 27 |
import fr.ird.observe.dto.spi.SimpleDto;
|
| 27 | 28 |
import io.ultreia.java4all.lang.Numbers;
|
| 28 | 29 |
|
| 30 |
+import java.util.Date;
|
|
| 29 | 31 |
import java.util.Objects;
|
| 30 | 32 |
import java.util.concurrent.TimeUnit;
|
| 31 | 33 |
|
| ... | ... | @@ -43,7 +45,15 @@ public class ActivityLonglinePairingResultItem implements SimpleDto { |
| 43 | 45 |
private final float computedDistance;
|
| 44 | 46 |
private String computedTimeStr;
|
| 45 | 47 |
|
| 46 |
- public ActivityLonglinePairingResultItem(ActivityReference observationActivity, long computedTime, double computedDistance) {
|
|
| 48 |
+ public static ActivityLonglinePairingResultItem create(ActivityAware activityLonglineLogbook, ActivityReference activityLonglineObsReference) {
|
|
| 49 |
+ Date logbookTimeStamp = activityLonglineLogbook.getTimeStamp();
|
|
| 50 |
+ Date obsTimeStamp = activityLonglineObsReference.getTimeStamp();
|
|
| 51 |
+ long computedTime = TimeUnit.MINUTES.convert(logbookTimeStamp.getTime() - obsTimeStamp.getTime(), TimeUnit.MILLISECONDS);
|
|
| 52 |
+ double computedDistance = activityLonglineLogbook.getGPSPoint().getDistanceInKm(activityLonglineObsReference.getGPSPoint());
|
|
| 53 |
+ return new ActivityLonglinePairingResultItem(activityLonglineObsReference, computedTime, computedDistance);
|
|
| 54 |
+ }
|
|
| 55 |
+ |
|
| 56 |
+ protected ActivityLonglinePairingResultItem(ActivityReference observationActivity, long computedTime, double computedDistance) {
|
|
| 47 | 57 |
this.observationActivity = observationActivity;
|
| 48 | 58 |
this.computedTime = computedTime;
|
| 49 | 59 |
this.computedDistance = Numbers.roundTwoDigits((float) computedDistance);
|