Tony CHEMIT pushed to branch develop at ultreiaio / ird-observe Commits: 2cade367 by Tony CHEMIT at 2017-07-26T13:43:11+02:00 optimiser la détection des objets flottants de référence (See #796) - - - - - 90699b0c by Tony CHEMIT at 2017-07-26T13:47:43+02:00 Ajouter une option pour ne pas demander une correspondance exacte entre la version du client et serveur (See #800) - - - - - 8a625d36 by Tony CHEMIT at 2017-07-26T13:48:18+02:00 Improve contributing guide - - - - - 11 changed files: - CONTRIBUTING.md - application-swing-configuration/src/main/config/ObserveSwingApplication.ini - application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties - application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties - application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties - application-swing/src/main/java/fr/ird/observe/application/swing/FloatingObjectReferencesManager.java - application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/menu/config/ShowConfigAction.java - application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIModel.java - application-web/src/main/filtered-resources/mapping - services-topia/src/main/java/fr/ird/observe/services/topia/service/data/seine/FloatingObjectServiceTopia.java - services/src/main/java/fr/ird/observe/services/service/data/seine/FloatingObjectService.java Changes: ===================================== CONTRIBUTING.md ===================================== --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -48,6 +48,14 @@ wget -q -O - https://gitlab.com/ultreiaio/pom/raw/master/bin/update-staging-chan mvn clean verify site -DperformRelease scm-publish:publish-scm ``` +# Deploy latest demo + +``` +wget -q -O - https://gitlab.com/ultreiaio/pom/raw/master/bin/execute-maven.sh | sed 's/$1/-Padd-git-commit-id-to-project-version -N/' | bash +wget -q -O - https://gitlab.com/ultreiaio/pom/raw/master/bin/execute-maven.sh | sed 's/$1/install -am -pl application-web -DskipTests -Pdeploy-demo -Dclassifier=latest/' | bash +``` + + # Add a referential Example for *seine.ObjectMaterialType* on version *6.901* ===================================== application-swing-configuration/src/main/config/ObserveSwingApplication.ini ===================================== --- a/application-swing-configuration/src/main/config/ObserveSwingApplication.ini +++ b/application-swing-configuration/src/main/config/ObserveSwingApplication.ini @@ -520,6 +520,12 @@ key = http.timeout type = int defaultValue = 30000 +[option checkServerVersion] +description = observe.config.checkServerVersion.description +key = server.checkServerVersion +type = Boolean +defaultValue = true + [action help] description = observe.action.commandline.help action = "fr.ird.observe.application.swing.ObserveCLAction#help" ===================================== application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties ===================================== --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_en_GB.properties @@ -15,6 +15,7 @@ observe.config.backupsFile.description=File to store backups informations observe.config.build.date=Build date observe.config.build.number=Build number observe.config.build.version=Build version +observe.config.checkServerVersion.description=Should we check client and server version exact match ? observe.config.configFileName.description=Configuration filename observe.config.coordinate.format=Position format (DMD, DD, DMS) observe.config.db.locale=Language of data source ===================================== application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties ===================================== --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_es_ES.properties @@ -15,6 +15,7 @@ observe.config.backupsFile.description=File to store backups informations \#TODO observe.config.build.date=Build date \#TODO observe.config.build.number=Build number \#TODO observe.config.build.version=Build version \#TODO +observe.config.checkServerVersion.description=Should we check client and server version exact match ? \#TODO observe.config.configFileName.description=Nombre del archivo de configuración observe.config.coordinate.format=Position format (DMD, DD, DMS) \#TODO observe.config.db.locale=Idioma del referencial ===================================== application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties ===================================== --- a/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties +++ b/application-swing-configuration/src/main/resources/i18n/application-swing-configuration_fr_FR.properties @@ -15,6 +15,7 @@ observe.config.backupsFile.description=Fichier des informations des sauvegardes observe.config.build.date=Date de version observe.config.build.number=Numéro de build observe.config.build.version=Numéro de version +observe.config.checkServerVersion.description=Vérifier la correspondance exacte entre les versions du client et serveur REST ? observe.config.configFileName.description=Le nom du fichier de configuration observe.config.coordinate.format=Format des positions (DMD, DD, DMS) observe.config.db.locale=La langue du référentiel ===================================== application-swing/src/main/java/fr/ird/observe/application/swing/FloatingObjectReferencesManager.java ===================================== --- a/application-swing/src/main/java/fr/ird/observe/application/swing/FloatingObjectReferencesManager.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/FloatingObjectReferencesManager.java @@ -73,7 +73,8 @@ public class FloatingObjectReferencesManager { void sanitize(ObserveSwingDataSource dataSource) { - Set<String> ids = dataSource.newFloatingObjectService().getAllIds(); + Set<String> existingIds = references.stream().map(FloatingObjectReference::getFloatingObjectId).collect(Collectors.toSet()); + Set<String> ids = dataSource.newFloatingObjectService().retainExistingIds(existingIds); int beforeSize = references.size(); references.removeIf(reference -> !ids.contains(reference.getFloatingObjectId())); ===================================== application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/menu/config/ShowConfigAction.java ===================================== --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/menu/config/ShowConfigAction.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/actions/menu/config/ShowConfigAction.java @@ -268,6 +268,7 @@ public class ShowConfigAction extends AbstractUIAction { helper.addOption(ObserveSwingApplicationConfigOption.BACKUP_USE); helper.addOption(ObserveSwingApplicationConfigOption.BACKUP_DELAY); helper.addOption(ObserveSwingApplicationConfigOption.BACKUP_AT_CLOSE); + helper.addOption(ObserveSwingApplicationConfigOption.CHECK_SERVER_VERSION); helper.addOption(ObserveSwingApplicationConfigOption.CHANGE_SYNCHRO_SRC); helper.addOption(ObserveSwingApplicationConfigOption.H2_CAN_MIGRATE); ===================================== application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIModel.java ===================================== --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIModel.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/storage/StorageUIModel.java @@ -1690,7 +1690,7 @@ public class StorageUIModel extends WizardModel<StorageStep> { if (clientVersion.isSnapshot()) { clientVersion = Versions.removeSnapshot(clientVersion); } - if (!Objects.equals(serverVersion, clientVersion)) { + if (ObserveSwingApplicationContext.get().getConfig().isCheckServerVersion() && !Objects.equals(serverVersion, clientVersion)) { connexionStatusError = t("observe.storage.error.serverVersionMismatch", serverVersion, clientVersion); ===================================== application-web/src/main/filtered-resources/mapping ===================================== --- a/application-web/src/main/filtered-resources/mapping +++ b/application-web/src/main/filtered-resources/mapping @@ -152,7 +152,6 @@ GET /api/v1/data/seine/ActivitySeineService/preCreate POST /api/v1/data/seine/ActivitySeineService/save v1.data.seine.ActivitySeineServiceRestApi.save DELETE /api/v1/data/seine/FloatingObjectService/delete v1.data.seine.FloatingObjectServiceRestApi.delete GET /api/v1/data/seine/FloatingObjectService/exists v1.data.seine.FloatingObjectServiceRestApi.exists -GET /api/v1/data/seine/FloatingObjectService/getAllIds v1.data.seine.FloatingObjectServiceRestApi.getAllIds GET /api/v1/data/seine/FloatingObjectService/getFloatingObjectByActivitySeine v1.data.seine.FloatingObjectServiceRestApi.getFloatingObjectByActivitySeine GET /api/v1/data/seine/FloatingObjectService/getFloatingObjectPartByFloatingObject v1.data.seine.FloatingObjectServiceRestApi.getFloatingObjectPartByFloatingObject GET /api/v1/data/seine/FloatingObjectService/getObjectMaterialHierarchyForDetailedForm v1.data.seine.FloatingObjectServiceRestApi.getObjectMaterialHierarchyForDetailedForm @@ -161,6 +160,7 @@ GET /api/v1/data/seine/FloatingObjectService/loadDto GET /api/v1/data/seine/FloatingObjectService/loadForm v1.data.seine.FloatingObjectServiceRestApi.loadForm GET /api/v1/data/seine/FloatingObjectService/loadReferenceToRead v1.data.seine.FloatingObjectServiceRestApi.loadReferenceToRead GET /api/v1/data/seine/FloatingObjectService/preCreate v1.data.seine.FloatingObjectServiceRestApi.preCreate +GET /api/v1/data/seine/FloatingObjectService/retainExistingIds v1.data.seine.FloatingObjectServiceRestApi.retainExistingIds POST /api/v1/data/seine/FloatingObjectService/save v1.data.seine.FloatingObjectServiceRestApi.save POST /api/v1/data/seine/FloatingObjectService/save v1.data.seine.FloatingObjectServiceRestApi.save GET /api/v1/data/seine/NonTargetCatchReleaseService/getSampleSpecies v1.data.seine.NonTargetCatchReleaseServiceRestApi.getSampleSpecies ===================================== services-topia/src/main/java/fr/ird/observe/services/topia/service/data/seine/FloatingObjectServiceTopia.java ===================================== --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/seine/FloatingObjectServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/seine/FloatingObjectServiceTopia.java @@ -102,8 +102,10 @@ public class FloatingObjectServiceTopia extends ObserveServiceTopia implements F } @Override - public Set<String> getAllIds() { - return new LinkedHashSet<>(getTopiaPersistenceContext().getFloatingObjectDao().findAllIds()); + public Set<String> retainExistingIds(Set<String> existingIds) { + LinkedHashSet<String> result = new LinkedHashSet<>(existingIds); + result.retainAll(getTopiaPersistenceContext().getFloatingObjectDao().findAllIds()); + return result; } @Override ===================================== services/src/main/java/fr/ird/observe/services/service/data/seine/FloatingObjectService.java ===================================== --- a/services/src/main/java/fr/ird/observe/services/service/data/seine/FloatingObjectService.java +++ b/services/src/main/java/fr/ird/observe/services/service/data/seine/FloatingObjectService.java @@ -63,7 +63,7 @@ public interface FloatingObjectService extends ObserveService { @Get @ReadDataPermission - Set<String> getAllIds(); + Set<String> retainExistingIds(Set<String> existingIds); @Get @ReadDataPermission View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/3b8b5d1a4b5830712a0ecf30383... --- View it on GitLab: https://gitlab.com/ultreiaio/ird-observe/compare/3b8b5d1a4b5830712a0ecf30383... You're receiving this email because of your account on gitlab.com.