branch feature/7618 updated (f1801b5 -> 1aeef2a)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7618 in repository observe. See http://git.codelutin.com/observe.git discards f1801b5 migration des écrans des renconttre pour les palangre (refs #7618) adds 2582a8d Suppression de ObserveServiceHelper et ObserveApplicationContext adds d5fa2ff Reduction du temps de lock dans la configuration de la base h2 adds 6d2c40b Deplacement et renommage de l'exception technique de l'application swing adds 2faaf54 Deplacement de BinderService et renommage en ObserveSwingBinder + suppression IObserveConfig + ajout de deux FIXME adds dbc9837 Suppression de la méthode createOpeningBinder dans les modèles d'ui adds 1949400 - Suppression d'objets dans le paquetage business - Suppression de certainnes méthodes qui ne servent plus (createOpeningBinder) adds 7ad7c05 closing service factory at application shutdown adds 580ed6a Ajout de plus de log pour voir essayer de voir comment sont fermées les data source adds dd02f87 Correction du label d'un noeud de création + correction des traductions correspondantes new 1aeef2a migration des écrans des renconttre pour les palangre (refs #7618) This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (f1801b5) \ N -- N -- N refs/heads/feature/7618 (1aeef2a) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omits" are not gone; other references still refer to them. Any revisions marked "discards" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 1aeef2ae7d22b2b19b3dbd7d167e52dfd321a286 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Oct 21 17:35:09 2015 +0200 migration des écrans des renconttre pour les palangre (refs #7618) Summary of changes: .../main/java/fr/ird/observe/ObserveRunner.java | 29 +- .../java/fr/ird/observe/ObserveServiceHelper.java | 344 ----------------- .../observe/ObserveSwingApplicationContext.java | 143 ++++++- ...Service.java => ObserveSwingBinderService.java} | 4 +- ...on.java => ObserveSwingTechnicalException.java} | 12 +- .../fr/ird/observe/business/IObserveConfig.java | 411 --------------------- .../business/ObserveApplicationContext.java | 231 ------------ .../fr/ird/observe/business/SendMessageAble.java | 1 + .../fr/ird/observe/db/ObserveSwingDataSource.java | 4 +- .../observe/ui/actions/ShowStorageInfoAction.java | 10 +- .../fr/ird/observe/ui/admin/AdminTabUIHandler.java | 6 +- .../ui/admin/validate/ValidateUIHandler.java | 21 +- .../ird/observe/ui/content/ContentUIHandler.java | 32 +- .../ird/observe/ui/content/ContentUIManager.java | 12 +- .../fr/ird/observe/ui/content/ContentUIModel.java | 8 +- .../content/impl/longline/BranchlineUIModel.java | 37 -- .../longline/LonglineDetailCompositionUIModel.java | 27 -- .../longline/LonglineGlobalCompositionUIModel.java | 17 - .../content/impl/longline/SetLonglineUIModel.java | 68 ---- .../seine/ActivitySeineObservedSystemUIModel.java | 16 +- ...tingObjectTransmittingBuoyOperationUIModel.java | 15 - .../content/impl/seine/FloatingObjectUIModel.java | 18 - .../ui/content/impl/seine/SetSeineUIModel.java | 30 -- .../impl/longline/ActivityLonglinesUIModel.java | 27 +- .../list/impl/longline/TripLonglinesUIModel.java | 19 - .../list/impl/seine/ActivitySeinesUIModel.java | 32 -- .../ui/content/list/impl/seine/RoutesUIModel.java | 19 - .../content/list/impl/seine/TripSeinesUIModel.java | 19 - .../ui/content/open/ContentOpenableUIHandler.java | 7 +- .../impl/longline/ActivityLonglineUIModel.java | 33 +- .../open/impl/longline/TripLonglineUIModel.java | 31 -- .../open/impl/seine/ActivitySeineUIModel.java | 37 +- .../ui/content/open/impl/seine/RouteUIModel.java | 21 -- .../content/open/impl/seine/TripSeineUIModel.java | 31 -- .../ui/content/ref/ContentReferenceUIHandler.java | 10 +- .../ui/content/ref/ContentReferenceUIModel.java | 18 - .../ui/content/ref/ReferenceHomeUIModel.java | 7 - .../ui/content/table/ContentTableUIModel.java | 25 +- .../table/impl/longline/CatchLonglineUIModel.java | 4 +- .../table/impl/longline/SensorUsedUIHandler.java | 10 +- .../content/table/impl/longline/TdrUIHandler.java | 10 +- .../ui/content/table/impl/longline/TdrUIModel.java | 4 +- .../ird/observe/ui/storage/StorageUIHandler.java | 4 +- .../ui/storage/tabs/StorageTabUIHandler.java | 8 +- .../fr/ird/observe/ui/tree/DtoNodeSupport.java | 7 +- .../ui/util/tripMap/TripMapContentBuilder.java | 4 +- .../observe/ui/util/tripMap/TripMapUIHandler.java | 6 +- .../observe/validation/ObserveSwingValidator.java | 5 +- .../validation/ValidationMessageDetector.java | 5 +- .../observe-application-swing_en_GB.properties | 10 +- .../observe-application-swing_es_ES.properties | 12 +- .../observe-application-swing_fr_FR.properties | 12 +- ...glineDetailCompositionValidatorServiceTest.java | 12 +- .../observe/ObserveTopiaConfigurationFactory.java | 2 +- .../services/service/DataSourceServiceTopia.java | 28 +- 55 files changed, 289 insertions(+), 1686 deletions(-) delete mode 100644 observe-application-swing/src/main/java/fr/ird/observe/ObserveServiceHelper.java rename observe-application-swing/src/main/java/fr/ird/observe/{business/BinderService.java => ObserveSwingBinderService.java} (97%) rename observe-application-swing/src/main/java/fr/ird/observe/{business/ObserveTechnicalException.java => ObserveSwingTechnicalException.java} (75%) delete mode 100644 observe-application-swing/src/main/java/fr/ird/observe/business/IObserveConfig.java delete mode 100644 observe-application-swing/src/main/java/fr/ird/observe/business/ObserveApplicationContext.java -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7618 in repository observe. See http://git.codelutin.com/observe.git commit 1aeef2ae7d22b2b19b3dbd7d167e52dfd321a286 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Wed Oct 21 17:35:09 2015 +0200 migration des écrans des renconttre pour les palangre (refs #7618) --- .../content/table/impl/longline/EncounterUI.jaxx | 12 +++--- .../table/impl/longline/EncounterUIHandler.java | 42 ++++++++------------- .../table/impl/longline/EncounterUIModel.java | 44 +++++++++++++++------- .../ActivityLongLineEncouterServiceController.java | 5 ++- .../longline/ActivityLongLineEncouterService.java | 3 +- .../services/entity/EntitiesSetFactory.java | 7 +++- .../ActivityLongLineEncouterServiceTopia.java | 8 ++-- 7 files changed, 68 insertions(+), 53 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx index b869f83..6075382 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx @@ -21,19 +21,17 @@ --> <fr.ird.observe.ui.content.table.ContentTableUI - superGenericType='ActivityLonglineDto, EncounterDto' + superGenericType='ActivityLonglineEncouterDto, EncounterDto' contentTitle='{n("observe.encounter.title")}' saveNewEntryText='{n("observe.encounter.action.create")}' - saveNewEntryTip='{n("observe.encounter.action.create.tip")}' - - > + saveNewEntryTip='{n("observe.encounter.action.create.tip")}'> <style source="../../CommonTable.css"/> <import> fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto - fr.ird.observe.services.dto.longline.ActivityLonglineDto + fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto fr.ird.observe.services.dto.longline.EncounterDto fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.longline.EncounterTypeDto @@ -55,7 +53,7 @@ <EncounterUIModel id='model'/> <!-- edit bean --> - <ActivityLonglineDto id='bean'/> + <ActivityLonglineEncouterDto id='bean'/> <!-- table edit bean --> <EncounterDto id='tableEditBean'/> @@ -65,7 +63,7 @@ <!-- le validateur de l'écran --> <BeanValidator id='validator' autoField='true' context='n1-update-encounter' - beanClass='fr.ird.observe.services.dto.longline.ActivityLonglineDto' + beanClass='fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto' errorTableModel='{getErrorTableModel()}'/> <!-- le validateur d'une entrée de tableau --> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java index 81859fb..6285af6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java @@ -24,20 +24,21 @@ package fr.ird.observe.ui.content.table.impl.longline; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.business.db.constants.DataContextType; -import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.longline.ActivityLonglineDto; -import fr.ird.observe.services.dto.longline.ActivityLonglineDtos; +import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDtos; import fr.ird.observe.services.dto.longline.EncounterDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.longline.EncounterTypeDto; -import fr.ird.observe.services.service.longline.ActivityLonglineService; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.service.longline.ActivityLongLineEncouterService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.table.ContentTableUIHandler; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import javax.swing.*; +import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import static org.nuiton.i18n.I18n.n; @@ -48,7 +49,7 @@ import static org.nuiton.i18n.I18n.n; * @author Tony Chemit - chemit@codelutin.com * @since 3.7 */ -public class EncounterUIHandler extends ContentTableUIHandler<ActivityLonglineDto, EncounterDto> { +public class EncounterUIHandler extends ContentTableUIHandler<ActivityLonglineEncouterDto, EncounterDto> { /** Logger */ static private Log log = LogFactory.getLog(EncounterUIHandler.class); @@ -86,8 +87,8 @@ public class EncounterUIHandler extends ContentTableUIHandler<ActivityLonglineDt n("observe.encounter.table.count"), n("observe.encounter.table.count.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, EncounterTypeDto.class)); - UIHelper.setTableColumnRenderer(table, 1, UIHelper.newDecorateTableCellRenderer(renderer, SpeciesDto.class)); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, EncounterTypeDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 1, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SpeciesDto.class.getSimpleName())); UIHelper.setTableColumnRenderer(table, 2, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newEmptyNumberTableCellRenderer(renderer)); } @@ -98,30 +99,19 @@ public class EncounterUIHandler extends ContentTableUIHandler<ActivityLonglineDt } @Override - public void initUI() throws Exception { - - // add a listPredicate to get only species from the correct configured speciesList - ObserveSwingApplicationConfig config = getUi().getContextValue(ObserveSwingApplicationConfig.class); - String speciesListId = config.getSpeciesListLonglineEncounterId(); - prepareSpeciesList(speciesListId, getUi().getSpecies() , n("observe.error.speciesList.longline.encounter.notFound")); - - super.initUI(); - - } - - @Override - protected void doPersist(ActivityLonglineDto bean) { - getActivityLonglineService().save(getSelectedParentId(), bean); + protected void doPersist(ActivityLonglineEncouterDto bean) { + SaveResultDto saveResultDtoave = getActivityLongLineEncouterService().save(bean); + bean.setLastUpdate(saveResultDtoave.getLastUpdate()); } @Override protected void loadEditBean(String beanId) { - FormDto<ActivityLonglineDto> formDto = getActivityLonglineService().loadToEdit(beanId); + FormDto<ActivityLonglineEncouterDto> formDto = getActivityLongLineEncouterService().loadToEdit(beanId); getModel().setFormDto(formDto); - ActivityLonglineDtos.copyActivityLonglineDto(formDto.getForm(), getBean()); + ActivityLonglineEncouterDtos.copyActivityLonglineEncouterDto(formDto.getForm(), getBean()); } - protected ActivityLonglineService getActivityLonglineService() { - return ObserveSwingApplicationContext.get().newService(ActivityLonglineService.class); + protected ActivityLongLineEncouterService getActivityLongLineEncouterService() { + return ObserveSwingApplicationContext.get().newService(ActivityLongLineEncouterService.class); } } \ No newline at end of file diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIModel.java index 3ee0fb9..d0a28e2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIModel.java @@ -23,13 +23,15 @@ package fr.ird.observe.ui.content.table.impl.longline; */ import com.google.common.collect.Lists; -import fr.ird.observe.services.dto.longline.ActivityLonglineDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; import fr.ird.observe.services.dto.longline.EncounterDto; +import fr.ird.observe.services.dto.longline.EncounterDtos; import fr.ird.observe.ui.content.table.ContentTableMeta; import fr.ird.observe.ui.content.table.ContentTableModel; import fr.ird.observe.ui.content.table.ContentTableUIModel; import fr.ird.observe.ui.content.table.ObserveContentTableUI; +import java.util.Collection; import java.util.List; /** @@ -38,21 +40,21 @@ import java.util.List; * @author Tony Chemit - chemit@codelutin.com * @since 3.7 */ -public class EncounterUIModel extends ContentTableUIModel<ActivityLonglineDto, EncounterDto> { +public class EncounterUIModel extends ContentTableUIModel<ActivityLonglineEncouterDto, EncounterDto> { private static final long serialVersionUID = 1L; public EncounterUIModel(EncounterUI ui) { - super(ActivityLonglineDto.class, + super(ActivityLonglineEncouterDto.class, EncounterDto.class, new String[]{ - //FIXME -// ActivityLonglineDto.PROPERTY_ENCOUNTER, - ActivityLonglineDto.PROPERTY_COMMENT}, - new String[]{EncounterDto.PROPERTY_SPECIES, - EncounterDto.PROPERTY_DISTANCE, - EncounterDto.PROPERTY_COUNT, - EncounterDto.PROPERTY_ENCOUNTER_TYPE}); + ActivityLonglineEncouterDto.PROPERTY_ENCOUNTER, + ActivityLonglineEncouterDto.PROPERTY_COMMENT}, + new String[]{ + EncounterDto.PROPERTY_SPECIES, + EncounterDto.PROPERTY_DISTANCE, + EncounterDto.PROPERTY_COUNT, + EncounterDto.PROPERTY_ENCOUNTER_TYPE}); List<ContentTableMeta<EncounterDto>> metas = Lists.newArrayList( ContentTableModel.newTableMeta(EncounterDto.class, EncounterDto.PROPERTY_ENCOUNTER_TYPE, false), @@ -65,8 +67,24 @@ public class EncounterUIModel extends ContentTableUIModel<ActivityLonglineDto, E } @Override - protected ContentTableModel<ActivityLonglineDto, EncounterDto> createTableModel(ObserveContentTableUI<ActivityLonglineDto, EncounterDto> ui, List<ContentTableMeta<EncounterDto>> contentTableMetas) { - // FIXME - return null; + protected ContentTableModel<ActivityLonglineEncouterDto, EncounterDto> createTableModel( + ObserveContentTableUI<ActivityLonglineEncouterDto, EncounterDto> ui, + List<ContentTableMeta<EncounterDto>> contentTableMetas) { + return new ContentTableModel<ActivityLonglineEncouterDto, EncounterDto>(ui, contentTableMetas) { + @Override + protected Collection<EncounterDto> getChilds(ActivityLonglineEncouterDto bean) { + return bean.getEncounter(); + } + + @Override + protected void load(EncounterDto source, EncounterDto target) { + EncounterDtos.copyEncounterDto(source, target); + } + + @Override + protected void setChilds(ActivityLonglineEncouterDto parent, List<EncounterDto> childs) { + parent.setEncounter(childs); + } + }; } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineEncouterServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineEncouterServiceController.java index b4655c8..6230410 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineEncouterServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineEncouterServiceController.java @@ -25,6 +25,7 @@ package fr.ird.observe.application.web.controller.v1.longline; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.ActivityLongLineEncouterService; /** @@ -47,7 +48,7 @@ public class ActivityLongLineEncouterServiceController extends ObserveAuthentica } @Override - public String save(FormDto<ActivityLonglineEncouterDto> form) { - return service.save(form); + public SaveResultDto save(ActivityLonglineEncouterDto dto) { + return service.save(dto); } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterService.java index 6caa913..a47b8a0 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterService.java @@ -25,6 +25,7 @@ package fr.ird.observe.services.service.longline; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; import fr.ird.observe.services.spi.Write; @@ -44,6 +45,6 @@ public interface ActivityLongLineEncouterService extends ObserveService { @WriteDataPermission @Write @PostRequest - String save(FormDto<ActivityLonglineEncouterDto> form); + SaveResultDto save(ActivityLonglineEncouterDto dto); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesSetFactory.java b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesSetFactory.java index 7d19cc2..488666e 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesSetFactory.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesSetFactory.java @@ -5,6 +5,7 @@ import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.ImmutableMap; import fr.ird.observe.entities.Entities; +import fr.ird.observe.entities.longline.Encounter; import fr.ird.observe.entities.longline.TripLongline; import fr.ird.observe.entities.referentiel.Person; import fr.ird.observe.entities.referentiel.Persons; @@ -112,7 +113,11 @@ public class EntitiesSetFactory { NonTargetCatch.PROPERTY_SPECIES, speciesListConfiguration.getSpeciesListSeineNonTargetCatchId()); - + // Encounter + registerSpeciesListEntitiesSet(builder, + Encounter.class, + Encounter.PROPERTY_SPECIES, + speciesListConfiguration.getSpeciesListLonglineEncounterId()); this.cache = builder.build(); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java index 03e6aaa..8fc6cd7 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java @@ -30,6 +30,8 @@ import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; import fr.ird.observe.services.dto.longline.EncounterDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.longline.EncounterTypeDto; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -64,13 +66,13 @@ public class ActivityLongLineEncouterServiceTopia extends ObserveServiceTopia im } @Override - public String save(FormDto<ActivityLonglineEncouterDto> form) { + public SaveResultDto save(ActivityLonglineEncouterDto dto) { - ActivityLongline activityLongline = dtoToEntity(ActivityLonglineEncouterDto.class, ActivityLongline.class, form.getForm()); + ActivityLongline activityLongline = dtoToEntity(ActivityLonglineEncouterDto.class, ActivityLongline.class, dto); activityLongline = saveEntity(ActivityLongline.class, activityLongline); - return activityLongline.getTopiaId(); + return SaveResultDtos.newSaveResult(activityLongline.getTopiaId(), activityLongline.getLastUpdate()); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
participants (1)
-
codelutin.com scm