From d4f0338195d1fa9879aa8de07ef8604c448d45f1 Mon Sep 17 00:00:00 2001 From: philippe tcheriatinsky <philippe.tcherniatinsky@inrae.fr> Date: Wed, 20 Nov 2024 10:52:06 +0100 Subject: [PATCH 01/13] modification pgadmin --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 843b904..61165e6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,7 +22,7 @@ services: networks: - default pgadmin: - image: dpage/pgadmin4:8.11 + image: dpage/pgadmin4:8.13 ports: - "8083:80" volumes: -- GitLab From 01531be5cc51b313278689706588e96527d5b73d Mon Sep 17 00:00:00 2001 From: philippe tcheriatinsky <philippe.tcherniatinsky@inrae.fr> Date: Wed, 20 Nov 2024 10:52:37 +0100 Subject: [PATCH 02/13] Ajout des details pour health --- src/main/resources/application.properties | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 9f3b183..3717e18 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -33,6 +33,13 @@ management.endpoints.web.exposure.include=${MANAGEMENT_ENDPOINT_WEB_EXPOSURE_INC management.info.env.enabled=true management.info.build.enabled=true management.info.git.enabled=true +management.health.mail.enabled=true +management.health.db.enabled=true +management.health.ping.enabled=true +management.health.diskspace.enabled=true +management.endpoint.health.show-components=always +management.endpoint.health.show-details=always + info.application.name=openADOM Application info.application.description=This is the openAdom application info.application.version=2.0.1 -- GitLab From 688350fb97f5ed193265fd71c1d72bf7e6ac921b Mon Sep 17 00:00:00 2001 From: philippe tcheriatinsky <philippe.tcherniatinsky@inrae.fr> Date: Wed, 20 Nov 2024 13:43:20 +0100 Subject: [PATCH 03/13] Correction des roles --- README.md | 3 +-- .../fr/inra/oresing/persistence/AuthenticationService.java | 2 +- src/main/java/fr/inra/oresing/persistence/UserRepository.java | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index eca2744..eb18153 100644 --- a/README.md +++ b/README.md @@ -97,9 +97,8 @@ Afin d'essayer l'application, il faut pouvoir se connecter. Il faut pour cela cr INSERT INTO OreSiUser (id, login, password, email, accountstate, authorizations) values ('5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9'::uuid, 'openadom','$2a$12$4gAH34ZwgvgQNS0pbR5dGem1Nle0AT/.UwrZWfqtqMiJ0hXeYMvUG', 'poussin@inrae.fr', 'active','{}'); DROP ROLE IF EXISTS "5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9"; CREATE ROLE "5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9"; -COMMENT ON ROLE "5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9" IS 'openadom' +COMMENT ON ROLE "5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9" IS 'openadom'; GRANT "openAdomAdmin" TO "5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9" WITH INHERIT TRUE; --- Permettre à openAdomTechUser de se connecter en tant que ce rôle GRANT "5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9" TO "openAdomTechUser" WITH INHERIT TRUE; ``` diff --git a/src/main/java/fr/inra/oresing/persistence/AuthenticationService.java b/src/main/java/fr/inra/oresing/persistence/AuthenticationService.java index bdec1b4..ff53f0d 100644 --- a/src/main/java/fr/inra/oresing/persistence/AuthenticationService.java +++ b/src/main/java/fr/inra/oresing/persistence/AuthenticationService.java @@ -128,7 +128,7 @@ public class AuthenticationService { final Predicate<OreSiUser> checkPassword = user -> BCrypt.verifyer() .verify(password.toCharArray(), user.getPassword().toCharArray()) .verified; - CurrentUserRoles currentUserRoles = getCurrentUserRoles(); + CurrentUserRoles currentUserRoles = getCurrentUserRoles(getByIdOrLogin(login).getId().toString()); LoginAdminResult loginAdminResult = userRepository.findByLogin(login) .filter(checkPassword) .map(user -> toLoginResult(user, currentUserRoles)) diff --git a/src/main/java/fr/inra/oresing/persistence/UserRepository.java b/src/main/java/fr/inra/oresing/persistence/UserRepository.java index 4df7e82..7e02ae9 100644 --- a/src/main/java/fr/inra/oresing/persistence/UserRepository.java +++ b/src/main/java/fr/inra/oresing/persistence/UserRepository.java @@ -164,7 +164,7 @@ public class UserRepository extends JsonTableRepositoryTemplate<OreSiUser> imple WHERE m_1.member = t_1.grpid ) SELECT COALESCE(:rolename, CURRENT_USER) currentuser,r.rolname AS usrname,t.issuper issuper, - array_agg(m.rolname) memberof + array_agg(DISTINCT m.rolname) memberof FROM membership_tree t, pg_roles r, pg_roles m WHERE t.grpid = m.oid AND t.userid = r.oid AND COALESCE(:rolename, CURRENT_USER)=r.rolname -- GitLab From b755cd12b230f3d720ad90ee37d813266f1c931b Mon Sep 17 00:00:00 2001 From: philippe tcheriatinsky <philippe.tcherniatinsky@inrae.fr> Date: Wed, 20 Nov 2024 17:47:19 +0100 Subject: [PATCH 04/13] =?UTF-8?q?Modification=20des=20r=C3=B4les=20ajout?= =?UTF-8?q?=20dans=20application(s)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../authorization/role/CurrentUserRoles.java | 48 +++++++++++++------ .../persistence/AuthenticationService.java | 37 +++++++++----- .../fr/inra/oresing/rest/OreSiService.java | 13 +++-- .../application/ApplicationLightResult.java | 43 +++++++++++++++++ .../model/application/ApplicationResult.java | 4 +- .../CurrentApplicationUserRolesResult.java | 28 +++++++++++ .../authorization/CurrentUserRolesResult.java | 29 +++++++++++ .../model/authorization/LoginAdminResult.java | 4 +- .../inra/oresing/rest/OreSiResourcesTest.java | 4 +- 9 files changed, 172 insertions(+), 38 deletions(-) create mode 100644 src/main/java/fr/inra/oresing/rest/model/application/ApplicationLightResult.java create mode 100644 src/main/java/fr/inra/oresing/rest/model/authorization/CurrentApplicationUserRolesResult.java create mode 100644 src/main/java/fr/inra/oresing/rest/model/authorization/CurrentUserRolesResult.java diff --git a/src/main/java/fr/inra/oresing/domain/repository/authorization/role/CurrentUserRoles.java b/src/main/java/fr/inra/oresing/domain/repository/authorization/role/CurrentUserRoles.java index db3c525..7359c85 100644 --- a/src/main/java/fr/inra/oresing/domain/repository/authorization/role/CurrentUserRoles.java +++ b/src/main/java/fr/inra/oresing/domain/repository/authorization/role/CurrentUserRoles.java @@ -4,53 +4,59 @@ import fr.inra.oresing.domain.OreSiUser; import fr.inra.oresing.domain.application.Application; import java.util.List; +import java.util.Map; import java.util.Optional; import java.util.UUID; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import java.util.stream.Collectors; -public record CurrentUserRoles (List<String> memberOf, boolean isDataBaseSuper, OreSiUser user){ +public record CurrentUserRoles(List<String> memberOf, boolean isDataBaseSuper, OreSiUser user) { - public static final CurrentUserRoles EMPTY = new CurrentUserRoles( null, false,null); + public static final CurrentUserRoles EMPTY = new CurrentUserRoles(null, false, null); public CurrentUserRoles(final String currentUser, final List<String> memberOf) { - this(memberOf,false,null); + this(memberOf, false, null); } - public String userLogin(){ + public String userLogin() { return Optional.ofNullable(user).map(OreSiUser::getLogin).orElse(null); } - public UUID userId(){ + public UUID userId() { return Optional.ofNullable(user).map(OreSiUser::getId).orElse(null); } - public boolean isOpenAdomAdmin(){ + public boolean isOpenAdomAdmin() { return memberOf().contains(OreSiRole.openAdomAdmin().getAsSqlRole()); } - public static CurrentUserRoles empty(){ + public static CurrentUserRoles empty() { return EMPTY; } - public boolean isApplicationCreator(){ + + public boolean isApplicationCreator() { return Optional.ofNullable(memberOf()) .map(roles -> roles.stream() .anyMatch(List.of( OreSiRole.applicationCreator().getAsSqlRole(), OreSiRole.openAdomAdmin().getAsSqlRole() - )::contains) + )::contains) ) .orElse(false); } public CurrentUserRoles( - final List<String> memberOf, - final boolean isDataBaseSuper, - final OreSiUser user) { - this.memberOf = memberOf==null?List.of():List.copyOf(memberOf); + final List<String> memberOf, + final boolean isDataBaseSuper, + final OreSiUser user) { + this.memberOf = memberOf == null ? List.of() : List.copyOf(memberOf); this.isDataBaseSuper = isDataBaseSuper; this.user = user; } - public CurrentUserRoles withUSer(OreSiUser user){ + + public CurrentUserRoles withUSer(OreSiUser user) { return new CurrentUserRoles(memberOf(), isDataBaseSuper(), user); } @@ -61,4 +67,18 @@ public record CurrentUserRoles (List<String> memberOf, boolean isDataBaseSuper, public boolean userManagerOf(Application application) { return memberOf().contains(OreSiRole.userManagerOf(application).getAsSqlRole()); } + + public Map<String, List<String>> applicationRoles() { + return memberOf().stream() + .map(Pattern.compile("(.*)_(applicationManager|userManager|reader|writer)")::matcher) + .filter(Matcher::matches) + .collect(Collectors.groupingBy( + m -> m.group(1), + Collectors.mapping(m -> m.group(2), Collectors.toList()) + )); + } + + public List<String> applicationRoles(UUID applicationid) { + return applicationRoles().get(applicationid.toString()); + } } \ No newline at end of file diff --git a/src/main/java/fr/inra/oresing/persistence/AuthenticationService.java b/src/main/java/fr/inra/oresing/persistence/AuthenticationService.java index ff53f0d..006d7c4 100644 --- a/src/main/java/fr/inra/oresing/persistence/AuthenticationService.java +++ b/src/main/java/fr/inra/oresing/persistence/AuthenticationService.java @@ -8,6 +8,7 @@ import fr.inra.oresing.domain.repository.authorization.role.*; import fr.inra.oresing.mail.EmailService; import fr.inra.oresing.domain.OreSiUser; import fr.inra.oresing.rest.CreateUserRequest; +import fr.inra.oresing.rest.model.authorization.CurrentUserRolesResult; import fr.inra.oresing.rest.CreateUserResult; import fr.inra.oresing.rest.OreSiApiRequestContext; import fr.inra.oresing.domain.exceptions.authentication.authentication.NotopenAdomAdminException; @@ -68,7 +69,6 @@ public class AuthenticationService { /** * Utilise le rôle de l'utilisateur courant pour l'accès à la base de données. - * */ public OreSiRoleToAccessDatabase setRoleForClient() { final OreSiRoleToAccessDatabase roleToAccessDatabase = request.getRequestClient().role(); @@ -78,7 +78,6 @@ public class AuthenticationService { /** * Prend le role du openAdomAdmin qui a le droit de tout faire - * */ public OreSiopenAdomAdminRole setRoleAdmin() { setRole(OreSiRole.openAdomAdmin()); @@ -88,7 +87,6 @@ public class AuthenticationService { /** * Prend le role du user passe en parametre, les requetes suivant ne pourra * pas faire des choses que l'utilisateur n'a pas le droit de faire - * */ OreSiRoleToAccessDatabase setRole(final OreSiRoleToAccessDatabase roleToAccessDatabase) { db.setRole(roleToAccessDatabase); @@ -128,7 +126,12 @@ public class AuthenticationService { final Predicate<OreSiUser> checkPassword = user -> BCrypt.verifyer() .verify(password.toCharArray(), user.getPassword().toCharArray()) .verified; - CurrentUserRoles currentUserRoles = getCurrentUserRoles(getByIdOrLogin(login).getId().toString()); + CurrentUserRoles currentUserRoles = Optional.ofNullable(login) + .map(this::getByIdOrLogin) + .map(OreSiUser::getId) + .map(UUID::toString) + .map(this::getCurrentUserRoles) + .orElse(null); LoginAdminResult loginAdminResult = userRepository.findByLogin(login) .filter(checkPassword) .map(user -> toLoginResult(user, currentUserRoles)) @@ -190,7 +193,7 @@ public class AuthenticationService { oreSiUser.getLogin(), oreSiUser.getEmail(), oreSiUser.getAccountstate().name(), - currentUserRoles, + CurrentUserRolesResult.of(currentUserRoles), oreSiUser.getAuthorizations(), oreSiUser.getChartes() ); @@ -484,14 +487,15 @@ public class AuthenticationService { return rolesForRole.memberOf().contains(role.getAsSqlRole()); } - public CurrentUserRoles getCurrentUserRoles(){ + public CurrentUserRoles getCurrentUserRoles() { return userRepository.getRolesForCurrentUser(); } - public CurrentUserRoles getCurrentUserRoles(String userIdOrRoleName){ + + public CurrentUserRoles getCurrentUserRoles(String userIdOrRoleName) { Optional<OreSiUser> oreSiUser = Optional.ofNullable(userIdOrRoleName) .flatMap(userRepository::findByLoginOrId); CurrentUserRoles rolesForCurrentUser = userRepository.getRolesForCurrentUser(userIdOrRoleName); - if(oreSiUser.isPresent()) { + if (oreSiUser.isPresent()) { rolesForCurrentUser = rolesForCurrentUser.withUSer(oreSiUser.get()); } return rolesForCurrentUser; @@ -502,7 +506,7 @@ public class AuthenticationService { } public List<LoginApplicationResult> getApplicationAuthorizations(Application application) { - Function<Map<String, Timestamp>, Timestamp> getCharteTimestamp = chartes->chartes.get(application.getId().toString()); + Function<Map<String, Timestamp>, Timestamp> getCharteTimestamp = chartes -> chartes.get(application.getId().toString()); CurrentUserRoles currentUserRolesForCurrentUser = getCurrentUserRoles(); if (currentUserRolesForCurrentUser.applicationManagerOf(application)) { return userRepository.findAll().stream() @@ -558,14 +562,14 @@ public class AuthenticationService { .filter(oreSiUser -> OreSiUser.OreSiUserStates.active == oreSiUser.getAccountstate()) .map(user -> { OreSiUserRole userRole = getUserRole(user.getId()); - return toLoginResult(user,getCurrentUserRoles(userRole.getAsSqlRole())); + return toLoginResult(user, getCurrentUserRoles(userRole.getAsSqlRole())); }) .collect(Collectors.toList()); } else if (currentUserRoles.isApplicationCreator()) { return userRepository.findAll().stream() .map(user -> { OreSiUserRole userRole = getUserRole(user.getId()); - return toLoginResult(user,getCurrentUserRoles(userRole.getAsSqlRole())); + return toLoginResult(user, getCurrentUserRoles(userRole.getAsSqlRole())); }) .collect(Collectors.toList()); } else { @@ -574,7 +578,16 @@ public class AuthenticationService { } public OreSiUser getByIdOrLogin(final String userIdOrLogin) { - return userRepository.findByLogin(userIdOrLogin).orElseGet(() -> userRepository.findById(UUID.fromString(userIdOrLogin))); + return userRepository.findByLogin(userIdOrLogin) + .orElseGet(() -> { + UUID id = null; + try { + id = UUID.fromString(userIdOrLogin); + } catch (Exception e) { + return null; + } + return userRepository.findById(id); + }); } @Transactional diff --git a/src/main/java/fr/inra/oresing/rest/OreSiService.java b/src/main/java/fr/inra/oresing/rest/OreSiService.java index 1a7c4ec..6a5354b 100644 --- a/src/main/java/fr/inra/oresing/rest/OreSiService.java +++ b/src/main/java/fr/inra/oresing/rest/OreSiService.java @@ -30,6 +30,7 @@ import fr.inra.oresing.domain.filesenderclient.FileSenderInternationalisation; import fr.inra.oresing.domain.filesenderclient.FileSenderInternationalisationForBuildBundleReport; import fr.inra.oresing.domain.filesenderclient.FileSenderInternationalisationForDownloadDatasetQuery; import fr.inra.oresing.domain.groovy.GroovyContextHelper; +import fr.inra.oresing.domain.repository.authorization.role.CurrentUserRoles; import fr.inra.oresing.domain.repository.authorization.role.OreSiUserRole; import fr.inra.oresing.domain.rightsrequest.RightsRequest; import fr.inra.oresing.domain.repository.authorization.OperationType; @@ -45,6 +46,7 @@ import fr.inra.oresing.rest.model.additionalfiles.AdditionalBinaryFileResult; import fr.inra.oresing.rest.model.additionalfiles.CreateAdditionalFileRequest; import fr.inra.oresing.rest.model.additionalfiles.exception.AdditionalFileParamsParsingResult; import fr.inra.oresing.rest.model.additionalfiles.exceptions.BadAdditionalFileParamsSearchException; +import fr.inra.oresing.rest.model.application.ApplicationLightResult; import fr.inra.oresing.rest.model.application.ApplicationResult; import fr.inra.oresing.rest.model.authorization.*; import fr.inra.oresing.rest.model.data.DefaultLineCheckerResult; @@ -226,7 +228,7 @@ public class OreSiService { final String nameOrId = application.getId().toString(); Map<String, Map<AuthorizationsForUserResult.Roles, Boolean>> authorizations = withDatatypes || withReferenceType ? getAuthorizationsDatatypesRights(nameOrId, datatypeComponents.keySet()) : new HashMap<>(); final Configuration configuration = withConfiguration ? application.getConfiguration() : null; - final Boolean isAdministrator = isAdmnistrator(application); + CurrentUserRoles currentUserRoles = authenticationService.getCurrentUserRoles(); final ApplicationResult applicationResult = new ApplicationResult( application.getId().toString(), Optional.ofNullable(application).map(Application::getName).orElseThrow(IllegalArgumentException::new), @@ -247,7 +249,7 @@ public class OreSiService { additionalFilesWithFields, rightsRequest, configuration, - isAdministrator, + CurrentApplicationUserRolesResult.of(currentUserRoles, application.getId()), application.findDependantNodesByDataName()); return applicationResult; } @@ -691,6 +693,7 @@ public class OreSiService { final Stream<Application> applicationForAdmin = repository.application().findAllStream(); final AtomicLong progres = new AtomicLong(0); progression.fluxSink().next(new ReactiveTypeProgress(progres.get())); + CurrentUserRoles currentUserRoles = authenticationService.getCurrentUserRoles(); applicationForAdmin .map(application -> applicationForUser.stream() .filter(app -> app.getId().equals(application.getId())) @@ -698,6 +701,7 @@ public class OreSiService { .orElse(application.applicationAccordingToRights()) ) .map(application -> application.filterFieldsAndHidden(filters)) + .map(application -> ApplicationLightResult.of(application,currentUserRoles)) .forEach(application -> { progression.fluxSink().next(new ReactiveTypeResult(application)); final double prog = progres.incrementAndGet() / ((double) applicationForUser.size()); @@ -940,11 +944,6 @@ public class OreSiService { return store; } - public Boolean isAdmnistrator(final Application application) { - UUID requestUserId = request.getRequestUserId(); - return authorizationService.isApplicationCreator(application, requestUserId); - } - public void getCharte(final OutputStream out, final HttpServletResponse response, final String nameOrId, final AdditionalFilesInfos additionalFilesInfos) throws IOException { AdditionalFileParamsParsingResult additionalFileParamsParsingResult = getAdditionalFileSearchHelper(nameOrId, additionalFilesInfos); final AdditionalFileSearchHelper additionalFileSearchHelper = additionalFileParamsParsingResult.getResult(); diff --git a/src/main/java/fr/inra/oresing/rest/model/application/ApplicationLightResult.java b/src/main/java/fr/inra/oresing/rest/model/application/ApplicationLightResult.java new file mode 100644 index 0000000..fd6e0a2 --- /dev/null +++ b/src/main/java/fr/inra/oresing/rest/model/application/ApplicationLightResult.java @@ -0,0 +1,43 @@ +package fr.inra.oresing.rest.model.application; + +import fr.inra.oresing.domain.application.Application; +import fr.inra.oresing.domain.application.configuration.Configuration; +import fr.inra.oresing.domain.application.configuration.Node; +import fr.inra.oresing.domain.application.configuration.RightRequestDescription; +import fr.inra.oresing.domain.application.configuration.StandardDataDescription; +import fr.inra.oresing.domain.application.configuration.internationalization.Internationalizations; +import fr.inra.oresing.domain.checker.type.FieldType; +import fr.inra.oresing.domain.repository.authorization.role.CurrentUserRoles; +import fr.inra.oresing.rest.model.authorization.AuthorizationsForUserResult; +import fr.inra.oresing.rest.model.authorization.CurrentApplicationUserRolesResult; +import fr.inra.oresing.rest.model.authorization.CurrentUserRolesResult; +import lombok.Getter; +import lombok.Setter; + +import java.sql.Timestamp; +import java.util.*; +import java.util.function.Consumer; +import java.util.function.Predicate; + + +public record ApplicationLightResult( + Application application, + CurrentApplicationUserRolesResult currentApplicationUserRolesResult, + boolean hasSignedCharte, + boolean hasSignedLastCharte +) { + + public static ApplicationLightResult of(Application application, CurrentUserRoles currentUserRoles) { + Timestamp charteSignedAt = currentUserRoles.user().getChartes().get(application.getId()); + Timestamp lastChartes = application.getLastChartes(); + return new ApplicationLightResult( + application, + CurrentApplicationUserRolesResult.of( + currentUserRoles, + application.getId()), + charteSignedAt != null, + charteSignedAt != null && lastChartes.before(charteSignedAt) + ); + } + +} \ No newline at end of file diff --git a/src/main/java/fr/inra/oresing/rest/model/application/ApplicationResult.java b/src/main/java/fr/inra/oresing/rest/model/application/ApplicationResult.java index b668d4b..f18139c 100644 --- a/src/main/java/fr/inra/oresing/rest/model/application/ApplicationResult.java +++ b/src/main/java/fr/inra/oresing/rest/model/application/ApplicationResult.java @@ -1,8 +1,10 @@ package fr.inra.oresing.rest.model.application; +import fr.inra.oresing.domain.application.Application; import fr.inra.oresing.domain.application.configuration.internationalization.Internationalizations; import fr.inra.oresing.domain.checker.type.FieldType; import fr.inra.oresing.domain.application.configuration.*; +import fr.inra.oresing.domain.repository.authorization.role.CurrentUserRoles; import fr.inra.oresing.rest.model.authorization.AuthorizationsForUserResult; import lombok.Getter; import lombok.Setter; @@ -26,7 +28,7 @@ public record ApplicationResult( Map<String, AdditionalFile> additionalFiles, ApplicationResult.RightsRequest rightsRequest, Configuration configuration, - Boolean isAdministrator, + fr.inra.oresing.rest.model.authorization.CurrentApplicationUserRolesResult isAdministrator, Map<String,Set<String>> dependantNodesByDataName ) { diff --git a/src/main/java/fr/inra/oresing/rest/model/authorization/CurrentApplicationUserRolesResult.java b/src/main/java/fr/inra/oresing/rest/model/authorization/CurrentApplicationUserRolesResult.java new file mode 100644 index 0000000..d123e8d --- /dev/null +++ b/src/main/java/fr/inra/oresing/rest/model/authorization/CurrentApplicationUserRolesResult.java @@ -0,0 +1,28 @@ +package fr.inra.oresing.rest.model.authorization; + +import fr.inra.oresing.domain.repository.authorization.role.CurrentUserRoles; + +import java.util.List; +import java.util.UUID; + +public record CurrentApplicationUserRolesResult( + List<String> applicationRoles, + UUID userId, + String userLogin, + boolean isOpenAdomAdmin, + boolean isApplicationCreator, + List<String> memberOf, + boolean isDataBaseSuper +) { + public static final CurrentApplicationUserRolesResult of(CurrentUserRoles currentUserRoles, UUID applicationid) { + return new CurrentApplicationUserRolesResult( + currentUserRoles.applicationRoles(applicationid), + currentUserRoles.userId(), + currentUserRoles.userLogin(), + currentUserRoles.isOpenAdomAdmin(), + currentUserRoles.isApplicationCreator(), + currentUserRoles.memberOf(), + currentUserRoles.isDataBaseSuper() + ); + } +} diff --git a/src/main/java/fr/inra/oresing/rest/model/authorization/CurrentUserRolesResult.java b/src/main/java/fr/inra/oresing/rest/model/authorization/CurrentUserRolesResult.java new file mode 100644 index 0000000..3b1e392 --- /dev/null +++ b/src/main/java/fr/inra/oresing/rest/model/authorization/CurrentUserRolesResult.java @@ -0,0 +1,29 @@ +package fr.inra.oresing.rest.model.authorization; + +import fr.inra.oresing.domain.repository.authorization.role.CurrentUserRoles; + +import java.util.List; +import java.util.Map; +import java.util.UUID; + +public record CurrentUserRolesResult( + Map<String, List<String>> applicationRoles, + UUID userId, + String userLogin, + boolean isOpenAdomAdmin, + boolean isApplicationCreator, + List<String> memberOf, + boolean isDataBaseSuper +) { + public static final CurrentUserRolesResult of(CurrentUserRoles currentUserRoles) { + return new CurrentUserRolesResult( + currentUserRoles.applicationRoles(), + currentUserRoles.userId(), + currentUserRoles.userLogin(), + currentUserRoles.isOpenAdomAdmin(), + currentUserRoles.isApplicationCreator(), + currentUserRoles.memberOf(), + currentUserRoles.isDataBaseSuper() + ); + } +} diff --git a/src/main/java/fr/inra/oresing/rest/model/authorization/LoginAdminResult.java b/src/main/java/fr/inra/oresing/rest/model/authorization/LoginAdminResult.java index 62749b7..e13a025 100644 --- a/src/main/java/fr/inra/oresing/rest/model/authorization/LoginAdminResult.java +++ b/src/main/java/fr/inra/oresing/rest/model/authorization/LoginAdminResult.java @@ -16,12 +16,12 @@ public record LoginAdminResult(UUID id, boolean openAdomAdmin, Set<String> authorizations, Map<String, Timestamp> chartes, - CurrentUserRoles currentUserRoles) { + CurrentUserRolesResult currentUserRoles) { public LoginAdminResult(UUID id, String login, String email, String state, - CurrentUserRoles currentUserRoles, + CurrentUserRolesResult currentUserRoles, Set<String> authorizations, Map<String, Timestamp> chartes) { this(id, diff --git a/src/test/java/fr/inra/oresing/rest/OreSiResourcesTest.java b/src/test/java/fr/inra/oresing/rest/OreSiResourcesTest.java index 8402ac2..f91ece6 100644 --- a/src/test/java/fr/inra/oresing/rest/OreSiResourcesTest.java +++ b/src/test/java/fr/inra/oresing/rest/OreSiResourcesTest.java @@ -963,8 +963,8 @@ public class OreSiResourcesTest { Assert.assertEquals(1, Arrays.stream(getApplicationsFlux(authCookie, "ALL")) .filter(s -> "REACTIVE_RESULT".equals(JsonPath.parse(s).read("$.type", String.class))) - .filter(s -> JsonPath.parse(s).read("$.result.data", List.class).contains("sites")) - .filter(s -> !JsonPath.parse(s).read("$.result.data", List.class).contains("type de fichiers")) + .filter(s -> JsonPath.parse(s).read("$.result.application.data", List.class).contains("sites")) + .filter(s -> !JsonPath.parse(s).read("$.result.application.data", List.class).contains("type de fichiers")) .count() ); mockMvc.perform(get("/api/v1/applications/monsore") -- GitLab From 9772651f7031a7f45f5fd32d9c67538ca265a783 Mon Sep 17 00:00:00 2001 From: philippe tcheriatinsky <philippe.tcherniatinsky@inrae.fr> Date: Fri, 22 Nov 2024 11:08:29 +0100 Subject: [PATCH 05/13] Modification getApplication (s) --- .../oresing/persistence/UserRepository.java | 2 +- .../fr/inra/oresing/rest/OreSiService.java | 2 +- .../application/ApplicationLightResult.java | 8 +++- .../model/application/ApplicationResult.java | 3 +- .../authorization/AuthorizationsResult.java | 5 +++ .../fixtures/applications/errors/errors.json | 2 +- .../ore/monsore/changeMonsore.txt | 34 +++++++-------- .../ore/monsore/createMonsore.txt | 42 +++++++++---------- .../ore/monsore/validateMonsore.txt | 20 ++++----- 9 files changed, 65 insertions(+), 53 deletions(-) diff --git a/src/main/java/fr/inra/oresing/persistence/UserRepository.java b/src/main/java/fr/inra/oresing/persistence/UserRepository.java index 7e02ae9..b549c22 100644 --- a/src/main/java/fr/inra/oresing/persistence/UserRepository.java +++ b/src/main/java/fr/inra/oresing/persistence/UserRepository.java @@ -111,7 +111,7 @@ public class UserRepository extends JsonTableRepositoryTemplate<OreSiUser> imple SELECT r.oid, r.rolname, m.member, m.roleid FROM pg_roles r JOIN pg_auth_members m ON r.oid = m.roleid - WHERE r.rolname = ANY(:rolenames) + WHERE r.rolname = ANY(:roleNames) UNION ALL SELECT r.oid, r.rolname, m.member, m.roleid FROM pg_roles r diff --git a/src/main/java/fr/inra/oresing/rest/OreSiService.java b/src/main/java/fr/inra/oresing/rest/OreSiService.java index 6a5354b..7b1a971 100644 --- a/src/main/java/fr/inra/oresing/rest/OreSiService.java +++ b/src/main/java/fr/inra/oresing/rest/OreSiService.java @@ -701,7 +701,7 @@ public class OreSiService { .orElse(application.applicationAccordingToRights()) ) .map(application -> application.filterFieldsAndHidden(filters)) - .map(application -> ApplicationLightResult.of(application,currentUserRoles)) + .map(application -> ApplicationLightResult.of(application, currentUserRoles)) .forEach(application -> { progression.fluxSink().next(new ReactiveTypeResult(application)); final double prog = progres.incrementAndGet() / ((double) applicationForUser.size()); diff --git a/src/main/java/fr/inra/oresing/rest/model/application/ApplicationLightResult.java b/src/main/java/fr/inra/oresing/rest/model/application/ApplicationLightResult.java index fd6e0a2..f388cb2 100644 --- a/src/main/java/fr/inra/oresing/rest/model/application/ApplicationLightResult.java +++ b/src/main/java/fr/inra/oresing/rest/model/application/ApplicationLightResult.java @@ -1,5 +1,6 @@ package fr.inra.oresing.rest.model.application; +import fr.inra.oresing.domain.OreSiUser; import fr.inra.oresing.domain.application.Application; import fr.inra.oresing.domain.application.configuration.Configuration; import fr.inra.oresing.domain.application.configuration.Node; @@ -15,6 +16,7 @@ import lombok.Getter; import lombok.Setter; import java.sql.Timestamp; +import java.time.Instant; import java.util.*; import java.util.function.Consumer; import java.util.function.Predicate; @@ -28,7 +30,11 @@ public record ApplicationLightResult( ) { public static ApplicationLightResult of(Application application, CurrentUserRoles currentUserRoles) { - Timestamp charteSignedAt = currentUserRoles.user().getChartes().get(application.getId()); + Timestamp charteSignedAt = Optional.ofNullable(currentUserRoles) + .map(CurrentUserRoles::user) + .map(OreSiUser::getChartes) + .map(chartes->chartes.get(application.getId())) + .orElse(null); Timestamp lastChartes = application.getLastChartes(); return new ApplicationLightResult( application, diff --git a/src/main/java/fr/inra/oresing/rest/model/application/ApplicationResult.java b/src/main/java/fr/inra/oresing/rest/model/application/ApplicationResult.java index f18139c..e4621ed 100644 --- a/src/main/java/fr/inra/oresing/rest/model/application/ApplicationResult.java +++ b/src/main/java/fr/inra/oresing/rest/model/application/ApplicationResult.java @@ -6,6 +6,7 @@ import fr.inra.oresing.domain.checker.type.FieldType; import fr.inra.oresing.domain.application.configuration.*; import fr.inra.oresing.domain.repository.authorization.role.CurrentUserRoles; import fr.inra.oresing.rest.model.authorization.AuthorizationsForUserResult; +import fr.inra.oresing.rest.model.authorization.CurrentApplicationUserRolesResult; import lombok.Getter; import lombok.Setter; @@ -28,7 +29,7 @@ public record ApplicationResult( Map<String, AdditionalFile> additionalFiles, ApplicationResult.RightsRequest rightsRequest, Configuration configuration, - fr.inra.oresing.rest.model.authorization.CurrentApplicationUserRolesResult isAdministrator, + CurrentApplicationUserRolesResult currentApplicationUserRolesResult, Map<String,Set<String>> dependantNodesByDataName ) { diff --git a/src/main/java/fr/inra/oresing/rest/model/authorization/AuthorizationsResult.java b/src/main/java/fr/inra/oresing/rest/model/authorization/AuthorizationsResult.java index 224d9b3..2900b81 100644 --- a/src/main/java/fr/inra/oresing/rest/model/authorization/AuthorizationsResult.java +++ b/src/main/java/fr/inra/oresing/rest/model/authorization/AuthorizationsResult.java @@ -10,9 +10,14 @@ public record AuthorizationsResult( String applicationName, Boolean applicationCreator, Boolean applicationManager, + Boolean isAdministrator, Boolean userManager, Boolean applicationUser, Boolean activeApplicationUser ) { + public AuthorizationsResult(Map<String, List<AuthorizationParsed>> userAuthorization, Map<String, AuthorizationParsed> publicAuthorization, String applicationName, Boolean applicationCreator, Boolean applicationManager, Boolean userManager, Boolean applicationUser, Boolean activeApplicationUser) { + this(userAuthorization, publicAuthorization, applicationName, applicationCreator, applicationManager, applicationCreator||applicationManager, userManager, applicationUser, activeApplicationUser); + } + public AuthorizationsResult { } } \ No newline at end of file diff --git a/ui/cypress/fixtures/applications/errors/errors.json b/ui/cypress/fixtures/applications/errors/errors.json index 9f6668a..95edaf1 100644 --- a/ui/cypress/fixtures/applications/errors/errors.json +++ b/ui/cypress/fixtures/applications/errors/errors.json @@ -1 +1 @@ -{"testUnknownReferenceNameForChecker":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > sites > OA_basicComponents > tze_type_nom > OA_checker > OA_params > OA_reference > OA_name","referenceName":"tr_type_de_sites"}},"time":"2024-11-19T20:42:18.226074731","type":"REACTIVE_ERROR"}],"testUnexpectedNameTagInComputedComponents":[{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > pem > OA_computedComponents > site_bassin > OA_tags","notExpectedDomainTags":["contextt"]}},"time":"2024-11-19T20:43:30.851670702","type":"REACTIVE_ERROR"}],"testUnknownReferenceNameForDynamicColumns":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_reference","referenceName":"type_de_site"}},"time":"2024-11-19T20:42:48.004481509","type":"REACTIVE_ERROR"}],"testmissingComponentNameForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_component"}},"time":"2024-11-19T20:42:07.765287766","type":"REACTIVE_ERROR"}],"testMissingOrBadTypeVersionApplication":[{"errortype":"ValidationError","result":{"message":"badVersionPattern","params":{"givenVersion":"deux","path":"OA_application"}},"time":"2024-11-19T20:42:09.501750655","type":"REACTIVE_ERROR"}],"testUnexpectedReferencesForComputation":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_basicComponents > chemin > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-19T20:42:00.74587182","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-19T20:42:00.746429265","type":"REACTIVE_ERROR"}],"testmissingRequiredValueInTimeScopeInSubmission":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_timeScope > OA_component"}},"time":"2024-11-19T20:43:16.675034627","type":"REACTIVE_ERROR"}],"testMissingNameApplication":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_application > OA_name"}},"time":"2024-11-19T20:43:37.881896821","type":"REACTIVE_ERROR"}],"testUnexpectedReferencesForDefaultValue":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_basicComponents > chemin > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-19T20:42:06.0274471","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-19T20:42:06.027762048","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"invalidComponentReferenceForSubmissionScopeReference","params":{"componentReference":"proj","submissionReference":"projet","path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 2"}},"time":"2024-11-19T20:43:57.932391588","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataI18ndisplay":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > especes > OA_i18nDisplayPattern > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:44:05.023292934","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataI18n":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > especes > OA_i18n > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:42:58.468764781","type":"REACTIVE_ERROR"}],"testUnexpectedSections":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["OA_application","OA_version","OA_data","OA_additionalFiles","OA_rightsRequest","OA_tags"],"path":"OA_version > OA_application > OA_data > OA_unexpectedTag > OA_rightsRequest > OA_tags","unexpectedSections":["OA_unexpectedTag"]}},"time":"2024-11-19T20:42:51.44582221","type":"REACTIVE_ERROR"}],"testBadEnumSectionTypeInSubmission":[{"errortype":"ValidationError","result":{"message":"badEnumSectionType","params":{"givenValue":"OA_VERSIONINGY","path":"OA_data > pem > OA_submission > OA_strategy","acceptedValues":["OA_INSERTION","OA_VERSIONING"]}},"time":"2024-11-19T20:42:14.679163875","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInRightsRequestDescription":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_rightsRequest > OA_i18n > OA_description > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:43:43.400649109","type":"REACTIVE_ERROR"}],"testUnknownNameAuthorizationScopeInFileNameSubmission":[{"errortype":"ValidationError","result":{"message":"unknownNameReferenceScope","params":{"path":"OA_submission > OA_fileName > OA_referenceScopes > site_bassine","knownAuthorizationScope":["site_bassin","projet"],"unknownAuthorizationScope":"site_bassine"}},"time":"2024-11-19T20:43:41.640151661","type":"REACTIVE_ERROR"}],"testMissingMandatorySectionsInConstantComponents":[{"errortype":"ValidationError","result":{"message":"missingMandatoriesSections","params":{"missingMandatoriesSections":["OA_rowNumber"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_columnNumber"}},"time":"2024-11-19T20:42:54.965556499","type":"REACTIVE_ERROR"}],"testInvalidMinMaxForCheckerDate":[{"errortype":"ValidationError","result":{"message":"invalidMinMaxForCheckerDate","params":{"declaredPattern":"dd/MM/yyyy","path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params","declaredMinValue":"12/31/1980","declaredMaxValue":"31/12/2024"}},"time":"2024-11-19T20:42:02.535501818","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"invalidMinMaxForCheckerDate","params":{"declaredPattern":"dd/MM/yyyy","path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params","declaredMinValue":"31/12/1980","declaredMaxValue":"12/31/2024"}},"time":"2024-11-19T20:43:05.561032703","type":"REACTIVE_ERROR"}],"testBadNameApplication":[{"errortype":"ValidationError","result":{"message":"unsupportedNameApplication","params":{"path":"OA_application","nameApplication":"F4KE app!cat°"}},"time":"2024-11-19T20:42:46.296179162","type":"REACTIVE_ERROR"}],"testBadVersionApplication":[{"errortype":"ValidationError","result":{"message":"badVersionPattern","params":{"givenVersion":"-2","path":"OA_application"}},"time":"2024-11-19T20:42:34.007325272","type":"REACTIVE_ERROR"}],"testUnknownColumnNumberToFirstRowLineInConstantComponents":[{"errortype":"ValidationError","result":{"message":"negativeConstantImportHeaderColumnNumber","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_importHeaderTarget > OA_columnNumber"}},"time":"2024-11-19T20:43:07.364845225","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"negativeConstantImportHeaderColumnNumber","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_columnNumber"}},"time":"2024-11-19T20:44:06.773315563","type":"REACTIVE_ERROR"}],"testBadBuilderVersion":[{"errortype":"ValidationError","result":{"message":"unsupportedOpenadomVersion","params":{"path":"OA_version","actualVersion":"2","expectedVersion":"2.0.1"}},"time":"2024-11-19T20:42:35.777151716","type":"REACTIVE_ERROR"}],"testMissingReferenceNameForChecker":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > sites > OA_basicComponents > tze_type_nom > OA_checker > OA_params > OA_reference > OA_name","referenceName":"toto"}},"time":"2024-11-19T20:42:11.252754666","type":"REACTIVE_ERROR"}],"testBadNameTag":[{"errortype":"ValidationError","result":{"message":"badTagsPatterns","params":{"path":"OA_data > especes","acceptedTagPatterns":["__HIDDEN__","__REFERENCE__","test","context","no-tag","__DATA__","__ORDER_([0-9]*)__"]}},"time":"2024-11-19T20:42:49.737270424","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"badTagsPatterns","params":{"path":"OA_data > type_de_sites","acceptedTagPatterns":["__HIDDEN__","__REFERENCE__","test","context","no-tag","__DATA__","__ORDER_([0-9]*)__"]}},"time":"2024-11-19T20:42:49.737939185","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"badTagsPatterns","params":{"path":"OA_data > sites","acceptedTagPatterns":["__HIDDEN__","__REFERENCE__","test","context","no-tag","__DATA__","__ORDER_([0-9]*)__"]}},"time":"2024-11-19T20:42:49.738104164","type":"REACTIVE_ERROR"}],"testReturnMultiplesErrors":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > site > OA_basicComponents > zet_chemin_parent > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-19T20:43:52.178072527","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_basicComponents > chemin > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-19T20:43:52.178439162","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_basicComponents > chemin > OA_defaultValue > OA_references","referenceName":"sites"}},"time":"2024-11-19T20:43:52.178509856","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_computedComponents > site_bassin > OA_checker > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-19T20:43:52.178649469","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_computedComponents > site_bassin > OA_defaultValue > OA_references","referenceName":"sites"}},"time":"2024-11-19T20:43:52.178681643","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-19T20:43:52.178818139","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_defaultValue > OA_references","referenceName":"sites"}},"time":"2024-11-19T20:43:52.178873048","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_validations > reference > OA_validations > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-19T20:43:52.179122851","type":"REACTIVE_ERROR"}],"testEmptyFile":[{"errortype":"ValidationError","result":{"message":"emptyFile","params":{}},"time":"2024-11-19T20:42:44.513731668","type":"REACTIVE_ERROR"}],"testunknownComponentNameForAuthorization":[{"errortype":"ValidationError","result":{"message":"unknownComponentForComponentName","params":{"unknownComponent":"proj","knownComponents":["site_bassin","site","tel_experimental_site","projet","espece","chemin"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 2 > OA_component"}},"time":"2024-11-19T20:42:41.031991951","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownNameReferenceScope","params":{"path":"OA_submission > OA_fileName > OA_referenceScopes > projet","knownAuthorizationScope":["site_bassin","proj"],"unknownAuthorizationScope":"projet"}},"time":"2024-11-19T20:42:41.032127215","type":"REACTIVE_ERROR"}],"testMissingNameChecker":[{"errortype":"ValidationError","result":{"message":"missingCheckerName","params":{"path":"OA_data > sites > OA_basicComponents > tze_type_nom","acceptedCheckerNames":["OA_reference","OA_float","OA_date","OA_groovyExpression","OA_boolean","OA_integer","OA_string"]}},"time":"2024-11-19T20:43:03.711252254","type":"REACTIVE_ERROR"}],"testduplicatedComponentInPatternComponent":[{"errortype":"ValidationError","result":{"message":"duplicatedComponentHeaderInPatternComponent","params":{"duplicatedPathes":["OA_data > pem > OA_patternComponents > tel_value > OA_componentQualifiers > tel_date","OA_data > pem > OA_patternComponents > tel_value > OA_componentAdjacents > tel_date"],"path":"OA_data > pem > OA_patternComponents > tel_value > OA_componentAdjacents > tel_date","qualifierName":"tel_date","data":"pem","patternComponent":"tel_value"}},"time":"2024-11-19T20:43:20.226228091","type":"REACTIVE_ERROR"}],"testMissingComponentNameValidation":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_validations > reference > OA_components"}},"time":"2024-11-19T20:43:00.193834727","type":"REACTIVE_ERROR"}],"testInvalidPatternForCheckerDate":[{"errortype":"ValidationError","result":{"message":"invalidPatternForCheckerDate","params":{"badPattern":"bb/MM/yyyy","path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params > OA_pattern"}},"time":"2024-11-19T20:42:23.512946754","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInAuthorizationScopes":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_i18n > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:43:27.319250663","type":"REACTIVE_ERROR"}],"testunknownComponentInTimeScopeInSubmission":[{"errortype":"ValidationError","result":{"message":"unknownComponentForComponentName","params":{"unknownComponent":"dates","knownComponents":["date"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_timeScope > OA_component"}},"time":"2024-11-19T20:42:30.594942088","type":"REACTIVE_ERROR"}],"testMissingPatternForCheckerDate":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params > OA_pattern"}},"time":"2024-11-19T20:42:19.949225968","type":"REACTIVE_ERROR"}],"testUnexpectedReferencesForDefaultValueInConstantComponents":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-19T20:43:29.051759749","type":"REACTIVE_ERROR"}],"testSuperieurImportHeaderRowNumberToFirstRowLineInConstantComponents":[{"errortype":"ValidationError","result":{"message":"badConstantImportHeaderRowNumber","params":{"givenRowNumber":8,"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_rowNumber","firstRowLine":7}},"time":"2024-11-19T20:42:32.305430308","type":"REACTIVE_ERROR"}],"testNegativeImportHeaderRowNumberInConstantComponents":[{"errortype":"ValidationError","result":{"message":"negativeConstantImportHeaderRowNumber","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_rowNumber"}},"time":"2024-11-19T20:42:12.983407345","type":"REACTIVE_ERROR"}],"testUnexpectedNameTagInData":[{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > especes","notExpectedDomainTags":["contxet"]}},"time":"2024-11-19T20:44:01.50190075","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > type_de_sites","notExpectedDomainTags":["contxet"]}},"time":"2024-11-19T20:44:01.503507669","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > sites","notExpectedDomainTags":["contxet"]}},"time":"2024-11-19T20:44:01.503733893","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataDynamicComponents":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_exportHeader > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:43:48.616274686","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInTags":[{"errortype":"ValidationError","result":{"message":"unsuportedI18nKeyLanguage","params":{"path":"OA_tags > test"}},"time":"2024-11-19T20:42:27.066454883","type":"REACTIVE_ERROR"}],"testNegativeColumnNumberToFirstRowLineInConstantComponents":[{"errortype":"ValidationError","result":{"message":"negativeConstantImportHeaderColumnNumber","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_columnNumber"}},"time":"2024-11-19T20:43:53.964618399","type":"REACTIVE_ERROR"}],"testUnExpectedReservedTagPatternForDomainTag":[{"errortype":"ValidationError","result":{"message":"illegalDomainTagPattern","params":{"reservedTagNames":["HiddenTag[tagDefinition=HIDDEN_TAG]"],"path":"OA_tags","expectedPattern":"^[a-z][a-z_0-9]*[a-z0-9]$"}},"time":"2024-11-19T20:43:36.147429666","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > especes","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:36.147590821","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > projet","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:36.14828847","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > type_de_sites","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:36.148500026","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > sites","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:36.148658269","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_tags","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:36.149080701","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > pem","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:36.149177061","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataInConstantComponentsExportheaderI18n":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_exportHeader > OA_description > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:43:23.724175873","type":"REACTIVE_ERROR"}],"testMissingRequiredSections":[{"errortype":"ValidationError","result":{"message":"missingVersionApplication","params":{"path":"","actualVersion":"2.0.1"}},"time":"2024-11-19T20:43:25.529059741","type":"REACTIVE_ERROR"}],"testMissingReferencesForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingMandatoriesSections","params":{"missingMandatoriesSections":["OA_reference"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_exportHeader > OA_component > OA_i18n"}},"time":"2024-11-19T20:42:39.259378725","type":"REACTIVE_ERROR"}],"testMissingRequiredValueForChecker":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > sites > OA_basicComponents > tze_type_nom > OA_checker > OA_params > OA_reference > OA_name"}},"time":"2024-11-19T20:42:25.34395418","type":"REACTIVE_ERROR"}],"testMissingAnyMandatorySectionsInConstantComponents":[{"errortype":"ValidationError","result":{"message":"missingAnyMandatoriesSections","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_importHeaderTarget > OA_rowNumber","anyMandatorySections":["OA_columnName","OA_columnNumber"]}},"time":"2024-11-19T20:43:39.73482784","type":"REACTIVE_ERROR"}],"testMissingBuilderVersion":[{"errortype":"ValidationError","result":{"message":"missingVersionApplication","params":{"path":"OA_version","expectedVersion":"2.0.1"}},"time":"2024-11-19T20:43:21.967207348","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInAuthorizationScopesExportheader":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 1 > OA_exportHeader > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:42:56.725636947","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataExportheaderI18n":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > especes > OA_computedComponents > my_computed_column > OA_exportHeader > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:42:04.260215834","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInApplication":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_application > OA_i18n > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:43:12.930932012","type":"REACTIVE_ERROR"}],"testUnknownCheckerName":[{"errortype":"ValidationError","result":{"message":"unknownCheckerName","params":{"path":"OA_data > sites > OA_basicComponents > tze_type_nom","checkerName":"reference","acceptedCheckerNames":["OA_reference","OA_float","OA_date","OA_groovyExpression","OA_boolean","OA_integer","OA_string"]}},"time":"2024-11-19T20:42:37.544000119","type":"REACTIVE_ERROR"}],"testUnknownReferenceColumnToLookForHeaderInDataDynamicComponents":[{"errortype":"ValidationError","result":{"message":"unknownReferenceColumnToLookForHeader","params":{"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_referenceComponentToLookForHeader","listColumnsNameReference":["tze_definition_en","tze_definition_fr","tze_nom_en","tze_nom_fr","tze_nom_key"],"columnNameReference":"nom_key","referenceName":"type_de_sites"}},"time":"2024-11-19T20:42:16.471556677","type":"REACTIVE_ERROR"}],"testBadNameTagInDynamicComponents":[{"errortype":"ValidationError","result":{"message":"badTagsPatterns","params":{"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_tags","acceptedTagPatterns":["__HIDDEN__","__REFERENCE__","test","context","no-tag","__DATA__","__ORDER_([0-9]*)__"]}},"time":"2024-11-19T20:43:18.475162946","type":"REACTIVE_ERROR"}],"testMissingRequiredValueForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_reference"}},"time":"2024-11-19T20:42:42.773525931","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInValidation":[{"errortype":"ValidationError","result":{"message":"duplicateKey","params":{"columnNumber":8,"lineNumber":248,"duplicateKeys":"sites"}},"time":"2024-11-19T20:42:53.203203623","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"duplicatedComponentHeader","params":{"duplicatedImportHeader":["zet_nom_key","zet_chemin_parent"],"path":"OA_data > sites","duplicatedHeader":"zet_chemin_parent","data":"sites"}},"time":"2024-11-19T20:43:32.595251838","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","csw","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","xnr","ro","ceb","be","ru","rw","bg","kea","bm","bn","bo","sa","twq","sc","br","bs","sd","xog","se","sg","si","seh","sk","sl","sn","so","ca","sq","sr","ses","mzn","ce","su","sv","sw","ta","asa","yav","cs","te","yrl","cv","tg","th","ti","cy","tk","to","dyo","da","tr","tt","de","cgg","ast","nmg","bem","lij","ug","kgp","uk","dz","bez","ur","dje","haw","ee","vmw","prg","uz","tzm","el","kxv","en","nnh","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","syr","jgo","fy","lkt","wo","ga","zgh","wae","pcm","gd","szl","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","nqo","hu","lmo","yi","hy","yo","ia","id","ie","ig","naq","vai","ii","frr","za","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","mas","ki","kk","kl","km","kn","blo","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","fur","ln","lo","kok","lt","lu","lv","nus","vun","lag","vec","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > pem > OA_validations > reference > OA_i18n > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-19T20:43:34.342058081","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"duplicatedComponentName","params":{"duplicatedPathes":["OA_data > pem > OA_constantComponents > tel_experimental_site","OA_data > pem > OA_patternComponents > tel_experimental_site"],"path":"OA_data > pem > OA_patternComponents > tel_experimental_site","componentName":"tel_experimental_site"}},"time":"2024-11-19T20:43:46.875456947","type":"REACTIVE_ERROR"}],"testMissingAnyMandatoriesSectionsForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingMandatoriesSections","params":{"missingMandatoriesSections":["OA_reference","OA_component"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_exportHeader > OA_i18n"}},"time":"2024-11-19T20:43:45.161867851","type":"REACTIVE_ERROR"}],"testInvalidNaturalKey":[{"errortype":"ValidationError","result":{"message":"invalidNaturalKey","params":{"path":"OA_data > especes","invalidNaturalKeyElements":["espNom"],"expectedComponentLabel":["colonne_homonyme_entre_referentiels","esp_definition_en","my_computed_column","esp_nom","esp_definition_fr"]}},"time":"2024-11-19T20:43:14.942226253","type":"REACTIVE_ERROR"}],"testInvalidDurationForCheckerDate":[{"errortype":"ValidationError","result":{"message":"invalidDurationCheckerDate","params":{"declaredDuration":"1 Yearss","path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params"}},"time":"2024-11-19T20:43:55.974286711","type":"REACTIVE_ERROR"}],"testMissingRequiredValueForDynamicColumns":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_reference"}},"time":"2024-11-19T20:44:03.274863409","type":"REACTIVE_ERROR"}],"testUnexpectedNameTagInBasicComponent":[{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > pem > OA_basicComponents > projet > OA_tags","notExpectedDomainTags":["testz"]}},"time":"2024-11-19T20:43:10.893553043","type":"REACTIVE_ERROR"}],"testunknownComponentNameValidation":[{"errortype":"ValidationError","result":{"message":"unknownComponentForComponentName","params":{"unknownComponent":"sites","knownComponents":["site_bassin","date","tel_experimental_site","site","bassin","projet","espece","ordre_affichage","chemin","tel_experimental_network","plateforme","is_float_value","tel_value"],"path":"OA_data > pem > OA_validations > reference > OA_components"}},"time":"2024-11-19T20:43:09.116742273","type":"REACTIVE_ERROR"}],"testNotExpectedTagsInConstantComponents":[{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_tags","notExpectedDomainTags":["testz"]}},"time":"2024-11-19T20:43:01.962452462","type":"REACTIVE_ERROR"}],"testMissingComponentNameInColumnsForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingComponentForComponentName","params":{"knownComponents":["site_bassin","date","tel_experimental_site","site","bassin","projet","espece","ordre_affichage","chemin","tel_experimental_network","plateforme","is_float_value","tel_value"],"path":"OA_data > pem > OA_validations > reference > OA_components"}},"time":"2024-11-19T20:43:59.740555627","type":"REACTIVE_ERROR"}],"testBadDomaineTagPattern":[{"errortype":"ValidationError","result":{"message":"badDomainTagPattern","params":{"path":"OA_tags","domainTagPattern":"^[a-z][a-z_0-9]*[a-z0-9]$"}},"time":"2024-11-19T20:43:50.430807637","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"illegalDomainTagPattern","params":{"reservedTagNames":["NoTag[tagDefinition=NO_TAG, tagName=no_tag]"],"path":"OA_tags","expectedPattern":"^[a-z][a-z_0-9]*[a-z0-9]$"}},"time":"2024-11-19T20:43:50.431171722","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > especes","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:50.431427666","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > especes > OA_basicComponents > esp_nom > OA_tags","notExpectedDomainTags":["test"]}},"time":"2024-11-19T20:43:50.4319404","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > projet","notExpectedDomainTags":["test","context"]}},"time":"2024-11-19T20:43:50.432641965","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > type_de_sites","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:50.432863992","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > sites","notExpectedDomainTags":["context"]}},"time":"2024-11-19T20:43:50.433026808","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_tags","notExpectedDomainTags":["test","context"]}},"time":"2024-11-19T20:43:50.433454284","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > pem","notExpectedDomainTags":["test","context"]}},"time":"2024-11-19T20:43:50.433699207","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > pem > OA_basicComponents > projet > OA_tags","notExpectedDomainTags":["test"]}},"time":"2024-11-19T20:43:50.433865415","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_tags","notExpectedDomainTags":["test"]}},"time":"2024-11-19T20:43:50.434406479","type":"REACTIVE_ERROR"}]} \ No newline at end of file +{"testUnknownReferenceNameForChecker":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > sites > OA_basicComponents > tze_type_nom > OA_checker > OA_params > OA_reference > OA_name","referenceName":"tr_type_de_sites"}},"time":"2024-11-21T12:54:51.322856158","type":"REACTIVE_ERROR"}],"testUnexpectedNameTagInComputedComponents":[{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > pem > OA_computedComponents > site_bassin > OA_tags","notExpectedDomainTags":["contextt"]}},"time":"2024-11-21T12:56:22.815230668","type":"REACTIVE_ERROR"}],"testUnknownReferenceNameForDynamicColumns":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_reference","referenceName":"type_de_site"}},"time":"2024-11-21T12:55:30.535322505","type":"REACTIVE_ERROR"}],"testmissingComponentNameForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_component"}},"time":"2024-11-21T12:54:36.789457977","type":"REACTIVE_ERROR"}],"testMissingOrBadTypeVersionApplication":[{"errortype":"ValidationError","result":{"message":"badVersionPattern","params":{"givenVersion":"deux","path":"OA_application"}},"time":"2024-11-21T12:54:39.189245421","type":"REACTIVE_ERROR"}],"testUnexpectedReferencesForComputation":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_basicComponents > chemin > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-21T12:54:25.170458393","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-21T12:54:25.172287849","type":"REACTIVE_ERROR"}],"testmissingRequiredValueInTimeScopeInSubmission":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_timeScope > OA_component"}},"time":"2024-11-21T12:56:05.954738937","type":"REACTIVE_ERROR"}],"testMissingNameApplication":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_application > OA_name"}},"time":"2024-11-21T12:56:31.209379936","type":"REACTIVE_ERROR"}],"testUnexpectedReferencesForDefaultValue":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_basicComponents > chemin > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-21T12:54:34.075852138","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-21T12:54:34.07670263","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"invalidComponentReferenceForSubmissionScopeReference","params":{"componentReference":"proj","submissionReference":"projet","path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 2"}},"time":"2024-11-21T12:56:54.812183968","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataI18ndisplay":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > especes > OA_i18nDisplayPattern > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:57:04.099663822","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataI18n":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > especes > OA_i18n > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:55:43.26385573","type":"REACTIVE_ERROR"}],"testUnexpectedSections":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["OA_version","OA_application","OA_data","OA_additionalFiles","OA_rightsRequest","OA_tags"],"path":"OA_version > OA_application > OA_data > OA_unexpectedTag > OA_rightsRequest > OA_tags","unexpectedSections":["OA_unexpectedTag"]}},"time":"2024-11-21T12:55:34.564825016","type":"REACTIVE_ERROR"}],"testBadEnumSectionTypeInSubmission":[{"errortype":"ValidationError","result":{"message":"badEnumSectionType","params":{"givenValue":"OA_VERSIONINGY","path":"OA_data > pem > OA_submission > OA_strategy","acceptedValues":["OA_INSERTION","OA_VERSIONING"]}},"time":"2024-11-21T12:54:46.33635494","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInRightsRequestDescription":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_rightsRequest > OA_i18n > OA_description > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:56:38.037679091","type":"REACTIVE_ERROR"}],"testUnknownNameAuthorizationScopeInFileNameSubmission":[{"errortype":"ValidationError","result":{"message":"unknownNameReferenceScope","params":{"path":"OA_submission > OA_fileName > OA_referenceScopes > site_bassine","knownAuthorizationScope":["site_bassin","projet"],"unknownAuthorizationScope":"site_bassine"}},"time":"2024-11-21T12:56:35.787217175","type":"REACTIVE_ERROR"}],"testMissingMandatorySectionsInConstantComponents":[{"errortype":"ValidationError","result":{"message":"missingMandatoriesSections","params":{"missingMandatoriesSections":["OA_rowNumber"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_columnNumber"}},"time":"2024-11-21T12:55:38.968134572","type":"REACTIVE_ERROR"}],"testInvalidMinMaxForCheckerDate":[{"errortype":"ValidationError","result":{"message":"invalidMinMaxForCheckerDate","params":{"declaredPattern":"dd/MM/yyyy","path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params","declaredMinValue":"12/31/1980","declaredMaxValue":"31/12/2024"}},"time":"2024-11-21T12:54:28.315681056","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"invalidMinMaxForCheckerDate","params":{"declaredPattern":"dd/MM/yyyy","path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params","declaredMinValue":"31/12/1980","declaredMaxValue":"12/31/2024"}},"time":"2024-11-21T12:55:51.935157918","type":"REACTIVE_ERROR"}],"testBadNameApplication":[{"errortype":"ValidationError","result":{"message":"unsupportedNameApplication","params":{"path":"OA_application","nameApplication":"F4KE app!cat°"}},"time":"2024-11-21T12:55:28.337162795","type":"REACTIVE_ERROR"}],"testBadVersionApplication":[{"errortype":"ValidationError","result":{"message":"badVersionPattern","params":{"givenVersion":"-2","path":"OA_application"}},"time":"2024-11-21T12:55:12.898517756","type":"REACTIVE_ERROR"}],"testUnknownColumnNumberToFirstRowLineInConstantComponents":[{"errortype":"ValidationError","result":{"message":"negativeConstantImportHeaderColumnNumber","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_importHeaderTarget > OA_columnNumber"}},"time":"2024-11-21T12:55:54.627569228","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"negativeConstantImportHeaderColumnNumber","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_columnNumber"}},"time":"2024-11-21T12:57:06.894661163","type":"REACTIVE_ERROR"}],"testBadBuilderVersion":[{"errortype":"ValidationError","result":{"message":"unsupportedOpenadomVersion","params":{"path":"OA_version","actualVersion":"2","expectedVersion":"2.0.1"}},"time":"2024-11-21T12:55:14.933506347","type":"REACTIVE_ERROR"}],"testMissingReferenceNameForChecker":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > sites > OA_basicComponents > tze_type_nom > OA_checker > OA_params > OA_reference > OA_name","referenceName":"toto"}},"time":"2024-11-21T12:54:41.628014547","type":"REACTIVE_ERROR"}],"testBadNameTag":[{"errortype":"ValidationError","result":{"message":"badTagsPatterns","params":{"path":"OA_data > especes","acceptedTagPatterns":["__HIDDEN__","__REFERENCE__","test","context","no-tag","__DATA__","__ORDER_([0-9]*)__"]}},"time":"2024-11-21T12:55:32.569698587","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"badTagsPatterns","params":{"path":"OA_data > type_de_sites","acceptedTagPatterns":["__HIDDEN__","__REFERENCE__","test","context","no-tag","__DATA__","__ORDER_([0-9]*)__"]}},"time":"2024-11-21T12:55:32.570603754","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"badTagsPatterns","params":{"path":"OA_data > sites","acceptedTagPatterns":["__HIDDEN__","__REFERENCE__","test","context","no-tag","__DATA__","__ORDER_([0-9]*)__"]}},"time":"2024-11-21T12:55:32.570909524","type":"REACTIVE_ERROR"}],"testReturnMultiplesErrors":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > site > OA_basicComponents > zet_chemin_parent > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-21T12:56:48.628090325","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_basicComponents > chemin > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-21T12:56:48.628488127","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_basicComponents > chemin > OA_defaultValue > OA_references","referenceName":"sites"}},"time":"2024-11-21T12:56:48.628571965","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_computedComponents > site_bassin > OA_checker > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-21T12:56:48.628773059","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_computedComponents > site_bassin > OA_defaultValue > OA_references","referenceName":"sites"}},"time":"2024-11-21T12:56:48.628821302","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-21T12:56:48.629129639","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_defaultValue > OA_references","referenceName":"sites"}},"time":"2024-11-21T12:56:48.629193332","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["site","especes","type_de_sites","projet","pem"],"path":"OA_data > pem > OA_validations > reference > OA_validations > OA_checker > OA_params > OA_reference > OA_name","referenceName":"sites"}},"time":"2024-11-21T12:56:48.629528208","type":"REACTIVE_ERROR"}],"testEmptyFile":[{"errortype":"ValidationError","result":{"message":"emptyFile","params":{}},"time":"2024-11-21T12:55:26.312040951","type":"REACTIVE_ERROR"}],"testunknownComponentNameForAuthorization":[{"errortype":"ValidationError","result":{"message":"unknownComponentForComponentName","params":{"unknownComponent":"proj","knownComponents":["site_bassin","site","tel_experimental_site","projet","espece","chemin"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 2 > OA_component"}},"time":"2024-11-21T12:55:22.085080875","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unknownNameReferenceScope","params":{"path":"OA_submission > OA_fileName > OA_referenceScopes > projet","knownAuthorizationScope":["site_bassin","proj"],"unknownAuthorizationScope":"projet"}},"time":"2024-11-21T12:55:22.085257767","type":"REACTIVE_ERROR"}],"testMissingNameChecker":[{"errortype":"ValidationError","result":{"message":"missingCheckerName","params":{"path":"OA_data > sites > OA_basicComponents > tze_type_nom","acceptedCheckerNames":["OA_reference","OA_float","OA_date","OA_groovyExpression","OA_boolean","OA_integer","OA_string"]}},"time":"2024-11-21T12:55:49.846051714","type":"REACTIVE_ERROR"}],"testduplicatedComponentInPatternComponent":[{"errortype":"ValidationError","result":{"message":"duplicatedComponentHeaderInPatternComponent","params":{"duplicatedPathes":["OA_data > pem > OA_patternComponents > tel_value > OA_componentQualifiers > tel_date","OA_data > pem > OA_patternComponents > tel_value > OA_componentAdjacents > tel_date"],"path":"OA_data > pem > OA_patternComponents > tel_value > OA_componentAdjacents > tel_date","qualifierName":"tel_date","data":"pem","patternComponent":"tel_value"}},"time":"2024-11-21T12:56:10.250150335","type":"REACTIVE_ERROR"}],"testMissingComponentNameValidation":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_validations > reference > OA_components"}},"time":"2024-11-21T12:55:45.482146705","type":"REACTIVE_ERROR"}],"testInvalidPatternForCheckerDate":[{"errortype":"ValidationError","result":{"message":"invalidPatternForCheckerDate","params":{"badPattern":"bb/MM/yyyy","path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params > OA_pattern"}},"time":"2024-11-21T12:54:59.035133613","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInAuthorizationScopes":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_i18n > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:56:18.625875779","type":"REACTIVE_ERROR"}],"testunknownComponentInTimeScopeInSubmission":[{"errortype":"ValidationError","result":{"message":"unknownComponentForComponentName","params":{"unknownComponent":"dates","knownComponents":["date"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_timeScope > OA_component"}},"time":"2024-11-21T12:55:08.309389588","type":"REACTIVE_ERROR"}],"testMissingPatternForCheckerDate":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params > OA_pattern"}},"time":"2024-11-21T12:54:54.133725871","type":"REACTIVE_ERROR"}],"testUnexpectedReferencesForDefaultValueInConstantComponents":[{"errortype":"ValidationError","result":{"message":"unknownReferenceName","params":{"allDataNames":["especes","type_de_sites","projet","pem","sites"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_defaultValue > OA_references","referenceName":"site"}},"time":"2024-11-21T12:56:20.713034631","type":"REACTIVE_ERROR"}],"testSuperieurImportHeaderRowNumberToFirstRowLineInConstantComponents":[{"errortype":"ValidationError","result":{"message":"badConstantImportHeaderRowNumber","params":{"givenRowNumber":8,"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_rowNumber","firstRowLine":7}},"time":"2024-11-21T12:55:10.748990538","type":"REACTIVE_ERROR"}],"testNegativeImportHeaderRowNumberInConstantComponents":[{"errortype":"ValidationError","result":{"message":"negativeConstantImportHeaderRowNumber","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_rowNumber"}},"time":"2024-11-21T12:54:44.060410763","type":"REACTIVE_ERROR"}],"testUnexpectedNameTagInData":[{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > especes","notExpectedDomainTags":["contxet"]}},"time":"2024-11-21T12:56:59.048379962","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > type_de_sites","notExpectedDomainTags":["contxet"]}},"time":"2024-11-21T12:56:59.049151097","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > sites","notExpectedDomainTags":["contxet"]}},"time":"2024-11-21T12:56:59.049373375","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataDynamicComponents":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_exportHeader > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:56:44.314470252","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInTags":[{"errortype":"ValidationError","result":{"message":"unsuportedI18nKeyLanguage","params":{"path":"OA_tags > test"}},"time":"2024-11-21T12:55:03.166026841","type":"REACTIVE_ERROR"}],"testNegativeColumnNumberToFirstRowLineInConstantComponents":[{"errortype":"ValidationError","result":{"message":"negativeConstantImportHeaderColumnNumber","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_importHeaderTarget > OA_columnNumber"}},"time":"2024-11-21T12:56:50.738640893","type":"REACTIVE_ERROR"}],"testUnExpectedReservedTagPatternForDomainTag":[{"errortype":"ValidationError","result":{"message":"illegalDomainTagPattern","params":{"reservedTagNames":["HiddenTag[tagDefinition=HIDDEN_TAG]"],"path":"OA_tags","expectedPattern":"^[a-z][a-z_0-9]*[a-z0-9]$"}},"time":"2024-11-21T12:56:29.110758924","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > especes","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:29.110945011","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > projet","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:29.111485781","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > type_de_sites","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:29.111828344","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > sites","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:29.112169061","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_tags","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:29.112560258","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test"],"path":"OA_data > pem","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:29.112673612","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataInConstantComponentsExportheaderI18n":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_exportHeader > OA_description > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:56:14.514687043","type":"REACTIVE_ERROR"}],"testMissingRequiredSections":[{"errortype":"ValidationError","result":{"message":"missingVersionApplication","params":{"path":"","actualVersion":"2.0.1"}},"time":"2024-11-21T12:56:16.526559955","type":"REACTIVE_ERROR"}],"testMissingReferencesForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingMandatoriesSections","params":{"missingMandatoriesSections":["OA_reference"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_exportHeader > OA_component > OA_i18n"}},"time":"2024-11-21T12:55:19.089168849","type":"REACTIVE_ERROR"}],"testMissingRequiredValueForChecker":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > sites > OA_basicComponents > tze_type_nom > OA_checker > OA_params > OA_reference > OA_name"}},"time":"2024-11-21T12:55:01.089735332","type":"REACTIVE_ERROR"}],"testMissingAnyMandatorySectionsInConstantComponents":[{"errortype":"ValidationError","result":{"message":"missingAnyMandatoriesSections","params":{"path":"OA_data > pem > OA_constantComponents > tel_experimental_site > OA_importHeaderTarget > OA_rowNumber","anyMandatorySections":["OA_columnName","OA_columnNumber"]}},"time":"2024-11-21T12:56:33.507121372","type":"REACTIVE_ERROR"}],"testMissingBuilderVersion":[{"errortype":"ValidationError","result":{"message":"missingVersionApplication","params":{"path":"OA_version","expectedVersion":"2.0.1"}},"time":"2024-11-21T12:56:12.365632151","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInAuthorizationScopesExportheader":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 1 > OA_exportHeader > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:55:41.168356572","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInDataExportheaderI18n":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > especes > OA_computedComponents > my_computed_column > OA_exportHeader > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:54:30.665548249","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInApplication":[{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_application > OA_i18n > OA_title > en > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:56:01.51205683","type":"REACTIVE_ERROR"}],"testUnknownCheckerName":[{"errortype":"ValidationError","result":{"message":"unknownCheckerName","params":{"path":"OA_data > sites > OA_basicComponents > tze_type_nom","checkerName":"reference","acceptedCheckerNames":["OA_reference","OA_float","OA_date","OA_groovyExpression","OA_boolean","OA_integer","OA_string"]}},"time":"2024-11-21T12:55:16.969982715","type":"REACTIVE_ERROR"}],"testUnknownReferenceColumnToLookForHeaderInDataDynamicComponents":[{"errortype":"ValidationError","result":{"message":"unknownReferenceColumnToLookForHeader","params":{"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_referenceComponentToLookForHeader","listColumnsNameReference":["tze_definition_en","tze_definition_fr","tze_nom_en","tze_nom_fr","tze_nom_key"],"columnNameReference":"nom_key","referenceName":"type_de_sites"}},"time":"2024-11-21T12:54:49.004889489","type":"REACTIVE_ERROR"}],"testBadNameTagInDynamicComponents":[{"errortype":"ValidationError","result":{"message":"badTagsPatterns","params":{"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_tags","acceptedTagPatterns":["__HIDDEN__","__REFERENCE__","test","context","no-tag","__DATA__","__ORDER_([0-9]*)__"]}},"time":"2024-11-21T12:56:08.14928293","type":"REACTIVE_ERROR"}],"testMissingRequiredValueForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_reference"}},"time":"2024-11-21T12:55:24.194808299","type":"REACTIVE_ERROR"}],"testUnsuportedI18nKeyLanguageInValidation":[{"errortype":"ValidationError","result":{"message":"duplicateKey","params":{"columnNumber":8,"lineNumber":248,"duplicateKeys":"sites"}},"time":"2024-11-21T12:55:36.728761045","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"duplicatedComponentHeader","params":{"duplicatedImportHeader":["zet_nom_key","zet_chemin_parent"],"path":"OA_data > sites","duplicatedHeader":"zet_chemin_parent","data":"sites"}},"time":"2024-11-21T12:56:24.953954899","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"unexpectedSections","params":{"expectedSections":["sbp","ksh","nyn","ps","pt","luo","fil","mgh","luy","ccp","mgo","bas","raj","teo","qu","af","brx","ak","am","kde","ar","as","az","rm","rn","ro","ceb","ru","be","bg","rw","kea","bm","bn","bo","sa","twq","br","sc","sd","bs","xog","se","sg","si","seh","sk","sl","sn","so","sq","ca","sr","mzn","ses","su","ce","sv","sw","ta","asa","yav","cs","te","yrl","tg","cv","th","ti","cy","tk","dyo","to","da","tr","tt","de","cgg","ast","nmg","bem","ug","kgp","dz","bez","uk","ur","dje","haw","ee","uz","tzm","el","nnh","en","eo","chr","es","et","eu","vi","khq","shi","hsb","fa","bgc","ff","fi","rwk","yue","fo","fr","fy","jgo","lkt","wo","zgh","wae","ga","pcm","gd","gl","bho","mni","gu","gv","xh","ha","ckb","he","hi","gsw","hr","agq","kkj","hu","yi","hy","yo","ia","id","ig","vai","naq","ii","frr","is","it","kln","zh","ja","zu","doi","jv","guz","tok","mai","smn","ka","sms","ki","mas","kk","kl","km","kn","ko","ks","ku","kw","ky","lb","ebu","lg","nds","jmc","ln","fur","lo","kok","lt","lu","lv","nus","vun","lag","dav","mg","pis","lrc","mi","mk","ml","mn","mr","ms","mt","my","mdf","dsb","nb","nd","ne","mua","nl","nn","no","rof","kab","oc","kam","mer","sah","om","ann","saq","or","os","sat","mfe","dua","pa","ksb","ewo","pl","ksf"],"path":"OA_data > pem > OA_validations > reference > OA_i18n > frrr","unexpectedSections":["frrr"]}},"time":"2024-11-21T12:56:27.007799842","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"duplicatedComponentName","params":{"duplicatedPathes":["OA_data > pem > OA_constantComponents > tel_experimental_site","OA_data > pem > OA_patternComponents > tel_experimental_site"],"path":"OA_data > pem > OA_patternComponents > tel_experimental_site","componentName":"tel_experimental_site"}},"time":"2024-11-21T12:56:42.220294965","type":"REACTIVE_ERROR"}],"testMissingAnyMandatoriesSectionsForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingMandatoriesSections","params":{"missingMandatoriesSections":["OA_reference","OA_component"],"path":"OA_data > pem > OA_submission > OA_submissionScope > OA_referenceScopes > 0 > OA_exportHeader > OA_i18n"}},"time":"2024-11-21T12:56:40.165055402","type":"REACTIVE_ERROR"}],"testInvalidNaturalKey":[{"errortype":"ValidationError","result":{"message":"invalidNaturalKey","params":{"path":"OA_data > especes","invalidNaturalKeyElements":["espNom"],"expectedComponentLabel":["colonne_homonyme_entre_referentiels","esp_definition_en","my_computed_column","esp_nom","esp_definition_fr"]}},"time":"2024-11-21T12:56:03.884596358","type":"REACTIVE_ERROR"}],"testInvalidDurationForCheckerDate":[{"errortype":"ValidationError","result":{"message":"invalidDurationCheckerDate","params":{"declaredDuration":"1 Yearss","path":"OA_data > pem > OA_basicComponents > date > OA_checker > OA_params"}},"time":"2024-11-21T12:56:52.75074578","type":"REACTIVE_ERROR"}],"testMissingRequiredValueForDynamicColumns":[{"errortype":"ValidationError","result":{"message":"missingRequiredValue","params":{"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_reference"}},"time":"2024-11-21T12:57:01.543070775","type":"REACTIVE_ERROR"}],"testUnexpectedNameTagInBasicComponent":[{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > pem > OA_basicComponents > projet > OA_tags","notExpectedDomainTags":["testz"]}},"time":"2024-11-21T12:55:59.345590049","type":"REACTIVE_ERROR"}],"testunknownComponentNameValidation":[{"errortype":"ValidationError","result":{"message":"unknownComponentForComponentName","params":{"unknownComponent":"sites","knownComponents":["site_bassin","date","tel_experimental_site","site","bassin","projet","espece","ordre_affichage","chemin","tel_experimental_network","plateforme","is_float_value","tel_value"],"path":"OA_data > pem > OA_validations > reference > OA_components"}},"time":"2024-11-21T12:55:57.27298963","type":"REACTIVE_ERROR"}],"testNotExpectedTagsInConstantComponents":[{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":["test","context"],"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_tags","notExpectedDomainTags":["testz"]}},"time":"2024-11-21T12:55:47.653641394","type":"REACTIVE_ERROR"}],"testMissingComponentNameInColumnsForAuthorization":[{"errortype":"ValidationError","result":{"message":"missingComponentForComponentName","params":{"knownComponents":["site_bassin","date","tel_experimental_site","site","bassin","projet","espece","ordre_affichage","chemin","tel_experimental_network","plateforme","is_float_value","tel_value"],"path":"OA_data > pem > OA_validations > reference > OA_components"}},"time":"2024-11-21T12:56:56.982895847","type":"REACTIVE_ERROR"}],"testBadDomaineTagPattern":[{"errortype":"ValidationError","result":{"message":"badDomainTagPattern","params":{"path":"OA_tags","domainTagPattern":"^[a-z][a-z_0-9]*[a-z0-9]$"}},"time":"2024-11-21T12:56:46.431768866","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"illegalDomainTagPattern","params":{"reservedTagNames":["NoTag[tagDefinition=NO_TAG, tagName=no_tag]"],"path":"OA_tags","expectedPattern":"^[a-z][a-z_0-9]*[a-z0-9]$"}},"time":"2024-11-21T12:56:46.432176318","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > especes","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:46.432454913","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > especes > OA_basicComponents > esp_nom > OA_tags","notExpectedDomainTags":["test"]}},"time":"2024-11-21T12:56:46.433231882","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > projet","notExpectedDomainTags":["test","context"]}},"time":"2024-11-21T12:56:46.434273573","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > type_de_sites","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:46.434593839","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > sites","notExpectedDomainTags":["context"]}},"time":"2024-11-21T12:56:46.43492737","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > sites > OA_dynamicComponents > proprieteDeTaxon > OA_tags","notExpectedDomainTags":["test","context"]}},"time":"2024-11-21T12:56:46.43600391","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > pem","notExpectedDomainTags":["test","context"]}},"time":"2024-11-21T12:56:46.43618696","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > pem > OA_basicComponents > projet > OA_tags","notExpectedDomainTags":["test"]}},"time":"2024-11-21T12:56:46.436552226","type":"REACTIVE_ERROR"},{"errortype":"ValidationError","result":{"message":"notExpectedDomainTags","params":{"expectedDomainTags":[],"path":"OA_data > pem > OA_constantComponents > tel_experimental_network > OA_tags","notExpectedDomainTags":["test"]}},"time":"2024-11-21T12:56:46.437209375","type":"REACTIVE_ERROR"}]} \ No newline at end of file diff --git a/ui/cypress/fixtures/applications/ore/monsore/changeMonsore.txt b/ui/cypress/fixtures/applications/ore/monsore/changeMonsore.txt index 0cee997..a4986de 100644 --- a/ui/cypress/fixtures/applications/ore/monsore/changeMonsore.txt +++ b/ui/cypress/fixtures/applications/ore/monsore/changeMonsore.txt @@ -1,17 +1,17 @@ -{"result":0.0,"time":[2024,11,19,20,40,25,356689148],"type":"REACTIVE_PROGRESS"} -{"result":"application.ChangeConfiguration.configuration.rights.checking","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,357685573],"type":"REACTIVE_INFO"} -{"result":0.02,"time":[2024,11,19,20,40,25,357721264],"type":"REACTIVE_PROGRESS"} -{"result":"application.ChangeConfiguration.configuration.parsingConfiguration.forSingle","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,357755155],"type":"REACTIVE_INFO"} -{"result":"application.ChangeConfiguration.configuration.testYamlIsvalid","params":null,"time":[2024,11,19,20,40,25,357774651],"type":"REACTIVE_INFO"} -{"result":"application.ChangeConfiguration.configuration.yamlIsvalid","params":null,"time":[2024,11,19,20,40,25,358666907],"type":"REACTIVE_INFO"} -{"result":"application.ChangeConfiguration.configuration.versionIsValid","params":null,"time":[2024,11,19,20,40,25,358685935],"type":"REACTIVE_INFO"} -{"result":0.03,"time":[2024,11,19,20,40,25,358693846],"type":"REACTIVE_PROGRESS"} -{"result":"application.ChangeConfiguration.configuration.Starting parsing of configuration","params":{},"time":[2024,11,19,20,40,25,410099565],"type":"REACTIVE_INFO"} -{"result":0.0,"time":[2024,11,19,20,40,25,410163953],"type":"REACTIVE_PROGRESS"} -{"result":0.0,"time":[2024,11,19,20,40,25,410174484],"type":"REACTIVE_PROGRESS"} -{"result":"application.ChangeConfiguration.configuration.CheckSyntax.startValidation.start","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,423021743],"type":"REACTIVE_INFO"} -{"result":"application.configuration.create.register.start","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,423083614],"type":"REACTIVE_INFO"} -{"result":"application.ChangeConfiguration.configuration.parsingConfiguration.endparsing","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,423099483],"type":"REACTIVE_INFO"} -{"result":"application.register","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,452549225],"type":"REACTIVE_INFO"} -{"result":"2383200e-3a2c-45ae-9f6e-d5fc490a22aa","time":[2024,11,19,20,40,25,468590699],"type":"REACTIVE_RESULT"} -{"result":1.0,"time":[2024,11,19,20,40,25,468656405],"type":"REACTIVE_PROGRESS"} +{"result":0.0,"time":[2024,11,21,12,51,41,767139757],"type":"REACTIVE_PROGRESS"} +{"result":"application.ChangeConfiguration.configuration.rights.checking","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,768592771],"type":"REACTIVE_INFO"} +{"result":0.02,"time":[2024,11,21,12,51,41,768643736],"type":"REACTIVE_PROGRESS"} +{"result":"application.ChangeConfiguration.configuration.parsingConfiguration.forSingle","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,768696731],"type":"REACTIVE_INFO"} +{"result":"application.ChangeConfiguration.configuration.testYamlIsvalid","params":null,"time":[2024,11,21,12,51,41,768713926],"type":"REACTIVE_INFO"} +{"result":"application.ChangeConfiguration.configuration.yamlIsvalid","params":null,"time":[2024,11,21,12,51,41,770364468],"type":"REACTIVE_INFO"} +{"result":"application.ChangeConfiguration.configuration.versionIsValid","params":null,"time":[2024,11,21,12,51,41,770445236],"type":"REACTIVE_INFO"} +{"result":0.03,"time":[2024,11,21,12,51,41,770457946],"type":"REACTIVE_PROGRESS"} +{"result":"application.ChangeConfiguration.configuration.Starting parsing of configuration","params":{},"time":[2024,11,21,12,51,41,845333656],"type":"REACTIVE_INFO"} +{"result":0.0,"time":[2024,11,21,12,51,41,845396132],"type":"REACTIVE_PROGRESS"} +{"result":0.0,"time":[2024,11,21,12,51,41,845411538],"type":"REACTIVE_PROGRESS"} +{"result":"application.ChangeConfiguration.configuration.CheckSyntax.startValidation.start","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,866211108],"type":"REACTIVE_INFO"} +{"result":"application.configuration.create.register.start","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,866265975],"type":"REACTIVE_INFO"} +{"result":"application.ChangeConfiguration.configuration.parsingConfiguration.endparsing","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,866285695],"type":"REACTIVE_INFO"} +{"result":"application.register","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,905072152],"type":"REACTIVE_INFO"} +{"result":"83698136-388e-4fdd-a953-3edf01d41588","time":[2024,11,21,12,51,41,927462162],"type":"REACTIVE_RESULT"} +{"result":1.0,"time":[2024,11,21,12,51,41,927574545],"type":"REACTIVE_PROGRESS"} diff --git a/ui/cypress/fixtures/applications/ore/monsore/createMonsore.txt b/ui/cypress/fixtures/applications/ore/monsore/createMonsore.txt index 01d6a52..50e98b2 100644 --- a/ui/cypress/fixtures/applications/ore/monsore/createMonsore.txt +++ b/ui/cypress/fixtures/applications/ore/monsore/createMonsore.txt @@ -1,21 +1,21 @@ -{"result":0.0,"time":[2024,11,19,20,40,25,94341241],"type":"REACTIVE_PROGRESS"} -{"result":"application.createConfiguration.configuration.rights.checking","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,95566370],"type":"REACTIVE_INFO"} -{"result":0.02,"time":[2024,11,19,20,40,25,95707209],"type":"REACTIVE_PROGRESS"} -{"result":"application.createConfiguration.configuration.parsingConfiguration.forSingle","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,95760793],"type":"REACTIVE_INFO"} -{"result":"application.createConfiguration.configuration.testYamlIsvalid","params":null,"time":[2024,11,19,20,40,25,95788682],"type":"REACTIVE_INFO"} -{"result":"application.createConfiguration.configuration.yamlIsvalid","params":null,"time":[2024,11,19,20,40,25,97287791],"type":"REACTIVE_INFO"} -{"result":"application.createConfiguration.configuration.versionIsValid","params":null,"time":[2024,11,19,20,40,25,97323752],"type":"REACTIVE_INFO"} -{"result":0.03,"time":[2024,11,19,20,40,25,97333203],"type":"REACTIVE_PROGRESS"} -{"result":"application.createConfiguration.configuration.Starting parsing of configuration","params":{},"time":[2024,11,19,20,40,25,133143907],"type":"REACTIVE_INFO"} -{"result":0.0,"time":[2024,11,19,20,40,25,133210001],"type":"REACTIVE_PROGRESS"} -{"result":0.0,"time":[2024,11,19,20,40,25,133219396],"type":"REACTIVE_PROGRESS"} -{"result":"application.createConfiguration.configuration.CheckSyntax.startValidation.start","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,153349422],"type":"REACTIVE_INFO"} -{"result":"application.configuration.create.register.start","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,153429508],"type":"REACTIVE_INFO"} -{"result":"application.createConfiguration.configuration.parsingConfiguration.endparsing","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,153809007],"type":"REACTIVE_INFO"} -{"result":"application.register","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,293009525],"type":"REACTIVE_INFO"} -{"result":"application.createConfiguration.viewCreation.start","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,293072746],"type":"REACTIVE_INFO"} -{"result":0.5,"time":[2024,11,19,20,40,25,293251385],"type":"REACTIVE_PROGRESS"} -{"result":"application.createConfiguration.viewCreation.end","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,293278597],"type":"REACTIVE_INFO"} -{"result":"2383200e-3a2c-45ae-9f6e-d5fc490a22aa","time":[2024,11,19,20,40,25,293288807],"type":"REACTIVE_RESULT"} -{"result":1.0,"time":[2024,11,19,20,40,25,293358918],"type":"REACTIVE_PROGRESS"} -{"result":1.0,"time":[2024,11,19,20,40,25,293377094],"type":"REACTIVE_PROGRESS"} +{"result":0.0,"time":[2024,11,21,12,51,41,227228153],"type":"REACTIVE_PROGRESS"} +{"result":"application.createConfiguration.configuration.rights.checking","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,229018987],"type":"REACTIVE_INFO"} +{"result":0.02,"time":[2024,11,21,12,51,41,229182588],"type":"REACTIVE_PROGRESS"} +{"result":"application.createConfiguration.configuration.parsingConfiguration.forSingle","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,229238923],"type":"REACTIVE_INFO"} +{"result":"application.createConfiguration.configuration.testYamlIsvalid","params":null,"time":[2024,11,21,12,51,41,229320442],"type":"REACTIVE_INFO"} +{"result":"application.createConfiguration.configuration.yamlIsvalid","params":null,"time":[2024,11,21,12,51,41,232292762],"type":"REACTIVE_INFO"} +{"result":"application.createConfiguration.configuration.versionIsValid","params":null,"time":[2024,11,21,12,51,41,232354018],"type":"REACTIVE_INFO"} +{"result":0.03,"time":[2024,11,21,12,51,41,232368072],"type":"REACTIVE_PROGRESS"} +{"result":"application.createConfiguration.configuration.Starting parsing of configuration","params":{},"time":[2024,11,21,12,51,41,338450384],"type":"REACTIVE_INFO"} +{"result":0.0,"time":[2024,11,21,12,51,41,338546468],"type":"REACTIVE_PROGRESS"} +{"result":0.0,"time":[2024,11,21,12,51,41,338572115],"type":"REACTIVE_PROGRESS"} +{"result":"application.createConfiguration.configuration.CheckSyntax.startValidation.start","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,380781988],"type":"REACTIVE_INFO"} +{"result":"application.configuration.create.register.start","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,380884851],"type":"REACTIVE_INFO"} +{"result":"application.createConfiguration.configuration.parsingConfiguration.endparsing","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,381182133],"type":"REACTIVE_INFO"} +{"result":"application.register","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,651359161],"type":"REACTIVE_INFO"} +{"result":"application.createConfiguration.viewCreation.start","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,651459726],"type":"REACTIVE_INFO"} +{"result":0.5,"time":[2024,11,21,12,51,41,651737906],"type":"REACTIVE_PROGRESS"} +{"result":"application.createConfiguration.viewCreation.end","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,651779689],"type":"REACTIVE_INFO"} +{"result":"83698136-388e-4fdd-a953-3edf01d41588","time":[2024,11,21,12,51,41,651832977],"type":"REACTIVE_RESULT"} +{"result":1.0,"time":[2024,11,21,12,51,41,652002501],"type":"REACTIVE_PROGRESS"} +{"result":1.0,"time":[2024,11,21,12,51,41,652031135],"type":"REACTIVE_PROGRESS"} diff --git a/ui/cypress/fixtures/applications/ore/monsore/validateMonsore.txt b/ui/cypress/fixtures/applications/ore/monsore/validateMonsore.txt index 080b33f..46aa1a4 100644 --- a/ui/cypress/fixtures/applications/ore/monsore/validateMonsore.txt +++ b/ui/cypress/fixtures/applications/ore/monsore/validateMonsore.txt @@ -1,10 +1,10 @@ -{"result":"application.createConfiguration.testYamlIsvalid","params":null,"time":[2024,11,19,20,40,24,389949022],"type":"REACTIVE_INFO"} -{"result":"application.createConfiguration.yamlIsvalid","params":null,"time":[2024,11,19,20,40,24,391923646],"type":"REACTIVE_INFO"} -{"result":"application.createConfiguration.versionIsValid","params":null,"time":[2024,11,19,20,40,24,392068891],"type":"REACTIVE_INFO"} -{"result":0.01,"time":[2024,11,19,20,40,24,392465250],"type":"REACTIVE_PROGRESS"} -{"result":"application.createConfiguration.Starting parsing of configuration","params":{},"time":[2024,11,19,20,40,24,551650432],"type":"REACTIVE_INFO"} -{"result":0.0,"time":[2024,11,19,20,40,24,552141022],"type":"REACTIVE_PROGRESS"} -{"result":0.0,"time":[2024,11,19,20,40,24,552469969],"type":"REACTIVE_PROGRESS"} -{"result":"application.createConfiguration.CheckSyntax.startValidation.start","params":{"applicationName":"monsore"},"time":[2024,11,19,20,40,25,21529037],"type":"REACTIVE_INFO"} -{"result":{"id":"8fe0d43f-7868-4444-8927-64d4b2033db9","creationDate":null,"updateDate":null,"lastChartes":5336473980199903000,"name":"monsore","version":null,"data":["themes","especes","variables","type_de_sites","site_theme_datatype","unites","projet","valeurs_qualitatives","type_de_fichiers","variables_et_unites_par_types_de_donnees","pem","sites"],"additionalFiles":["fichiers","utilisateurs"],"configuration":{"version":{"version":"2.0.1","runTimeVersion":{}},"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"},{"tagDefinition":"DOMAIN_TAG","tagName":"data"},{"tagDefinition":"DOMAIN_TAG","tagName":"test"},{"tagDefinition":"DOMAIN_TAG","tagName":"unit"},{"tagDefinition":"DOMAIN_TAG","tagName":"temporal"}],"i18n":{"tags":{"unit":{"en":"unit","fr":"unité"},"data":{"en":"data","fr":"données"},"test":{"en":"test","fr":"test"},"context":{"en":"context","fr":"contexte"},"temporal":{"en":"temporality","fr":"temporalité"}},"application":{"title":{"en":"SOERE my SOERE","fr":"SOERE mon SOERE"},"description":{"en":"SOERE my SOERE","fr":"SOERE mon SOERE"}},"data":{"themes":{"validations":{},"exceptions":{},"components":{"description_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"La definition du thème"}}},"description_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"Thematic definition"}}},"nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"Site name"}}},"nom_fr":{"exportHeader":{"title":{"fr":"nom"},"description":{"fr":"Le nom du thème"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en}","fr":"{nom_fr}"},"description":{"en":"{description_en}","fr":"{description_fr}"}},"i18n":{"title":{"en":"Thematic","fr":"Thème"},"description":{"en":"Thematic list","fr":"Liste des thèmes"}}},"variables":{"validations":{},"exceptions":{},"components":{"definition_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"Variable definition"}}},"nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"Variable name"}}},"nom_fr":{"exportHeader":{"title":{"fr":"nom"},"description":{"fr":"Le nom de la variable"}}},"definition_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"La définition de la variable"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en}","fr":"{nom_fr}"},"description":{"en":"{definition_en}","fr":"{definition_fr}"}},"i18n":{"title":{"en":"Variables","fr":"Variables"},"description":{"en":"Variables list","fr":"Liste des variables"}}},"especes":{"validations":{},"exceptions":{},"components":{"my_computed_column":{"exportHeader":{"title":{"en":"computed column","fr":"colonne calculée"},"description":{"en":"a calculated column returning 'my value'","fr":"une colonne calculée retournant 'my value'"}}},"esp_definition_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"species definition"}}},"esp_definition_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"définition de l'espèce"}}},"esp_nom":{"exportHeader":{"title":{"en":"code","fr":"code"},"description":{"en":"code name of the species","fr":"nom codique de l'espèce"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{esp_nom}","fr":"{esp_nom}"},"description":{"en":"{esp_definition_en}","fr":"{esp_definition_fr}"}},"i18n":{"title":{"en":"Species","fr":"Espèces"},"description":{"en":"Description of species fished in the watershed","fr":"Description des espèces pêchées sur le bassin versant"}}},"site_theme_datatype":{"validations":{"checkDatatype":{"fr":"test"},"projetRef":{"fr":"référence au projet"},"sitesRef":{"fr":"référence au site"},"themesRef":{"fr":"référence au theme"}},"exceptions":{},"components":{},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"projet name: {projet}, site name : {site}, theme name : {theme}, data type name : {datatype}","fr":"nom du projet: {projet}, nom du site : {site}, nom du thème : {theme}, nom du type de données : {datatype}"},"description":{"en":"Join on projet name: {projet}, site name : {site}, theme name : {theme}, data type name : {datatype}","fr":"Jointure nom du projet: {projet}, nom du site : {site}, nom du thème : {theme}, nom du type de données : {datatype}"}},"i18n":{"title":{"en":"Data types by site and project","fr":"Types de données par site et projet"},"description":{"en":"Join table of theme sites and datatypes","fr":"Table de jointure des sites theme et datatypes"}}},"type_de_sites":{"validations":{},"exceptions":{},"components":{"tze_nom_fr":{"exportHeader":{"title":{"fr":"nom"},"description":{"fr":"La nom du type de sites"}}},"tze_nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"Site type name"}}},"tze_definition_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"Site type definition"}}},"tze_definition_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"La definition du type de site"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{tze_nom_en}","fr":"{tze_nom_fr}"},"description":{"en":"{tze_definition_en}","fr":"{tze_definition_fr}"}},"i18n":{"title":{"en":"Sites types","fr":"Types de sites"},"description":{"en":"Sites types list","fr":"Liste des types de sites"}}},"unites":{"validations":{},"exceptions":{},"components":{"nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"Unit name"}}},"code_en":{"exportHeader":{"title":{"en":"code"},"description":{"en":"Unit code"}}},"nom_fr":{"exportHeader":{"title":{"fr":"nom"},"description":{"fr":"La nom de l'unité"}}},"code_fr":{"exportHeader":{"title":{"fr":"code"},"description":{"fr":"Le code du unité"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en} ({code_key})","fr":"{nom_fr} ({code_key})"},"description":{}},"i18n":{"title":{"en":"Units","fr":"Unités"},"description":{"en":"Units list","fr":"Liste des unités"}}},"projet":{"validations":{},"exceptions":{},"components":{"definition_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"project definition"}}},"nom_en":{"exportHeader":{"title":{"en":"Name"},"description":{"en":"Project name"}}},"nom_fr":{"exportHeader":{"title":{"fr":"Nom"},"description":{"fr":"Nom du projet"}}},"definition_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"définition du projet"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en}","fr":"{nom_fr}"},"description":{"en":"{definition_en}","fr":"{definition_fr}"}},"i18n":{"title":{"en":"Project","fr":"Projet"},"description":{"en":"List of information system projects","fr":"Liste des projets du système d'information"}}},"valeurs_qualitatives":{"validations":{},"exceptions":{},"components":{"valeur_fr":{"exportHeader":{"title":{"fr":"valeur"},"description":{"fr":"La valeur dans la liste"}}},"nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"The name list"}}},"valeur_en":{"exportHeader":{"title":{"en":"value"},"description":{"en":"The value in list"}}},"nom_fr":{"exportHeader":{"title":{"fr":"Nom"},"description":{"fr":"Le nom de la liste"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{valeur_en}","fr":"{valeur_fr}"},"description":{"en":"{valeur_en} of {nom_en}","fr":"{valeur_fr} de {nom_fr}"}},"i18n":{"title":{"en":"Qualitative values","fr":"Valeurs qualitatives"},"description":{"en":"List of qualitative values list","fr":"Liste de liste de valeurs qualitatives"}}},"variables_et_unites_par_types_de_donnees":{"validations":{"checkDatatype":{"fr":"test"},"uniteRef":{"fr":"référence à l'unité'"},"variableRef":{"fr":"référence à la variable"}},"exceptions":{},"components":{},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"datatype name : {datatype}, variable name : {variable}, : unit name {unite}","fr":"nom du type de données : {datatype}, nom de la variable : {variable}, : nom de l'unité {unite}"},"description":{"en":"Join ondatatype name : {datatype}, variable name : {variable}, : unit name {unite}","fr":"Jointure des nom du type de données : {datatype}, nom de la variable : {variable}, : nom de l'unité {unite}"}},"i18n":{"title":{"en":"Variables and units by data type","fr":"Variables et unités par type de données"},"description":{"en":"Variables and units by data type join list","fr":"Liste de jointure des variables et unités par type de données"}}},"type_de_fichiers":{"validations":{},"exceptions":{},"components":{"description_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"Thematic definition"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en}","fr":"{nom_fr}"},"description":{"en":"{description_en}","fr":"{description_fr}"}},"i18n":{"title":{"en":"Files types","fr":"Types de fichiers"},"description":{"en":"The files types","fr":"Les types de fichiers"}}},"pem":{"validations":{"unitOfIndividus":{"fr":"vérifie l'unité du nombre d'individus"},"unitOfColor":{"fr":"vérifie l'unité de la couleur des individus"}},"exceptions":{},"components":{"chemin":{"exportHeader":{"title":{"en":"Path","fr":"Chemin"},"description":{"en":"Data calculating the full path of the site","fr":"Données calculant le chemin complet du site"}}},"color_value":{"exportHeader":{"title":{"en":"United colors","fr":"Couleur des individus"},"description":{}}},"individusNumbervalue":{"exportHeader":{"title":{"en":"Number of individuals","fr":"Nombre d'individus"},"description":{}}}},"submissions":{"referenceScopes":{"projet":{"title":{"en":"project","fr":"projet"},"description":{"en":"Choose the project","fr":"Choisissez le projet"}},"sites":{"title":{"en":"site","fr":"site"},"description":{"en":"The site","fr":"Le site"}}}},"i18nDisplayPattern":null,"i18n":{"title":{"en":"Trap in ascent","fr":"Piégeage en Montée"},"description":{"en":"Upstream trapping fishing data","fr":"Données de pêche par piégeage en Montée"}}},"sites":{"validations":{},"exceptions":{},"components":{"zet_description_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"site definition"}}},"zet_nom_fr":{"exportHeader":{"title":{"fr":"Nom du site"},"description":{"fr":"Le nom du site"}}},"zet_nom_en":{"exportHeader":{"title":{"en":"Site name"},"description":{"en":"The site name"}}},"zet_description_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"La definition du site"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{zet_chemin_parent} - {zet_nom_fr}","fr":"{zet_chemin_parent} - {zet_nom_fr} "},"description":{"en":"{zet_description_en}","fr":"{zet_description_fr}"}},"i18n":{"title":{"en":"Site","fr":"Site"},"description":{"en":"Sites list","fr":"Liste des sites du système d'information"}}}},"rightsrequest":{"fields":{"endDate":{"title":{"en":"Give the project end date","fr":"Date de fin du projet"},"description":{"en":"Project end date","fr":"Donnez la date de fin du projet"}},"organization":{"title":{"en":"Name of research organization","fr":"Nom de l'organisme de recherche"},"description":{"en":"Usual ame of research organization","fr":"Nom usuel de l'organisme de recherche"}},"project":{"title":{"en":"Description of the research project","fr":"Description du projet de recherche"},"description":{"en":"Describe your the research project","fr":"Donnez une description du projet de recherche"}},"startDate":{"title":{"en":"Project start date","fr":"Date de début du projet"},"description":{"en":"Give the project start date","fr":"Donnez la date de début du projet"}}},"i18n":{"title":{"en":"You can request rights to the monsore application by filling out this form","fr":"Vous pouvez demander des droits à l'application monsore en remplissant ce formulaire"},"description":{"en":"Monsoere Data Access Right Request Form","fr":"Formulaire de demande de droit d'accès aux données de Monsoere"}}},"additionalFiles":{"utilisateurs":{"i18n":{"title":{"en":"Users","fr":"Utilsateurs"},"description":{"en":"System User Description Files","fr":"Fichiers de dexcription des utilisateurs du système"}},"fields":{"prenom":{"title":{"en":"Surname","fr":"Prénom"},"description":{"en":"User surname","fr":"Prénom de l'utilisateur"}},"nom":{"title":{"en":"Name","fr":"Nom"},"description":{"en":"User name","fr":"Nom de l'utilisateur"}}}},"fichiers":{"i18n":{"title":{"en":"Files","fr":"Fichiers"},"description":{"en":"Various files relating to the Information System","fr":"Différents fichiers afférents au Système d'Information"}},"fields":{"date":{"title":{"en":"Date","fr":"Date"},"description":{"en":"The date the file was updated","fr":"La date de mise à jour du fichier"}},"site":{"title":{"en":"Place","fr":"Site"},"description":{"en":"Site described by the file","fr":"Site décrit par le fichier"}},"poids":{"title":{"en":"Weight","fr":"Poids"},"description":{"en":"File size in kb","fr":"Poids du fichier en ko"}},"nom":{"title":{"en":"Name","fr":"Nom"},"description":{"en":"The name of the file for download","fr":"Le nom du fichier pour téléchargement"}},"age":{"title":{"en":"Age","fr":"Age"},"description":{"en":"Minimum age for file access","fr":"Age minumum d'accès au fichier"}}}}}},"applicationDescription":{"name":"monsore","version":{"version":"3.0.1","runTimeVersion":{}},"defaultLanguage":"fr","comment":"Fichier de test de l'application brokenADOM version initiale"},"dataDescription":{"themes":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["nom_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"description_fr":{"type":"BasicComponent","componentKey":"description_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"description_fr","exportHeaderName":"description_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"description_en":{"type":"BasicComponent","componentKey":"description_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"description_en","exportHeaderName":"description_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"especes":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["esp_nom"],"componentDescriptions":{"colonne_homonyme_entre_referentiels":{"type":"BasicComponent","componentKey":"colonne_homonyme_entre_referentiels","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"colonne_homonyme_entre_referentiels","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"esp_definition_en":{"type":"BasicComponent","componentKey":"esp_definition_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"esp_definition_en","exportHeaderName":"esp_definition_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"my_computed_column":{"type":"ComputedComponent","componentKey":"my_computed_column","tags":[{"tagDefinition":"HIDDEN_TAG"}],"exportHeaderName":"my_computed_column","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"computationChecker":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"my value\";\n","references":null,"exceptionMessages":[],"codify":false,"data":null},"submissionAuthorizationScope":null,"hidden":true,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"esp_nom":{"type":"BasicComponent","componentKey":"esp_nom","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"test"}],"importHeader":"esp_nom","exportHeaderName":"esp_nom","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"esp_definition_fr":{"type":"BasicComponent","componentKey":"esp_definition_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"esp_definition_fr","exportHeaderName":"esp_definition_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"variables":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["nom_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"definition_en":{"type":"BasicComponent","componentKey":"definition_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"definition_en","exportHeaderName":"definition_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"is_qualitative":{"type":"BasicComponent","componentKey":"is_qualitative","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"isQualitative","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"definition_fr":{"type":"BasicComponent","componentKey":"definition_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"definition_fr","exportHeaderName":"definition_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"type_de_sites":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["tze_nom_key"],"componentDescriptions":{"tze_nom_key":{"type":"BasicComponent","componentKey":"tze_nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"tze_nom_fr":{"type":"BasicComponent","componentKey":"tze_nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_nom_fr","exportHeaderName":"tze_nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"tze_definition_fr":{"type":"BasicComponent","componentKey":"tze_definition_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_definition_fr","exportHeaderName":"tze_definition_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"tze_nom_en":{"type":"BasicComponent","componentKey":"tze_nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_nom_en","exportHeaderName":"tze_nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"tze_definition_en":{"type":"BasicComponent","componentKey":"tze_definition_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_definition_en","exportHeaderName":"tze_definition_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"site_theme_datatype":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["projet","site","theme","datatype"],"componentDescriptions":{"site":{"type":"BasicComponent","componentKey":"site","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du site","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"theme":{"type":"BasicComponent","componentKey":"theme","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du thème","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"projet":{"type":"BasicComponent","componentKey":"projet","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du projet","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"datatype":{"type":"BasicComponent","componentKey":"datatype","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du type de données","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{"projetRef":{"checkers":{"projet":{"type":"ReferenceChecker","componentKey":"projet","multiplicity":"ONE","required":false,"refType":"projet","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["projet"],"required":false,"mandatory":"OPTIONAL"},"sitesRef":{"checkers":{"site":{"type":"ReferenceChecker","componentKey":"site","multiplicity":"ONE","required":false,"refType":"sites","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["site"],"required":false,"mandatory":"OPTIONAL"},"themesRef":{"checkers":{"theme":{"type":"ReferenceChecker","componentKey":"theme","multiplicity":"ONE","required":false,"refType":"themes","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["theme"],"required":false,"mandatory":"OPTIONAL"},"checkDatatype":{"checkers":{"datatype":{"type":"GroovyExpressionChecker","multiplicity":"ONE","required":false,"expression":"String datatype = datum.datatype; def data = application.getConfiguration().i18n().data ; if(data==null){\n return false;\n}; def i18n = data\n .collect{ it->it.value.i18n};\nif(i18n==null){\n return false;\n}; def title = i18n \n .collect{ it->it.title};\nif(title==null){\n return false;\n}; def french = title\n .collect { it->it.get(java.util.Locale.FRENCH)};\nreturn french \n .find{it->datatype.equals(fr.inra.oresing.domain.application.configuration.Ltree.fromUnescapedString(it.toString()).sql)}!=null;\n","references":null,"exceptionMessages":[],"codify":true,"data":null}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["datatype"],"required":false,"mandatory":"OPTIONAL"}},"depends":[],"migrations":null,"hidden":false,"order":9999},"unites":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["nom_key"],"componentDescriptions":{"code_en":{"type":"BasicComponent","componentKey":"code_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"code_en","exportHeaderName":"code_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"code_key":{"type":"BasicComponent","componentKey":"code_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"code_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"code_fr":{"type":"BasicComponent","componentKey":"code_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"code_fr","exportHeaderName":"code_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"projet":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"},{"tagDefinition":"DOMAIN_TAG","tagName":"test"},{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["nom_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"definition_en":{"type":"BasicComponent","componentKey":"definition_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"definition_en","exportHeaderName":"definition_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"colonne_homonyme_entre_referentiels":{"type":"BasicComponent","componentKey":"colonne_homonyme_entre_referentiels","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"colonne_homonyme_entre_referentiels","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"definition_fr":{"type":"BasicComponent","componentKey":"definition_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"definition_fr","exportHeaderName":"definition_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"valeurs_qualitatives":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["nom_key","valeur_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"valeur_en":{"type":"BasicComponent","componentKey":"valeur_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"valeur_en","exportHeaderName":"valeur_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"valeur_key":{"type":"BasicComponent","componentKey":"valeur_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"valeur_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"valeur_fr":{"type":"BasicComponent","componentKey":"valeur_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"valeur_fr","exportHeaderName":"valeur_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"type_de_fichiers":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"HIDDEN_TAG"}],"naturalKey":["nom_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"description_fr":{"type":"BasicComponent","componentKey":"description_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"description_fr","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"description_en":{"type":"BasicComponent","componentKey":"description_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"description_en","exportHeaderName":"description_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"variables_et_unites_par_types_de_donnees":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["datatype","variable"],"componentDescriptions":{"variable":{"type":"BasicComponent","componentKey":"variable","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom de la variable","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"datatype":{"type":"BasicComponent","componentKey":"datatype","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du type de données","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"unite":{"type":"BasicComponent","componentKey":"unite","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom de l'unité","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{"variableRef":{"checkers":{"variable":{"type":"ReferenceChecker","componentKey":"variable","multiplicity":"ONE","required":false,"refType":"variables","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["variable"],"required":false,"mandatory":"OPTIONAL"},"uniteRef":{"checkers":{"unite":{"type":"ReferenceChecker","componentKey":"unite","multiplicity":"ONE","required":false,"refType":"unites","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["unite"],"required":false,"mandatory":"OPTIONAL"},"checkDatatype":{"checkers":{"datatype":{"type":"GroovyExpressionChecker","multiplicity":"ONE","required":false,"expression":"String datatype = datum.datatype; def data = application.getConfiguration().i18n().data ; if(data==null){\n return false;\n}; def i18n = data\n .collect{ it->it.value.i18n};\nif(i18n==null){\n return false;\n}; def title = i18n \n .collect{ it->it.title};\nif(title==null){\n return false;\n}; def french = title\n .collect { it->it.get(java.util.Locale.FRENCH)};\nreturn french \n .find{it->datatype.equals(fr.inra.oresing.domain.application.configuration.Ltree.fromUnescapedString(it.toString()).sql)}!=null;\n","references":null,"exceptionMessages":[],"codify":true,"data":null}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["datatype"],"required":false,"mandatory":"OPTIONAL"}},"depends":[],"migrations":null,"hidden":false,"order":9999},"pem":{"separator":";","headerLine":4,"firstRowLine":5,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"ORDER_TAG","tagOrder":2},{"tagDefinition":"DOMAIN_TAG","tagName":"data"},{"tagDefinition":"DOMAIN_TAG","tagName":"test"},{"tagDefinition":"DOMAIN_TAG","tagName":"context"},{"tagDefinition":"DATA_TAG"}],"naturalKey":["projet","site","plateforme","date","espece"],"componentDescriptions":{"date":{"type":"BasicComponent","componentKey":"date","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":true,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"ORDER_TAG","tagOrder":1},{"tagDefinition":"DOMAIN_TAG","tagName":"temporal"}],"importHeader":"date","exportHeaderName":null,"langRestrictions":[],"required":true,"mandatory":"OPTIONAL","checker":{"type":"DateChecker","multiplicity":"ONE","required":true,"pattern":"dd/MM/yyyy","min":[-999999999,1,1,0,0],"max":[999999999,12,31,23,59,59,999999999],"duration":null},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"site":{"type":"BasicComponent","componentKey":"site","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"site","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"site","multiplicity":"ONE","required":false,"refType":"sites","isRecursive":false,"isParent":false},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"sites","chartDescription":null,"reference":true},"individusNumber_unit":{"type":"ComputedComponent","componentKey":"individusNumber_unit","tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"exportHeaderName":null,"langRestrictions":[],"required":true,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"individusNumber_unit","multiplicity":"ONE","required":true,"refType":"unites","isRecursive":false,"isParent":false},"computationChecker":{"type":"ComputationChecker","multiplicity":"ONE","required":true,"expression":"'sans_unite'","references":null,"exceptionMessages":[],"codify":false,"data":null},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"unites","chartDescription":null,"reference":true},"projet":{"type":"BasicComponent","componentKey":"projet","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"ORDER_TAG","tagOrder":2},{"tagDefinition":"DOMAIN_TAG","tagName":"test"}],"importHeader":"projet","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"projet","multiplicity":"ONE","required":false,"refType":"projet","isRecursive":false,"isParent":false},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"projet","chartDescription":null,"reference":true},"espece":{"type":"BasicComponent","componentKey":"espece","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"espece","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"espece","multiplicity":"ONE","required":false,"refType":"especes","isRecursive":false,"isParent":false},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"especes","chartDescription":null,"reference":true},"chemin":{"type":"ComputedComponent","componentKey":"chemin","tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"exportHeaderName":"chemin","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"chemin","multiplicity":"ONE","required":false,"refType":"sites","isRecursive":false,"isParent":false},"computationChecker":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return OA_buildCompositeKey(['site','plateforme']);\n","references":null,"exceptionMessages":[],"codify":false,"data":null},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"sites","chartDescription":null,"reference":true},"plateforme":{"type":"BasicComponent","componentKey":"plateforme","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"plateforme","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"color_value":{"type":"BasicComponent","componentKey":"color_value","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"Couleur des individus","exportHeaderName":"color_value","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"color_value","multiplicity":"ONE","required":false,"refType":"valeurs_qualitatives","isRecursive":false,"isParent":false},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"valeurs_qualitatives","chartDescription":null,"reference":true},"individusNumbervalue":{"type":"BasicComponent","componentKey":"individusNumbervalue","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return 0","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"Nombre d'individus","exportHeaderName":"individusNumbervalue","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"color_unit":{"type":"ComputedComponent","componentKey":"color_unit","tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"color_unit","multiplicity":"ONE","required":false,"refType":"unites","isRecursive":false,"isParent":false},"computationChecker":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"'sans_unite'","references":null,"exceptionMessages":[],"codify":false,"data":null},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"unites","chartDescription":null,"reference":true}},"submission":{"strategy":"OA_VERSIONING","fileNameParsing":{"pattern":"(.*)!(.*)!(.*)!(.*).csv","authorizationScopes":["projet","chemin"],"startDate":3,"endDate":4},"submissionScope":{"referenceScopes":[{"reference":"projet","component":"projet"},{"reference":"sites","component":"chemin"}],"timescope":{"component":"date"}}},"authorization":{"authorizationScope":[{"component":"projet","data":"projet"},{"component":"chemin","data":"sites"}],"timeScope":"date"},"validations":{"unitOfColor":{"checkers":{},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":null,"required":false,"mandatory":"OPTIONAL"},"unitOfIndividus":{"checkers":{},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":null,"required":true,"mandatory":"OPTIONAL"}},"depends":[{"type":"DependsReferences","references":"sites","component":"site"},{"type":"DependsReferences","references":"unites","component":"individusNumber_unit"},{"type":"DependsReferences","references":"projet","component":"projet"},{"type":"DependsReferences","references":"especes","component":"espece"},{"type":"DependsReferences","references":"sites","component":"chemin"},{"type":"DependsReferences","references":"valeurs_qualitatives","component":"color_value"},{"type":"DependsReferences","references":"unites","component":"color_unit"}],"migrations":null,"hidden":false,"order":2},"sites":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["zet_chemin_parent","zet_nom_key"],"componentDescriptions":{"tze_type_nom":{"type":"BasicComponent","componentKey":"tze_type_nom","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":true,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_type_nom","exportHeaderName":null,"langRestrictions":[],"required":true,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"tze_type_nom","multiplicity":"ONE","required":true,"refType":"type_de_sites","isRecursive":false,"isParent":true},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"type_de_sites","chartDescription":null,"reference":true},"zet_description_en":{"type":"BasicComponent","componentKey":"zet_description_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_description_en","exportHeaderName":"zet_description_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_nom_fr":{"type":"BasicComponent","componentKey":"zet_nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_nom_fr","exportHeaderName":"zet_nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_nom_key":{"type":"BasicComponent","componentKey":"zet_nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_nom_en":{"type":"BasicComponent","componentKey":"zet_nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_nom_en","exportHeaderName":"zet_nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_description_fr":{"type":"BasicComponent","componentKey":"zet_description_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_description_fr","exportHeaderName":"zet_description_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_chemin_parent":{"type":"BasicComponent","componentKey":"zet_chemin_parent","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_chemin_parent","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"zet_chemin_parent","multiplicity":"ONE","required":false,"refType":"sites","isRecursive":true,"isParent":true},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"sites","chartDescription":null,"reference":true}},"submission":null,"authorization":null,"validations":{},"depends":[{"type":"DependsParent","references":"type_de_sites","component":"tze_type_nom"},{"type":"DependsParent","references":"sites","component":"zet_chemin_parent"}],"migrations":null,"hidden":false,"order":9999}},"rightsRequest":{"formFields":{"organization":{"order":0,"type":"RightsRequestField","required":true,"checker":{"type":"StringChecker","multiplicity":"ONE","required":true,"pattern":".*"}},"project":{"order":1,"type":"RightsRequestField","required":false,"checker":{"type":"StringChecker","multiplicity":"ONE","required":false,"pattern":".*"}},"startDate":{"order":2,"type":"RightsRequestField","required":false,"checker":{"type":"DateChecker","multiplicity":"ONE","required":false,"pattern":"dd/MM/yyyy","min":[-999999999,1,1,0,0],"max":[999999999,12,31,23,59,59,999999999],"duration":null}},"endDate":{"order":3,"type":"RightsRequestField","required":false,"checker":{"type":"DateChecker","multiplicity":"ONE","required":false,"pattern":"dd/MM/yyyy","min":[-999999999,1,1,0,0],"max":[999999999,12,31,23,59,59,999999999],"duration":null}}}},"additionalFiles":{"fichiers":{"formFields":{"nom":{"order":0,"type":"AdditionalFileField","required":false,"checker":{"type":"StringChecker","multiplicity":"ONE","required":false,"pattern":"[a-z]*"}},"date":{"order":1,"type":"AdditionalFileField","required":false,"checker":{"type":"DateChecker","multiplicity":"ONE","required":false,"pattern":"dd/MM/yyyy","min":[-999999999,1,1,0,0],"max":[999999999,12,31,23,59,59,999999999],"duration":null}},"age":{"order":2,"type":"AdditionalFileField","required":false,"checker":{"type":"IntegerChecker","multiplicity":"ONE","required":false,"min":-2147483648,"max":2147483647}},"poids":{"order":3,"type":"AdditionalFileField","required":false,"checker":{"type":"FloatChecker","multiplicity":"ONE","required":false,"min":10.0,"max":100.0}},"site":{"order":4,"type":"AdditionalFileField","required":true,"checker":{"type":"ReferenceChecker","componentKey":"site","multiplicity":"ONE","required":true,"refType":"sites","isRecursive":false,"isParent":false}}}},"utilisateurs":{"formFields":{"nom":{"order":0,"type":"AdditionalFileField","required":false,"checker":{"type":"StringChecker","multiplicity":"ONE","required":false,"pattern":"[a-z]*"}},"prenom":{"order":1,"type":"AdditionalFileField","required":false,"checker":{"type":"StringChecker","multiplicity":"ONE","required":false,"pattern":"[a-z]*"}}}}},"hierarchicalNodes":[{"nodeName":"especes","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"projet","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"pem","componentKey":"color_unit","columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":["sites","unites","projet","especes","valeurs_qualitatives","type_de_sites"],"order":2,"isRecursive":false},{"nodeName":"themes","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"site_theme_datatype","componentKey":"theme","columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":["sites","projet","themes","type_de_sites"],"order":9999,"isRecursive":false},{"nodeName":"type_de_fichiers","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"type_de_sites","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[{"nodeName":"sites","componentKey":"zet_chemin_parent","columnToLookUpForRecursive":"zet_chemin_parent","parent":"type_de_sites","children":[],"depends":["type_de_sites"],"order":9999,"isRecursive":true}],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"unites","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"valeurs_qualitatives","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"variables","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"variables_et_unites_par_types_de_donnees","componentKey":"variable","columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":["unites","variables"],"order":9999,"isRecursive":false}],"requiredAuthorizationsAttributes":["themes","variables","especes","site_theme_datatype","type_de_sites","unites","projet","valeurs_qualitatives","variables_et_unites_par_types_de_donnees","type_de_fichiers","pem","sites"],"hiddenData":["type_de_fichiers"]},"configFile":null,"allDataNames":["especes","projet","sites","themes","type_de_sites","site_theme_datatype","type_de_fichiers","unites","valeurs_qualitatives","variables","variables_et_unites_par_types_de_donnees","pem"]},"time":[2024,11,19,20,40,25,22281495],"type":"REACTIVE_RESULT"} -{"result":1.0,"time":[2024,11,19,20,40,25,22576085],"type":"REACTIVE_PROGRESS"} +{"result":"application.createConfiguration.testYamlIsvalid","params":null,"time":[2024,11,21,12,51,39,911475647],"type":"REACTIVE_INFO"} +{"result":"application.createConfiguration.yamlIsvalid","params":null,"time":[2024,11,21,12,51,39,914541406],"type":"REACTIVE_INFO"} +{"result":"application.createConfiguration.versionIsValid","params":null,"time":[2024,11,21,12,51,39,914806102],"type":"REACTIVE_INFO"} +{"result":0.01,"time":[2024,11,21,12,51,39,915747412],"type":"REACTIVE_PROGRESS"} +{"result":"application.createConfiguration.Starting parsing of configuration","params":{},"time":[2024,11,21,12,51,40,250952082],"type":"REACTIVE_INFO"} +{"result":0.0,"time":[2024,11,21,12,51,40,251405078],"type":"REACTIVE_PROGRESS"} +{"result":0.0,"time":[2024,11,21,12,51,40,251717244],"type":"REACTIVE_PROGRESS"} +{"result":"application.createConfiguration.CheckSyntax.startValidation.start","params":{"applicationName":"monsore"},"time":[2024,11,21,12,51,41,109459789],"type":"REACTIVE_INFO"} +{"result":{"id":"b57d5d1c-176b-48d6-9680-a2079347c02b","creationDate":null,"updateDate":null,"lastChartes":5336473980199903000,"name":"monsore","version":null,"data":["themes","especes","variables","type_de_sites","site_theme_datatype","unites","projet","valeurs_qualitatives","type_de_fichiers","variables_et_unites_par_types_de_donnees","pem","sites"],"additionalFiles":["fichiers","utilisateurs"],"configuration":{"version":{"version":"2.0.1","runTimeVersion":{}},"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"},{"tagDefinition":"DOMAIN_TAG","tagName":"data"},{"tagDefinition":"DOMAIN_TAG","tagName":"test"},{"tagDefinition":"DOMAIN_TAG","tagName":"unit"},{"tagDefinition":"DOMAIN_TAG","tagName":"temporal"}],"i18n":{"tags":{"unit":{"en":"unit","fr":"unité"},"data":{"en":"data","fr":"données"},"test":{"en":"test","fr":"test"},"context":{"en":"context","fr":"contexte"},"temporal":{"en":"temporality","fr":"temporalité"}},"application":{"title":{"en":"SOERE my SOERE","fr":"SOERE mon SOERE"},"description":{"en":"SOERE my SOERE","fr":"SOERE mon SOERE"}},"data":{"themes":{"validations":{},"exceptions":{},"components":{"description_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"La definition du thème"}}},"description_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"Thematic definition"}}},"nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"Site name"}}},"nom_fr":{"exportHeader":{"title":{"fr":"nom"},"description":{"fr":"Le nom du thème"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en}","fr":"{nom_fr}"},"description":{"en":"{description_en}","fr":"{description_fr}"}},"i18n":{"title":{"en":"Thematic","fr":"Thème"},"description":{"en":"Thematic list","fr":"Liste des thèmes"}}},"variables":{"validations":{},"exceptions":{},"components":{"definition_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"Variable definition"}}},"nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"Variable name"}}},"nom_fr":{"exportHeader":{"title":{"fr":"nom"},"description":{"fr":"Le nom de la variable"}}},"definition_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"La définition de la variable"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en}","fr":"{nom_fr}"},"description":{"en":"{definition_en}","fr":"{definition_fr}"}},"i18n":{"title":{"en":"Variables","fr":"Variables"},"description":{"en":"Variables list","fr":"Liste des variables"}}},"especes":{"validations":{},"exceptions":{},"components":{"my_computed_column":{"exportHeader":{"title":{"en":"computed column","fr":"colonne calculée"},"description":{"en":"a calculated column returning 'my value'","fr":"une colonne calculée retournant 'my value'"}}},"esp_definition_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"species definition"}}},"esp_definition_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"définition de l'espèce"}}},"esp_nom":{"exportHeader":{"title":{"en":"code","fr":"code"},"description":{"en":"code name of the species","fr":"nom codique de l'espèce"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{esp_nom}","fr":"{esp_nom}"},"description":{"en":"{esp_definition_en}","fr":"{esp_definition_fr}"}},"i18n":{"title":{"en":"Species","fr":"Espèces"},"description":{"en":"Description of species fished in the watershed","fr":"Description des espèces pêchées sur le bassin versant"}}},"site_theme_datatype":{"validations":{"checkDatatype":{"fr":"test"},"projetRef":{"fr":"référence au projet"},"sitesRef":{"fr":"référence au site"},"themesRef":{"fr":"référence au theme"}},"exceptions":{},"components":{},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"projet name: {projet}, site name : {site}, theme name : {theme}, data type name : {datatype}","fr":"nom du projet: {projet}, nom du site : {site}, nom du thème : {theme}, nom du type de données : {datatype}"},"description":{"en":"Join on projet name: {projet}, site name : {site}, theme name : {theme}, data type name : {datatype}","fr":"Jointure nom du projet: {projet}, nom du site : {site}, nom du thème : {theme}, nom du type de données : {datatype}"}},"i18n":{"title":{"en":"Data types by site and project","fr":"Types de données par site et projet"},"description":{"en":"Join table of theme sites and datatypes","fr":"Table de jointure des sites theme et datatypes"}}},"type_de_sites":{"validations":{},"exceptions":{},"components":{"tze_nom_fr":{"exportHeader":{"title":{"fr":"nom"},"description":{"fr":"La nom du type de sites"}}},"tze_nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"Site type name"}}},"tze_definition_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"Site type definition"}}},"tze_definition_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"La definition du type de site"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{tze_nom_en}","fr":"{tze_nom_fr}"},"description":{"en":"{tze_definition_en}","fr":"{tze_definition_fr}"}},"i18n":{"title":{"en":"Sites types","fr":"Types de sites"},"description":{"en":"Sites types list","fr":"Liste des types de sites"}}},"unites":{"validations":{},"exceptions":{},"components":{"nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"Unit name"}}},"code_en":{"exportHeader":{"title":{"en":"code"},"description":{"en":"Unit code"}}},"nom_fr":{"exportHeader":{"title":{"fr":"nom"},"description":{"fr":"La nom de l'unité"}}},"code_fr":{"exportHeader":{"title":{"fr":"code"},"description":{"fr":"Le code du unité"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en} ({code_key})","fr":"{nom_fr} ({code_key})"},"description":{}},"i18n":{"title":{"en":"Units","fr":"Unités"},"description":{"en":"Units list","fr":"Liste des unités"}}},"projet":{"validations":{},"exceptions":{},"components":{"definition_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"project definition"}}},"nom_en":{"exportHeader":{"title":{"en":"Name"},"description":{"en":"Project name"}}},"nom_fr":{"exportHeader":{"title":{"fr":"Nom"},"description":{"fr":"Nom du projet"}}},"definition_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"définition du projet"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en}","fr":"{nom_fr}"},"description":{"en":"{definition_en}","fr":"{definition_fr}"}},"i18n":{"title":{"en":"Project","fr":"Projet"},"description":{"en":"List of information system projects","fr":"Liste des projets du système d'information"}}},"valeurs_qualitatives":{"validations":{},"exceptions":{},"components":{"valeur_fr":{"exportHeader":{"title":{"fr":"valeur"},"description":{"fr":"La valeur dans la liste"}}},"nom_en":{"exportHeader":{"title":{"en":"name"},"description":{"en":"The name list"}}},"valeur_en":{"exportHeader":{"title":{"en":"value"},"description":{"en":"The value in list"}}},"nom_fr":{"exportHeader":{"title":{"fr":"Nom"},"description":{"fr":"Le nom de la liste"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{valeur_en}","fr":"{valeur_fr}"},"description":{"en":"{valeur_en} of {nom_en}","fr":"{valeur_fr} de {nom_fr}"}},"i18n":{"title":{"en":"Qualitative values","fr":"Valeurs qualitatives"},"description":{"en":"List of qualitative values list","fr":"Liste de liste de valeurs qualitatives"}}},"variables_et_unites_par_types_de_donnees":{"validations":{"checkDatatype":{"fr":"test"},"uniteRef":{"fr":"référence à l'unité'"},"variableRef":{"fr":"référence à la variable"}},"exceptions":{},"components":{},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"datatype name : {datatype}, variable name : {variable}, : unit name {unite}","fr":"nom du type de données : {datatype}, nom de la variable : {variable}, : nom de l'unité {unite}"},"description":{"en":"Join ondatatype name : {datatype}, variable name : {variable}, : unit name {unite}","fr":"Jointure des nom du type de données : {datatype}, nom de la variable : {variable}, : nom de l'unité {unite}"}},"i18n":{"title":{"en":"Variables and units by data type","fr":"Variables et unités par type de données"},"description":{"en":"Variables and units by data type join list","fr":"Liste de jointure des variables et unités par type de données"}}},"type_de_fichiers":{"validations":{},"exceptions":{},"components":{"description_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"Thematic definition"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{nom_en}","fr":"{nom_fr}"},"description":{"en":"{description_en}","fr":"{description_fr}"}},"i18n":{"title":{"en":"Files types","fr":"Types de fichiers"},"description":{"en":"The files types","fr":"Les types de fichiers"}}},"pem":{"validations":{"unitOfIndividus":{"fr":"vérifie l'unité du nombre d'individus"},"unitOfColor":{"fr":"vérifie l'unité de la couleur des individus"}},"exceptions":{},"components":{"chemin":{"exportHeader":{"title":{"en":"Path","fr":"Chemin"},"description":{"en":"Data calculating the full path of the site","fr":"Données calculant le chemin complet du site"}}},"color_value":{"exportHeader":{"title":{"en":"United colors","fr":"Couleur des individus"},"description":{}}},"individusNumbervalue":{"exportHeader":{"title":{"en":"Number of individuals","fr":"Nombre d'individus"},"description":{}}}},"submissions":{"referenceScopes":{"projet":{"title":{"en":"project","fr":"projet"},"description":{"en":"Choose the project","fr":"Choisissez le projet"}},"sites":{"title":{"en":"site","fr":"site"},"description":{"en":"The site","fr":"Le site"}}}},"i18nDisplayPattern":null,"i18n":{"title":{"en":"Trap in ascent","fr":"Piégeage en Montée"},"description":{"en":"Upstream trapping fishing data","fr":"Données de pêche par piégeage en Montée"}}},"sites":{"validations":{},"exceptions":{},"components":{"zet_description_en":{"exportHeader":{"title":{"en":"definition"},"description":{"en":"site definition"}}},"zet_nom_fr":{"exportHeader":{"title":{"fr":"Nom du site"},"description":{"fr":"Le nom du site"}}},"zet_nom_en":{"exportHeader":{"title":{"en":"Site name"},"description":{"en":"The site name"}}},"zet_description_fr":{"exportHeader":{"title":{"fr":"définition"},"description":{"fr":"La definition du site"}}}},"submissions":{"referenceScopes":{}},"i18nDisplayPattern":{"title":{"en":"{zet_chemin_parent} - {zet_nom_fr}","fr":"{zet_chemin_parent} - {zet_nom_fr} "},"description":{"en":"{zet_description_en}","fr":"{zet_description_fr}"}},"i18n":{"title":{"en":"Site","fr":"Site"},"description":{"en":"Sites list","fr":"Liste des sites du système d'information"}}}},"rightsrequest":{"fields":{"endDate":{"title":{"en":"Give the project end date","fr":"Date de fin du projet"},"description":{"en":"Project end date","fr":"Donnez la date de fin du projet"}},"organization":{"title":{"en":"Name of research organization","fr":"Nom de l'organisme de recherche"},"description":{"en":"Usual ame of research organization","fr":"Nom usuel de l'organisme de recherche"}},"project":{"title":{"en":"Description of the research project","fr":"Description du projet de recherche"},"description":{"en":"Describe your the research project","fr":"Donnez une description du projet de recherche"}},"startDate":{"title":{"en":"Project start date","fr":"Date de début du projet"},"description":{"en":"Give the project start date","fr":"Donnez la date de début du projet"}}},"i18n":{"title":{"en":"You can request rights to the monsore application by filling out this form","fr":"Vous pouvez demander des droits à l'application monsore en remplissant ce formulaire"},"description":{"en":"Monsoere Data Access Right Request Form","fr":"Formulaire de demande de droit d'accès aux données de Monsoere"}}},"additionalFiles":{"utilisateurs":{"i18n":{"title":{"en":"Users","fr":"Utilsateurs"},"description":{"en":"System User Description Files","fr":"Fichiers de dexcription des utilisateurs du système"}},"fields":{"prenom":{"title":{"en":"Surname","fr":"Prénom"},"description":{"en":"User surname","fr":"Prénom de l'utilisateur"}},"nom":{"title":{"en":"Name","fr":"Nom"},"description":{"en":"User name","fr":"Nom de l'utilisateur"}}}},"fichiers":{"i18n":{"title":{"en":"Files","fr":"Fichiers"},"description":{"en":"Various files relating to the Information System","fr":"Différents fichiers afférents au Système d'Information"}},"fields":{"date":{"title":{"en":"Date","fr":"Date"},"description":{"en":"The date the file was updated","fr":"La date de mise à jour du fichier"}},"site":{"title":{"en":"Place","fr":"Site"},"description":{"en":"Site described by the file","fr":"Site décrit par le fichier"}},"poids":{"title":{"en":"Weight","fr":"Poids"},"description":{"en":"File size in kb","fr":"Poids du fichier en ko"}},"nom":{"title":{"en":"Name","fr":"Nom"},"description":{"en":"The name of the file for download","fr":"Le nom du fichier pour téléchargement"}},"age":{"title":{"en":"Age","fr":"Age"},"description":{"en":"Minimum age for file access","fr":"Age minumum d'accès au fichier"}}}}}},"applicationDescription":{"name":"monsore","version":{"version":"3.0.1","runTimeVersion":{}},"defaultLanguage":"fr","comment":"Fichier de test de l'application brokenADOM version initiale"},"dataDescription":{"themes":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["nom_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"description_fr":{"type":"BasicComponent","componentKey":"description_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"description_fr","exportHeaderName":"description_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"description_en":{"type":"BasicComponent","componentKey":"description_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"description_en","exportHeaderName":"description_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"especes":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["esp_nom"],"componentDescriptions":{"colonne_homonyme_entre_referentiels":{"type":"BasicComponent","componentKey":"colonne_homonyme_entre_referentiels","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"colonne_homonyme_entre_referentiels","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"esp_definition_en":{"type":"BasicComponent","componentKey":"esp_definition_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"esp_definition_en","exportHeaderName":"esp_definition_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"my_computed_column":{"type":"ComputedComponent","componentKey":"my_computed_column","tags":[{"tagDefinition":"HIDDEN_TAG"}],"exportHeaderName":"my_computed_column","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"computationChecker":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"my value\";\n","references":null,"exceptionMessages":[],"codify":false,"data":null},"submissionAuthorizationScope":null,"hidden":true,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"esp_nom":{"type":"BasicComponent","componentKey":"esp_nom","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"test"}],"importHeader":"esp_nom","exportHeaderName":"esp_nom","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"esp_definition_fr":{"type":"BasicComponent","componentKey":"esp_definition_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"esp_definition_fr","exportHeaderName":"esp_definition_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"variables":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["nom_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"definition_en":{"type":"BasicComponent","componentKey":"definition_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"definition_en","exportHeaderName":"definition_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"is_qualitative":{"type":"BasicComponent","componentKey":"is_qualitative","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"isQualitative","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"definition_fr":{"type":"BasicComponent","componentKey":"definition_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"definition_fr","exportHeaderName":"definition_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"type_de_sites":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["tze_nom_key"],"componentDescriptions":{"tze_nom_key":{"type":"BasicComponent","componentKey":"tze_nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"tze_nom_fr":{"type":"BasicComponent","componentKey":"tze_nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_nom_fr","exportHeaderName":"tze_nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"tze_definition_fr":{"type":"BasicComponent","componentKey":"tze_definition_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_definition_fr","exportHeaderName":"tze_definition_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"tze_nom_en":{"type":"BasicComponent","componentKey":"tze_nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_nom_en","exportHeaderName":"tze_nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"tze_definition_en":{"type":"BasicComponent","componentKey":"tze_definition_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_definition_en","exportHeaderName":"tze_definition_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"site_theme_datatype":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["projet","site","theme","datatype"],"componentDescriptions":{"site":{"type":"BasicComponent","componentKey":"site","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du site","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"theme":{"type":"BasicComponent","componentKey":"theme","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du thème","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"projet":{"type":"BasicComponent","componentKey":"projet","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du projet","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"datatype":{"type":"BasicComponent","componentKey":"datatype","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du type de données","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{"projetRef":{"checkers":{"projet":{"type":"ReferenceChecker","componentKey":"projet","multiplicity":"ONE","required":false,"refType":"projet","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["projet"],"required":false,"mandatory":"OPTIONAL"},"sitesRef":{"checkers":{"site":{"type":"ReferenceChecker","componentKey":"site","multiplicity":"ONE","required":false,"refType":"sites","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["site"],"required":false,"mandatory":"OPTIONAL"},"themesRef":{"checkers":{"theme":{"type":"ReferenceChecker","componentKey":"theme","multiplicity":"ONE","required":false,"refType":"themes","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["theme"],"required":false,"mandatory":"OPTIONAL"},"checkDatatype":{"checkers":{"datatype":{"type":"GroovyExpressionChecker","multiplicity":"ONE","required":false,"expression":"String datatype = datum.datatype; def data = application.getConfiguration().i18n().data ; if(data==null){\n return false;\n}; def i18n = data\n .collect{ it->it.value.i18n};\nif(i18n==null){\n return false;\n}; def title = i18n \n .collect{ it->it.title};\nif(title==null){\n return false;\n}; def french = title\n .collect { it->it.get(java.util.Locale.FRENCH)};\nreturn french \n .find{it->datatype.equals(fr.inra.oresing.domain.application.configuration.Ltree.fromUnescapedString(it.toString()).sql)}!=null;\n","references":null,"exceptionMessages":[],"codify":true,"data":null}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["datatype"],"required":false,"mandatory":"OPTIONAL"}},"depends":[],"migrations":null,"hidden":false,"order":9999},"unites":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["nom_key"],"componentDescriptions":{"code_en":{"type":"BasicComponent","componentKey":"code_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"code_en","exportHeaderName":"code_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"code_key":{"type":"BasicComponent","componentKey":"code_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"code_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"code_fr":{"type":"BasicComponent","componentKey":"code_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"code_fr","exportHeaderName":"code_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"projet":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"},{"tagDefinition":"DOMAIN_TAG","tagName":"test"},{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["nom_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"definition_en":{"type":"BasicComponent","componentKey":"definition_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"definition_en","exportHeaderName":"definition_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"colonne_homonyme_entre_referentiels":{"type":"BasicComponent","componentKey":"colonne_homonyme_entre_referentiels","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"colonne_homonyme_entre_referentiels","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"definition_fr":{"type":"BasicComponent","componentKey":"definition_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"definition_fr","exportHeaderName":"definition_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"valeurs_qualitatives":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["nom_key","valeur_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":"nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"valeur_en":{"type":"BasicComponent","componentKey":"valeur_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"valeur_en","exportHeaderName":"valeur_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":"nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"valeur_key":{"type":"BasicComponent","componentKey":"valeur_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"valeur_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"valeur_fr":{"type":"BasicComponent","componentKey":"valeur_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"valeur_fr","exportHeaderName":"valeur_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"type_de_fichiers":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"HIDDEN_TAG"}],"naturalKey":["nom_key"],"componentDescriptions":{"nom_key":{"type":"BasicComponent","componentKey":"nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_en":{"type":"BasicComponent","componentKey":"nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_en","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"nom_fr":{"type":"BasicComponent","componentKey":"nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom_fr","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"description_fr":{"type":"BasicComponent","componentKey":"description_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"description_fr","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"description_en":{"type":"BasicComponent","componentKey":"description_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"description_en","exportHeaderName":"description_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{},"depends":[],"migrations":null,"hidden":false,"order":9999},"variables_et_unites_par_types_de_donnees":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"data"}],"naturalKey":["datatype","variable"],"componentDescriptions":{"variable":{"type":"BasicComponent","componentKey":"variable","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom de la variable","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"datatype":{"type":"BasicComponent","componentKey":"datatype","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom du type de données","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"unite":{"type":"BasicComponent","componentKey":"unite","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"nom de l'unité","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false}},"submission":null,"authorization":null,"validations":{"variableRef":{"checkers":{"variable":{"type":"ReferenceChecker","componentKey":"variable","multiplicity":"ONE","required":false,"refType":"variables","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["variable"],"required":false,"mandatory":"OPTIONAL"},"uniteRef":{"checkers":{"unite":{"type":"ReferenceChecker","componentKey":"unite","multiplicity":"ONE","required":false,"refType":"unites","isRecursive":false,"isParent":false}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["unite"],"required":false,"mandatory":"OPTIONAL"},"checkDatatype":{"checkers":{"datatype":{"type":"GroovyExpressionChecker","multiplicity":"ONE","required":false,"expression":"String datatype = datum.datatype; def data = application.getConfiguration().i18n().data ; if(data==null){\n return false;\n}; def i18n = data\n .collect{ it->it.value.i18n};\nif(i18n==null){\n return false;\n}; def title = i18n \n .collect{ it->it.title};\nif(title==null){\n return false;\n}; def french = title\n .collect { it->it.get(java.util.Locale.FRENCH)};\nreturn french \n .find{it->datatype.equals(fr.inra.oresing.domain.application.configuration.Ltree.fromUnescapedString(it.toString()).sql)}!=null;\n","references":null,"exceptionMessages":[],"codify":true,"data":null}},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":["datatype"],"required":false,"mandatory":"OPTIONAL"}},"depends":[],"migrations":null,"hidden":false,"order":9999},"pem":{"separator":";","headerLine":4,"firstRowLine":5,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"ORDER_TAG","tagOrder":2},{"tagDefinition":"DOMAIN_TAG","tagName":"data"},{"tagDefinition":"DOMAIN_TAG","tagName":"test"},{"tagDefinition":"DOMAIN_TAG","tagName":"context"},{"tagDefinition":"DATA_TAG"}],"naturalKey":["projet","site","plateforme","date","espece"],"componentDescriptions":{"date":{"type":"BasicComponent","componentKey":"date","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":true,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"ORDER_TAG","tagOrder":1},{"tagDefinition":"DOMAIN_TAG","tagName":"temporal"}],"importHeader":"date","exportHeaderName":null,"langRestrictions":[],"required":true,"mandatory":"OPTIONAL","checker":{"type":"DateChecker","multiplicity":"ONE","required":true,"pattern":"dd/MM/yyyy","min":[-999999999,1,1,0,0],"max":[999999999,12,31,23,59,59,999999999],"duration":null},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"site":{"type":"BasicComponent","componentKey":"site","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"site","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"site","multiplicity":"ONE","required":false,"refType":"sites","isRecursive":false,"isParent":false},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"sites","chartDescription":null,"reference":true},"individusNumber_unit":{"type":"ComputedComponent","componentKey":"individusNumber_unit","tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"exportHeaderName":null,"langRestrictions":[],"required":true,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"individusNumber_unit","multiplicity":"ONE","required":true,"refType":"unites","isRecursive":false,"isParent":false},"computationChecker":{"type":"ComputationChecker","multiplicity":"ONE","required":true,"expression":"'sans_unite'","references":null,"exceptionMessages":[],"codify":false,"data":null},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"unites","chartDescription":null,"reference":true},"projet":{"type":"BasicComponent","componentKey":"projet","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"ORDER_TAG","tagOrder":2},{"tagDefinition":"DOMAIN_TAG","tagName":"test"}],"importHeader":"projet","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"projet","multiplicity":"ONE","required":false,"refType":"projet","isRecursive":false,"isParent":false},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"projet","chartDescription":null,"reference":true},"espece":{"type":"BasicComponent","componentKey":"espece","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"espece","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"espece","multiplicity":"ONE","required":false,"refType":"especes","isRecursive":false,"isParent":false},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"especes","chartDescription":null,"reference":true},"chemin":{"type":"ComputedComponent","componentKey":"chemin","tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"exportHeaderName":"chemin","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"chemin","multiplicity":"ONE","required":false,"refType":"sites","isRecursive":false,"isParent":false},"computationChecker":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return OA_buildCompositeKey(['site','plateforme']);\n","references":null,"exceptionMessages":[],"codify":false,"data":null},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"sites","chartDescription":null,"reference":true},"plateforme":{"type":"BasicComponent","componentKey":"plateforme","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"plateforme","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"color_value":{"type":"BasicComponent","componentKey":"color_value","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"Couleur des individus","exportHeaderName":"color_value","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"color_value","multiplicity":"ONE","required":false,"refType":"valeurs_qualitatives","isRecursive":false,"isParent":false},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"valeurs_qualitatives","chartDescription":null,"reference":true},"individusNumbervalue":{"type":"BasicComponent","componentKey":"individusNumbervalue","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return 0","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"Nombre d'individus","exportHeaderName":"individusNumbervalue","langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"color_unit":{"type":"ComputedComponent","componentKey":"color_unit","tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"color_unit","multiplicity":"ONE","required":false,"refType":"unites","isRecursive":false,"isParent":false},"computationChecker":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"'sans_unite'","references":null,"exceptionMessages":[],"codify":false,"data":null},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"unites","chartDescription":null,"reference":true}},"submission":{"strategy":"OA_VERSIONING","fileNameParsing":{"pattern":"(.*)!(.*)!(.*)!(.*).csv","authorizationScopes":["projet","chemin"],"startDate":3,"endDate":4},"submissionScope":{"referenceScopes":[{"reference":"projet","component":"projet"},{"reference":"sites","component":"chemin"}],"timescope":{"component":"date"}}},"authorization":{"authorizationScope":[{"component":"projet","data":"projet"},{"component":"chemin","data":"sites"}],"timeScope":"date"},"validations":{"unitOfColor":{"checkers":{},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":null,"required":false,"mandatory":"OPTIONAL"},"unitOfIndividus":{"checkers":{},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"columns":null,"required":true,"mandatory":"OPTIONAL"}},"depends":[{"type":"DependsReferences","references":"sites","component":"site"},{"type":"DependsReferences","references":"unites","component":"individusNumber_unit"},{"type":"DependsReferences","references":"projet","component":"projet"},{"type":"DependsReferences","references":"especes","component":"espece"},{"type":"DependsReferences","references":"sites","component":"chemin"},{"type":"DependsReferences","references":"valeurs_qualitatives","component":"color_value"},{"type":"DependsReferences","references":"unites","component":"color_unit"}],"migrations":null,"hidden":false,"order":2},"sites":{"separator":";","headerLine":1,"firstRowLine":2,"allowUnexpectedColumns":false,"tags":[{"tagDefinition":"DOMAIN_TAG","tagName":"context"}],"naturalKey":["zet_chemin_parent","zet_nom_key"],"componentDescriptions":{"tze_type_nom":{"type":"BasicComponent","componentKey":"tze_type_nom","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":true,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"tze_type_nom","exportHeaderName":null,"langRestrictions":[],"required":true,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"tze_type_nom","multiplicity":"ONE","required":true,"refType":"type_de_sites","isRecursive":false,"isParent":true},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"type_de_sites","chartDescription":null,"reference":true},"zet_description_en":{"type":"BasicComponent","componentKey":"zet_description_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_description_en","exportHeaderName":"zet_description_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_nom_fr":{"type":"BasicComponent","componentKey":"zet_nom_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_nom_fr","exportHeaderName":"zet_nom_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_nom_key":{"type":"BasicComponent","componentKey":"zet_nom_key","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_nom_key","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_nom_en":{"type":"BasicComponent","componentKey":"zet_nom_en","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_nom_en","exportHeaderName":"zet_nom_en","langRestrictions":["en"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_description_fr":{"type":"BasicComponent","componentKey":"zet_description_fr","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_description_fr","exportHeaderName":"zet_description_fr","langRestrictions":["fr"],"required":false,"mandatory":"OPTIONAL","checker":null,"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"StringChecker","chartDescription":null,"reference":false},"zet_chemin_parent":{"type":"BasicComponent","componentKey":"zet_chemin_parent","defaultValue":{"type":"ComputationChecker","multiplicity":"ONE","required":false,"expression":"return \"\";","references":null,"exceptionMessages":[],"codify":false,"data":null},"tags":[{"tagDefinition":"NO_TAG","tagName":"no_tag"}],"importHeader":"zet_chemin_parent","exportHeaderName":null,"langRestrictions":[],"required":false,"mandatory":"OPTIONAL","checker":{"type":"ReferenceChecker","componentKey":"zet_chemin_parent","multiplicity":"ONE","required":false,"refType":"sites","isRecursive":true,"isParent":true},"submissionAuthorizationScope":null,"hidden":false,"referenceCheckerType":"sites","chartDescription":null,"reference":true}},"submission":null,"authorization":null,"validations":{},"depends":[{"type":"DependsParent","references":"type_de_sites","component":"tze_type_nom"},{"type":"DependsParent","references":"sites","component":"zet_chemin_parent"}],"migrations":null,"hidden":false,"order":9999}},"rightsRequest":{"formFields":{"organization":{"order":0,"type":"RightsRequestField","required":true,"checker":{"type":"StringChecker","multiplicity":"ONE","required":true,"pattern":".*"}},"project":{"order":1,"type":"RightsRequestField","required":false,"checker":{"type":"StringChecker","multiplicity":"ONE","required":false,"pattern":".*"}},"startDate":{"order":2,"type":"RightsRequestField","required":false,"checker":{"type":"DateChecker","multiplicity":"ONE","required":false,"pattern":"dd/MM/yyyy","min":[-999999999,1,1,0,0],"max":[999999999,12,31,23,59,59,999999999],"duration":null}},"endDate":{"order":3,"type":"RightsRequestField","required":false,"checker":{"type":"DateChecker","multiplicity":"ONE","required":false,"pattern":"dd/MM/yyyy","min":[-999999999,1,1,0,0],"max":[999999999,12,31,23,59,59,999999999],"duration":null}}}},"additionalFiles":{"fichiers":{"formFields":{"nom":{"order":0,"type":"AdditionalFileField","required":false,"checker":{"type":"StringChecker","multiplicity":"ONE","required":false,"pattern":"[a-z]*"}},"date":{"order":1,"type":"AdditionalFileField","required":false,"checker":{"type":"DateChecker","multiplicity":"ONE","required":false,"pattern":"dd/MM/yyyy","min":[-999999999,1,1,0,0],"max":[999999999,12,31,23,59,59,999999999],"duration":null}},"age":{"order":2,"type":"AdditionalFileField","required":false,"checker":{"type":"IntegerChecker","multiplicity":"ONE","required":false,"min":-2147483648,"max":2147483647}},"poids":{"order":3,"type":"AdditionalFileField","required":false,"checker":{"type":"FloatChecker","multiplicity":"ONE","required":false,"min":10.0,"max":100.0}},"site":{"order":4,"type":"AdditionalFileField","required":true,"checker":{"type":"ReferenceChecker","componentKey":"site","multiplicity":"ONE","required":true,"refType":"sites","isRecursive":false,"isParent":false}}}},"utilisateurs":{"formFields":{"nom":{"order":0,"type":"AdditionalFileField","required":false,"checker":{"type":"StringChecker","multiplicity":"ONE","required":false,"pattern":"[a-z]*"}},"prenom":{"order":1,"type":"AdditionalFileField","required":false,"checker":{"type":"StringChecker","multiplicity":"ONE","required":false,"pattern":"[a-z]*"}}}}},"hierarchicalNodes":[{"nodeName":"especes","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"projet","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"pem","componentKey":"color_unit","columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":["sites","unites","projet","especes","valeurs_qualitatives","type_de_sites"],"order":2,"isRecursive":false},{"nodeName":"themes","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"site_theme_datatype","componentKey":"theme","columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":["sites","projet","themes","type_de_sites"],"order":9999,"isRecursive":false},{"nodeName":"type_de_fichiers","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"type_de_sites","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[{"nodeName":"sites","componentKey":"zet_chemin_parent","columnToLookUpForRecursive":"zet_chemin_parent","parent":"type_de_sites","children":[],"depends":["type_de_sites"],"order":9999,"isRecursive":true}],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"unites","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"valeurs_qualitatives","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"variables","componentKey":null,"columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":[],"order":9999,"isRecursive":false},{"nodeName":"variables_et_unites_par_types_de_donnees","componentKey":"variable","columnToLookUpForRecursive":null,"parent":null,"children":[],"depends":["unites","variables"],"order":9999,"isRecursive":false}],"requiredAuthorizationsAttributes":["themes","variables","especes","site_theme_datatype","type_de_sites","unites","projet","valeurs_qualitatives","variables_et_unites_par_types_de_donnees","type_de_fichiers","pem","sites"],"hiddenData":["type_de_fichiers"]},"configFile":null,"allDataNames":["especes","projet","sites","themes","type_de_sites","site_theme_datatype","type_de_fichiers","unites","valeurs_qualitatives","variables","variables_et_unites_par_types_de_donnees","pem"]},"time":[2024,11,21,12,51,41,110317103],"type":"REACTIVE_RESULT"} +{"result":1.0,"time":[2024,11,21,12,51,41,110606988],"type":"REACTIVE_PROGRESS"} -- GitLab From 7919abd26eaac41d1e1e822e86392dc0e1312389 Mon Sep 17 00:00:00 2001 From: Rachid Yahiaoui <rachid.yahiaoui@inra.fr> Date: Fri, 22 Nov 2024 22:31:48 +0100 Subject: [PATCH 06/13] refactor( CI ) : use CI_COMMIT_REF_SLUG for branch names normalization --- .gitlab-ci_docker.yml | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.gitlab-ci_docker.yml b/.gitlab-ci_docker.yml index c42bc41..ce1931e 100644 --- a/.gitlab-ci_docker.yml +++ b/.gitlab-ci_docker.yml @@ -8,8 +8,6 @@ variables: .before_script_template: &before_script - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - echo "Commit Short id = $CI_COMMIT_SHORT_SHA" - - BranchOrTag=$( echo $CI_COMMIT_REF_NAME | sed 's/\//_/g') # REPLACE '/' by '_' - - echo " >> Branch_or_Tag_Name == $BranchOrTag" development: stage: build_env @@ -21,9 +19,9 @@ development: before_script: *before_script script: - - Branch=$( echo $CI_COMMIT_REF_NAME | sed 's/\//_/g') # REPLACE '/' by '_' - - IMAGE_NAME="$OPENADOM_DOCK_REG:$Branch" - - IMAGE_NAME_WITH_COMMIT_ID="$OPENADOM_DOCK_REG:$Branch-$CI_COMMIT_SHORT_SHA" + # $CI_COMMIT_REF_SLUG : Clean special characters and convert to lowercase with hyphens + - IMAGE_NAME="$OPENADOM_DOCK_REG:$CI_COMMIT_REF_SLUG" + - IMAGE_NAME_WITH_COMMIT_ID="$IMAGE_NAME-$CI_COMMIT_SHORT_SHA" - echo "Docker Image Name = $IMAGE_NAME " - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID" - docker build -f docker/Dockerfile -t $IMAGE_NAME . @@ -32,9 +30,9 @@ development: - docker push $IMAGE_NAME_WITH_COMMIT_ID rules: # Trigger on 'develop' branch automatically, disable for 'main' and tags, manual for others - - if: '$CI_COMMIT_REF_NAME == "develop"' + - if: '$CI_COMMIT_REF_SLUG == "develop"' when: on_success - - if: '$CI_COMMIT_REF_NAME == "main" || $CI_COMMIT_TAG' + - if: '$CI_COMMIT_REF_SLUG == "main" || $CI_COMMIT_TAG' when: never - when: manual @@ -48,8 +46,9 @@ preprod: before_script: *before_script script: - - IMAGE_NAME="$OPENADOM_DOCK_REG:$CI_COMMIT_REF_NAME" - - IMAGE_NAME_WITH_COMMIT_ID="$OPENADOM_DOCK_REG:$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA" + # $CI_COMMIT_REF_SLUG : Clean special characters and convert to lowercase with hyphens + - IMAGE_NAME="$OPENADOM_DOCK_REG:$CI_COMMIT_REF_SLUG" + - IMAGE_NAME_WITH_COMMIT_ID="$IMAGE_NAME-$CI_COMMIT_SHORT_SHA" - echo "Docker Image Name = $IMAGE_NAME " - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID" - docker build -f docker/Dockerfile -t $IMAGE_NAME . @@ -58,7 +57,7 @@ preprod: - docker push $IMAGE_NAME_WITH_COMMIT_ID rules: # Automatically trigger for 'main' branch - - if: '$CI_COMMIT_REF_NAME == "main"' + - if: '$CI_COMMIT_REF_SLUG == "main"' when: on_success - when: never @@ -136,7 +135,7 @@ deployment: variables: TRIGGERED_BY_PARENT: 'true' ENV: "development" - OA_BACKEND_VERSION: '$(echo $CI_COMMIT_REF_NAME | sed "s/\//_/g")' # REPLACE '/' by '_' + OA_BACKEND_VERSION: '$CI_COMMIT_REF_SLUG' INIT_DB_USER: true REMOVE_VOLUMES: true trigger: -- GitLab From 933fc0fa3a68b418652e8ad639c4f9ec886c92ea Mon Sep 17 00:00:00 2001 From: Rachid Yahiaoui <rachid.yahiaoui@inra.fr> Date: Fri, 22 Nov 2024 22:35:22 +0100 Subject: [PATCH 07/13] refactor( CI ) : use CI_COMMIT_REF_SLUG for branch names normalization --- .gitlab-ci_docker.yml | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/.gitlab-ci_docker.yml b/.gitlab-ci_docker.yml index c42bc41..ce1931e 100644 --- a/.gitlab-ci_docker.yml +++ b/.gitlab-ci_docker.yml @@ -8,8 +8,6 @@ variables: .before_script_template: &before_script - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY - echo "Commit Short id = $CI_COMMIT_SHORT_SHA" - - BranchOrTag=$( echo $CI_COMMIT_REF_NAME | sed 's/\//_/g') # REPLACE '/' by '_' - - echo " >> Branch_or_Tag_Name == $BranchOrTag" development: stage: build_env @@ -21,9 +19,9 @@ development: before_script: *before_script script: - - Branch=$( echo $CI_COMMIT_REF_NAME | sed 's/\//_/g') # REPLACE '/' by '_' - - IMAGE_NAME="$OPENADOM_DOCK_REG:$Branch" - - IMAGE_NAME_WITH_COMMIT_ID="$OPENADOM_DOCK_REG:$Branch-$CI_COMMIT_SHORT_SHA" + # $CI_COMMIT_REF_SLUG : Clean special characters and convert to lowercase with hyphens + - IMAGE_NAME="$OPENADOM_DOCK_REG:$CI_COMMIT_REF_SLUG" + - IMAGE_NAME_WITH_COMMIT_ID="$IMAGE_NAME-$CI_COMMIT_SHORT_SHA" - echo "Docker Image Name = $IMAGE_NAME " - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID" - docker build -f docker/Dockerfile -t $IMAGE_NAME . @@ -32,9 +30,9 @@ development: - docker push $IMAGE_NAME_WITH_COMMIT_ID rules: # Trigger on 'develop' branch automatically, disable for 'main' and tags, manual for others - - if: '$CI_COMMIT_REF_NAME == "develop"' + - if: '$CI_COMMIT_REF_SLUG == "develop"' when: on_success - - if: '$CI_COMMIT_REF_NAME == "main" || $CI_COMMIT_TAG' + - if: '$CI_COMMIT_REF_SLUG == "main" || $CI_COMMIT_TAG' when: never - when: manual @@ -48,8 +46,9 @@ preprod: before_script: *before_script script: - - IMAGE_NAME="$OPENADOM_DOCK_REG:$CI_COMMIT_REF_NAME" - - IMAGE_NAME_WITH_COMMIT_ID="$OPENADOM_DOCK_REG:$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA" + # $CI_COMMIT_REF_SLUG : Clean special characters and convert to lowercase with hyphens + - IMAGE_NAME="$OPENADOM_DOCK_REG:$CI_COMMIT_REF_SLUG" + - IMAGE_NAME_WITH_COMMIT_ID="$IMAGE_NAME-$CI_COMMIT_SHORT_SHA" - echo "Docker Image Name = $IMAGE_NAME " - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID" - docker build -f docker/Dockerfile -t $IMAGE_NAME . @@ -58,7 +57,7 @@ preprod: - docker push $IMAGE_NAME_WITH_COMMIT_ID rules: # Automatically trigger for 'main' branch - - if: '$CI_COMMIT_REF_NAME == "main"' + - if: '$CI_COMMIT_REF_SLUG == "main"' when: on_success - when: never @@ -136,7 +135,7 @@ deployment: variables: TRIGGERED_BY_PARENT: 'true' ENV: "development" - OA_BACKEND_VERSION: '$(echo $CI_COMMIT_REF_NAME | sed "s/\//_/g")' # REPLACE '/' by '_' + OA_BACKEND_VERSION: '$CI_COMMIT_REF_SLUG' INIT_DB_USER: true REMOVE_VOLUMES: true trigger: -- GitLab From da06a556fd40beebecd2acb180f1743a27aa5580 Mon Sep 17 00:00:00 2001 From: Rachid Yahiaoui <rachid.yahiaoui@inra.fr> Date: Fri, 22 Nov 2024 23:29:42 +0100 Subject: [PATCH 08/13] refactor( CI ) : use CI_COMMIT_REF_SLUG for branch names normalization --- .gitlab-ci_docker.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci_docker.yml b/.gitlab-ci_docker.yml index ce1931e..183a82b 100644 --- a/.gitlab-ci_docker.yml +++ b/.gitlab-ci_docker.yml @@ -105,23 +105,23 @@ production: deployment: stage: trigger rules: - - if: '$CI_COMMIT_REF_NAME == "develop"' # Development Env + - if: '$CI_COMMIT_REF_SLUG == "develop"' # Development Env variables: TRIGGERED_BY_PARENT: 'true' ENV: 'development' - OA_BACKEND_VERSION: '$CI_COMMIT_REF_NAME' # develop branch + OA_BACKEND_VERSION: '$CI_COMMIT_REF_SLUG' # develop branch INIT_DB_USER: true REMOVE_VOLUMES: true when: on_success - - if: '$CI_COMMIT_REF_NAME == "main"' # Preprod Env + - if: '$CI_COMMIT_REF_SLUG == "main"' # Preprod Env variables: TRIGGERED_BY_PARENT: 'true' ENV: 'preprod' - OA_BACKEND_VERSION: '$CI_COMMIT_REF_NAME' # main branch + OA_BACKEND_VERSION: '$CI_COMMIT_REF_SLUG' # main branch INIT_DB_USER: true REMOVE_VOLUMES: true when: on_success - - if: '$CI_COMMIT_TAG' # Production Env + - if: '$CI_COMMIT_TAG' # Production Env variables: TRIGGERED_BY_PARENT: 'true' ENV: "production" @@ -131,7 +131,7 @@ deployment: when: on_success - if: '$CI_MERGE_REQUEST_IID != null' # Do nothing with merge request when: never - - when: manual # Trigger manually if needed ( Feature Dev branch ) + - when: manual # Trigger manually if needed ( Feature Dev branch ) variables: TRIGGERED_BY_PARENT: 'true' ENV: "development" -- GitLab From 30c06c64cb30bdfd396cfe0c5f1453ffe4edd2e3 Mon Sep 17 00:00:00 2001 From: Rachid Yahiaoui <rachid.yahiaoui@inra.fr> Date: Sat, 23 Nov 2024 00:08:29 +0100 Subject: [PATCH 09/13] Update CI stages --- .gitlab-ci_docker.yml | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci_docker.yml b/.gitlab-ci_docker.yml index ce1931e..728989b 100644 --- a/.gitlab-ci_docker.yml +++ b/.gitlab-ci_docker.yml @@ -24,9 +24,12 @@ development: - IMAGE_NAME_WITH_COMMIT_ID="$IMAGE_NAME-$CI_COMMIT_SHORT_SHA" - echo "Docker Image Name = $IMAGE_NAME " - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID" + - echo "Building Docker image = $IMAGE_NAME" - docker build -f docker/Dockerfile -t $IMAGE_NAME . + - echo "Pushing Docker image to registry = $IMAGE_NAME" - docker push $IMAGE_NAME - docker tag $IMAGE_NAME $IMAGE_NAME_WITH_COMMIT_ID + - echo "Pushing tagged Docker image to registry = $IMAGE_NAME_WITH_COMMIT_ID" - docker push $IMAGE_NAME_WITH_COMMIT_ID rules: # Trigger on 'develop' branch automatically, disable for 'main' and tags, manual for others @@ -51,9 +54,12 @@ preprod: - IMAGE_NAME_WITH_COMMIT_ID="$IMAGE_NAME-$CI_COMMIT_SHORT_SHA" - echo "Docker Image Name = $IMAGE_NAME " - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID" + - echo "Building Docker image = $IMAGE_NAME" - docker build -f docker/Dockerfile -t $IMAGE_NAME . + echo "Pushing Docker image to registry = $IMAGE_NAME" - docker push $IMAGE_NAME - docker tag $IMAGE_NAME $IMAGE_NAME_WITH_COMMIT_ID + - echo "Pushing tagged Docker image to registry = $IMAGE_NAME_WITH_COMMIT_ID" - docker push $IMAGE_NAME_WITH_COMMIT_ID rules: # Automatically trigger for 'main' branch @@ -84,9 +90,9 @@ production: # Validate tag format with grep if echo "$CI_COMMIT_TAG" | grep -qE "^[0-9]+(\.[0-9]+){0,2}$" && ! echo "$CI_COMMIT_TAG" | grep -q "\.$"; then echo "Tag format is valid = $CI_COMMIT_TAG" - echo "Building Docker image..." + echo "Building Docker image = $OPENADOM_DOCK_REG:$CI_COMMIT_TAG" docker build -f docker/Dockerfile -t $OPENADOM_DOCK_REG:$CI_COMMIT_TAG . - echo "Pushing Docker image to registry..." + echo "Pushing Docker image to registry : $OPENADOM_DOCK_REG:$CI_COMMIT_TAG" docker push $OPENADOM_DOCK_REG:$CI_COMMIT_TAG else echo "Invalid tag format = $CI_COMMIT_TAG" @@ -105,23 +111,23 @@ production: deployment: stage: trigger rules: - - if: '$CI_COMMIT_REF_NAME == "develop"' # Development Env + - if: '$CI_COMMIT_REF_SLUG == "develop"' # Development Env variables: TRIGGERED_BY_PARENT: 'true' ENV: 'development' - OA_BACKEND_VERSION: '$CI_COMMIT_REF_NAME' # develop branch + OA_BACKEND_VERSION: '$CI_COMMIT_REF_SLUG' # develop branch INIT_DB_USER: true REMOVE_VOLUMES: true when: on_success - - if: '$CI_COMMIT_REF_NAME == "main"' # Preprod Env + - if: '$CI_COMMIT_REF_SLUG == "main"' # Preprod Env variables: TRIGGERED_BY_PARENT: 'true' ENV: 'preprod' - OA_BACKEND_VERSION: '$CI_COMMIT_REF_NAME' # main branch + OA_BACKEND_VERSION: '$CI_COMMIT_REF_SLUG' # main branch INIT_DB_USER: true REMOVE_VOLUMES: true when: on_success - - if: '$CI_COMMIT_TAG' # Production Env + - if: '$CI_COMMIT_TAG' # Production Env variables: TRIGGERED_BY_PARENT: 'true' ENV: "production" @@ -131,7 +137,7 @@ deployment: when: on_success - if: '$CI_MERGE_REQUEST_IID != null' # Do nothing with merge request when: never - - when: manual # Trigger manually if needed ( Feature Dev branch ) + - when: manual # Trigger manually if needed ( Feature Dev branch ) variables: TRIGGERED_BY_PARENT: 'true' ENV: "development" -- GitLab From 2214a32ff47025c02cf98b552266a803e6178b1a Mon Sep 17 00:00:00 2001 From: Rachid Yahiaoui <rachid.yahiaoui@inra.fr> Date: Sat, 23 Nov 2024 00:08:31 +0100 Subject: [PATCH 10/13] Update CI stages --- .gitlab-ci_docker.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci_docker.yml b/.gitlab-ci_docker.yml index 183a82b..728989b 100644 --- a/.gitlab-ci_docker.yml +++ b/.gitlab-ci_docker.yml @@ -24,9 +24,12 @@ development: - IMAGE_NAME_WITH_COMMIT_ID="$IMAGE_NAME-$CI_COMMIT_SHORT_SHA" - echo "Docker Image Name = $IMAGE_NAME " - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID" + - echo "Building Docker image = $IMAGE_NAME" - docker build -f docker/Dockerfile -t $IMAGE_NAME . + - echo "Pushing Docker image to registry = $IMAGE_NAME" - docker push $IMAGE_NAME - docker tag $IMAGE_NAME $IMAGE_NAME_WITH_COMMIT_ID + - echo "Pushing tagged Docker image to registry = $IMAGE_NAME_WITH_COMMIT_ID" - docker push $IMAGE_NAME_WITH_COMMIT_ID rules: # Trigger on 'develop' branch automatically, disable for 'main' and tags, manual for others @@ -51,9 +54,12 @@ preprod: - IMAGE_NAME_WITH_COMMIT_ID="$IMAGE_NAME-$CI_COMMIT_SHORT_SHA" - echo "Docker Image Name = $IMAGE_NAME " - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID" + - echo "Building Docker image = $IMAGE_NAME" - docker build -f docker/Dockerfile -t $IMAGE_NAME . + echo "Pushing Docker image to registry = $IMAGE_NAME" - docker push $IMAGE_NAME - docker tag $IMAGE_NAME $IMAGE_NAME_WITH_COMMIT_ID + - echo "Pushing tagged Docker image to registry = $IMAGE_NAME_WITH_COMMIT_ID" - docker push $IMAGE_NAME_WITH_COMMIT_ID rules: # Automatically trigger for 'main' branch @@ -84,9 +90,9 @@ production: # Validate tag format with grep if echo "$CI_COMMIT_TAG" | grep -qE "^[0-9]+(\.[0-9]+){0,2}$" && ! echo "$CI_COMMIT_TAG" | grep -q "\.$"; then echo "Tag format is valid = $CI_COMMIT_TAG" - echo "Building Docker image..." + echo "Building Docker image = $OPENADOM_DOCK_REG:$CI_COMMIT_TAG" docker build -f docker/Dockerfile -t $OPENADOM_DOCK_REG:$CI_COMMIT_TAG . - echo "Pushing Docker image to registry..." + echo "Pushing Docker image to registry : $OPENADOM_DOCK_REG:$CI_COMMIT_TAG" docker push $OPENADOM_DOCK_REG:$CI_COMMIT_TAG else echo "Invalid tag format = $CI_COMMIT_TAG" -- GitLab From 370a9bad0ffcf5ca52668b5e8bdff9cab1c028a4 Mon Sep 17 00:00:00 2001 From: Rachid Yahiaoui <rachid.yahiaoui@inra.fr> Date: Sun, 24 Nov 2024 21:22:36 +0100 Subject: [PATCH 11/13] Fix a typo --- .gitlab-ci_docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci_docker.yml b/.gitlab-ci_docker.yml index 728989b..5157ebb 100644 --- a/.gitlab-ci_docker.yml +++ b/.gitlab-ci_docker.yml @@ -56,7 +56,7 @@ preprod: - echo "Docker Image Name With ID = $IMAGE_NAME_WITH_COMMIT_ID" - echo "Building Docker image = $IMAGE_NAME" - docker build -f docker/Dockerfile -t $IMAGE_NAME . - echo "Pushing Docker image to registry = $IMAGE_NAME" + - echo "Pushing Docker image to registry = $IMAGE_NAME" - docker push $IMAGE_NAME - docker tag $IMAGE_NAME $IMAGE_NAME_WITH_COMMIT_ID - echo "Pushing tagged Docker image to registry = $IMAGE_NAME_WITH_COMMIT_ID" -- GitLab From f6a2b0d7ebd9276fceb0bbe9a96fde00365b61cd Mon Sep 17 00:00:00 2001 From: philippe tcheriatinsky <philippe.tcherniatinsky@inrae.fr> Date: Mon, 25 Nov 2024 13:59:28 +0100 Subject: [PATCH 12/13] ajout section submission dans le yaml acbb --- .../domain/data/deposit/DataImporter.java | 3 ++ .../resources/data/acbb/acbb_openAdom_V2.yaml | 30 ++++++++++++++++++- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/main/java/fr/inra/oresing/domain/data/deposit/DataImporter.java b/src/main/java/fr/inra/oresing/domain/data/deposit/DataImporter.java index 7c91477..21a7d85 100644 --- a/src/main/java/fr/inra/oresing/domain/data/deposit/DataImporter.java +++ b/src/main/java/fr/inra/oresing/domain/data/deposit/DataImporter.java @@ -473,6 +473,9 @@ public class DataImporter { private fr.inra.oresing.domain.Authorization getLineAuthorization(DataDatum referenceDatum, long lineNumber, ReportErrors errors) { final Authorization authorization = dataImporterContext.getAuthorization(); + if(authorization==null){ + return new fr.inra.oresing.domain.Authorization(); + } BinaryFileDataset binaryFileDataset = Optional.ofNullable(dataImporterContext.getPublishContextBuilder()) .map(PublishContext.PublishContextBuilder::build) diff --git a/src/test/resources/data/acbb/acbb_openAdom_V2.yaml b/src/test/resources/data/acbb/acbb_openAdom_V2.yaml index 9c0f38d..46f89c0 100644 --- a/src/test/resources/data/acbb/acbb_openAdom_V2.yaml +++ b/src/test/resources/data/acbb/acbb_openAdom_V2.yaml @@ -695,7 +695,35 @@ OA_data: } OA_components: #optional - flx_fc_gf_value #optional - + OA_submission: #optional + OA_strategy: OA_VERSIONING #optional + OA_submissionScope: #mandatory + OA_referenceScopes: #optional + - #optional + OA_component: sit_key #mandatory + OA_reference: tr_sites_sit #optional + OA_i18n: #mandatory + OA_title: #optional + fr: Site + en: Site + OA_description: #optional + fr: Référentiel des Sites + en: Site repository + OA_exportHeader: #mandatory + OA_title: #optional + fr: Site + en: Site + OA_description: #optional + fr: Référentiel des Sites + en: Site repository + OA_timeScope: #optional + OA_component: flx_date #mandatory + OA_fileName: #optional + OA_filePattern: (.*)_(.*)_(.*).csv #mandatory + OA_matchPatternScopes: #optional + - sit_key #optional + - __START_DATE__ #optional + - __END_DATE__ #optional OA_computedComponents: flx_date: OA_exportHeader: -- GitLab From 4b0fe20820cc3f78532952365f6fd66c9278a145 Mon Sep 17 00:00:00 2001 From: philippe tcheriatinsky <philippe.tcherniatinsky@inrae.fr> Date: Tue, 26 Nov 2024 11:26:20 +0100 Subject: [PATCH 13/13] =?UTF-8?q?correction=20submission=20-=20requ=C3=AAt?= =?UTF-8?q?e=20getNodes()=20-=20ajout=20dans=20dataResult=20des=20Referenc?= =?UTF-8?q?eScopes=20-=20ajout=20section=20submission=20yaml=20acbb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oresing/rest/AuthorizationService.java | 2 +- .../fr/inra/oresing/rest/OreSiResources.java | 7 ++- .../fr/inra/oresing/rest/OreSiService.java | 5 +++ .../authorization/AuthorizationsResult.java | 3 +- .../rest/model/data/GetDataResult.java | 4 +- .../migration/application/V1__init_schema.sql | 17 ++++--- src/main/resources/migration/first_roles.sql | 45 ++++++++++++++----- .../resources/data/acbb/acbb_openAdom_V2.yaml | 17 ++++++- 8 files changed, 77 insertions(+), 23 deletions(-) diff --git a/src/main/java/fr/inra/oresing/rest/AuthorizationService.java b/src/main/java/fr/inra/oresing/rest/AuthorizationService.java index 9a737e9..f6782a8 100644 --- a/src/main/java/fr/inra/oresing/rest/AuthorizationService.java +++ b/src/main/java/fr/inra/oresing/rest/AuthorizationService.java @@ -556,7 +556,7 @@ public class AuthorizationService implements fr.inra.oresing.domain.services.aut .toList(); } - private Map<String, List<GetGrantableResult.ReferenceScope>> getAuthorizationScopes(final Application application, final MenuType menuType) { + public Map<String, List<GetGrantableResult.ReferenceScope>> getAuthorizationScopes(final Application application, final MenuType menuType) { Map<ReferenceScope.Context, List<ReferenceScope.TreeNode>> nodesByContext = repository.getRepository(application).data() .getNodesForMenu(menuType) diff --git a/src/main/java/fr/inra/oresing/rest/OreSiResources.java b/src/main/java/fr/inra/oresing/rest/OreSiResources.java index 2d72658..0c9d473 100644 --- a/src/main/java/fr/inra/oresing/rest/OreSiResources.java +++ b/src/main/java/fr/inra/oresing/rest/OreSiResources.java @@ -18,6 +18,7 @@ import fr.inra.oresing.domain.checker.type.ReferenceType; import fr.inra.oresing.domain.data.DataValue; import fr.inra.oresing.domain.data.RefsLinkedToValue; import fr.inra.oresing.domain.data.deposit.validation.CsvRowValidationCheckResult; +import fr.inra.oresing.domain.data.menu.MenuType; import fr.inra.oresing.domain.data.read.ouput.KeepAliveZipOutputStream; import fr.inra.oresing.domain.data.read.query.DownloadDatasetQueryOnlyMetadata; import fr.inra.oresing.domain.exceptions.SiOreIllegalArgumentException; @@ -41,6 +42,7 @@ import fr.inra.oresing.rest.filesenderclient.BuildBundleReport; import fr.inra.oresing.rest.model.additionalfiles.CreateAdditionalFileRequest; import fr.inra.oresing.rest.model.additionalfiles.exceptions.BadAdditionalFileParamsSearchException; import fr.inra.oresing.rest.model.application.ApplicationResult; +import fr.inra.oresing.rest.model.authorization.GetGrantableResult; import fr.inra.oresing.rest.model.data.*; import fr.inra.oresing.rest.model.data.query.DownloadDatasetQuery; import fr.inra.oresing.rest.model.reference.GetReferenceResult; @@ -918,14 +920,15 @@ public class OreSiResources { ) ) .orElseGet(LinkedHashMap::new); - + Map<String, List<GetGrantableResult.ReferenceScope>> referenceScopes = service.getAuthorizationScopes(application, MenuType.submission); return ResponseEntity.ok(new GetDataResult( variables, dataRowResults, totalRows, checkedFormatcomponents, - referenceTypeForReferencingColumns)); + referenceTypeForReferencingColumns, + referenceScopes)); } /** diff --git a/src/main/java/fr/inra/oresing/rest/OreSiService.java b/src/main/java/fr/inra/oresing/rest/OreSiService.java index 7b1a971..2ddc3c3 100644 --- a/src/main/java/fr/inra/oresing/rest/OreSiService.java +++ b/src/main/java/fr/inra/oresing/rest/OreSiService.java @@ -21,6 +21,7 @@ import fr.inra.oresing.domain.checker.LineChecker; import fr.inra.oresing.domain.checker.type.*; import fr.inra.oresing.domain.data.*; import fr.inra.oresing.domain.data.deposit.PublishContext; +import fr.inra.oresing.domain.data.menu.MenuType; import fr.inra.oresing.domain.data.read.query.*; import fr.inra.oresing.domain.exceptions.OreSiTechnicalException; import fr.inra.oresing.domain.exceptions.SiOreIllegalArgumentException; @@ -1312,4 +1313,8 @@ public class OreSiService { public DataRepositoryWithBuffer getNewDataRepositoryWithBuffer(Application application) { return new DataRepositoryWithBuffer(application, repository.getRepository(application).data()); } + + public Map<String, List<GetGrantableResult.ReferenceScope>> getAuthorizationScopes(Application application, MenuType menuType) { + return authorizationService.getAuthorizationScopes(application, menuType); + } } diff --git a/src/main/java/fr/inra/oresing/rest/model/authorization/AuthorizationsResult.java b/src/main/java/fr/inra/oresing/rest/model/authorization/AuthorizationsResult.java index 2900b81..29615d1 100644 --- a/src/main/java/fr/inra/oresing/rest/model/authorization/AuthorizationsResult.java +++ b/src/main/java/fr/inra/oresing/rest/model/authorization/AuthorizationsResult.java @@ -12,7 +12,8 @@ public record AuthorizationsResult( Boolean applicationManager, Boolean isAdministrator, Boolean userManager, - Boolean applicationUser, Boolean activeApplicationUser + Boolean applicationUser, + Boolean activeApplicationUser ) { public AuthorizationsResult(Map<String, List<AuthorizationParsed>> userAuthorization, Map<String, AuthorizationParsed> publicAuthorization, String applicationName, Boolean applicationCreator, Boolean applicationManager, Boolean userManager, Boolean applicationUser, Boolean activeApplicationUser) { this(userAuthorization, publicAuthorization, applicationName, applicationCreator, applicationManager, applicationCreator||applicationManager, userManager, applicationUser, activeApplicationUser); diff --git a/src/main/java/fr/inra/oresing/rest/model/data/GetDataResult.java b/src/main/java/fr/inra/oresing/rest/model/data/GetDataResult.java index 4ea09aa..aadb455 100644 --- a/src/main/java/fr/inra/oresing/rest/model/data/GetDataResult.java +++ b/src/main/java/fr/inra/oresing/rest/model/data/GetDataResult.java @@ -5,6 +5,7 @@ import fr.inra.oresing.domain.checker.LineChecker; import fr.inra.oresing.domain.checker.type.FieldType; import fr.inra.oresing.domain.checker.type.ListType; import fr.inra.oresing.domain.data.DataColumn; +import fr.inra.oresing.rest.model.authorization.GetGrantableResult; import java.util.List; import java.util.Map; @@ -14,5 +15,6 @@ import java.util.Set; public record GetDataResult(Set<String> variables, List<DataRowResult> rows, Long totalRows, Map<String, Map<String, fr.inra.oresing.rest.model.data.LineCheckerResult>> checkedFormatComponents, - Map<String, String> referenceTypeForReferencingColumns) { + Map<String, String> referenceTypeForReferencingColumns, + Map<String, List<GetGrantableResult.ReferenceScope>> referenceScopes) { } \ No newline at end of file diff --git a/src/main/resources/migration/application/V1__init_schema.sql b/src/main/resources/migration/application/V1__init_schema.sql index 38739ca..4a6441c 100644 --- a/src/main/resources/migration/application/V1__init_schema.sql +++ b/src/main/resources/migration/application/V1__init_schema.sql @@ -157,18 +157,21 @@ with recursive d(key, "data") as ( treetype, key, authorizationscope.component, - Coalesce(("configuration" #> array['i18n', 'data', key, 'components'] #>> array[authorizationscope.component,'exportheader', 'fr'] ),authorizationscope.component) exportheader_fr, - Coalesce(("configuration" #> array['i18n', 'data', key, 'components'] #>> array[authorizationscope.component,'exportheader', 'en'] ),authorizationscope.component) exportheader_en, - authorizationscope.data reference, + Coalesce(("configuration" #> array['i18n', 'data', key, 'components'] #>> array[authorizationscope.component,'exportheader', 'title', 'fr'] ),authorizationscope.component) exportheader_fr, + Coalesce(("configuration" #> array['i18n', 'data', key, 'components'] #>> array[authorizationscope.component,'exportheader', 'title', 'en'] ),authorizationscope.component) exportheader_en, + CASE + WHEN treetype = 'authorization' then authorizationscope.data + WHEN treetype = 'submission' then authorizationscope.reference + end reference, "configuration" from d, jsonb_to_recordset( CASE WHEN treetype = 'authorization' then "configuration"#> array['datadescription', key, 'authorization', 'authorizationscope'] - WHEN treetype = 'submission' then "configuration"#> array['datadescription', key, 'authorization', 'authorizationscope'] + WHEN treetype = 'submission' then "configuration"#> array['datadescription', key, 'submission', 'submissionscope', 'referencescopes'] end - ) as authorizationscope(component text, "data" text) + ) as authorizationscope(component text, reference text, "data" text) ), nodes as ( select @@ -196,8 +199,8 @@ with recursive d(key, "data") as ( 'value', node[2], 'node_key', rv2.hierarchicalkey, 'node_NK', rv2.naturalkey, - 'fr', coalesce(rv2.refvalues ->> '__display___display_fr',rv2.refvalues ->> '__display___display_default') , - 'en', coalesce(rv2.refvalues ->> '__display___display_en',rv2.refvalues ->> '__display___display_default') + 'fr', coalesce(rv2.refvalues ->> '__display_fr',rv2.refvalues ->> '__display_default') , + 'en', coalesce(rv2.refvalues ->> '__display_en',rv2.refvalues ->> '__display_default') ) )::node node from diff --git a/src/main/resources/migration/first_roles.sql b/src/main/resources/migration/first_roles.sql index bcaa0b3..cc06c99 100644 --- a/src/main/resources/migration/first_roles.sql +++ b/src/main/resources/migration/first_roles.sql @@ -1,17 +1,42 @@ INSERT INTO public.oresiuser (id, login, password, authorizations, accountstate, email) -VALUES ('35157557-616a-46b8-aee3-487d7450ec23'::uuid,'philippe', '$2a$12$2RXZnc/w9K2rlevPIXUfNeXfTzQGD3GWCWh7Noe8aoFyF2935PRA2', '{.*}', 'active', 'philippe.tcherniatinsky@inrae.fr'), +VALUES + ('5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9'::uuid,'openadom', '$2a$12$eF88cLz.KdQDUvWR7ztaiOeN3fstIAqqrDFHLdem0Kq/we1bmxUM2', '{}', 'active', 'openadom@inrae.fr'), + ('35157557-616a-46b8-aee3-487d7450ec23'::uuid,'philippe', '$2a$12$2RXZnc/w9K2rlevPIXUfNeXfTzQGD3GWCWh7Noe8aoFyF2935PRA2', '{.*}', 'active', 'philippe.tcherniatinsky@inrae.fr'), ('31bd5755-3433-49f1-856e-7e99f3aef5f4'::uuid,'dmaurice', '$2a$12$VLGZZglGbZfpAHK41.TRyOO7DwhGsXU7Ts2rJGPuxb7SDf.aCcGH6', '{.*}', 'active', 'damien.maurice@inrae.fr'), ('3477ed15-15b1-4fee-ad45-6f2a94a3d66f'::uuid,'gmonet', '$2a$12$zyuSWKjmf2ZViwyv7o7P.Ohsdhb73p9.QC067KFXlAkOF0IOsspFq', '{.*}', 'active', 'ghislaine.monet@inrae.fr'), ('73de78e0-c16c-4a55-a176-1a1feb0dd290'::uuid,'lvarloteaux', '$2a$12$hFi9JFLQ24BxT0Ht/NokmuaMTHp5oc7YOrg9TgpwSLjeAQBR2/qMy', '{.*}', 'active', 'lucile.varloteaux@inrae.fr'), ('45b08ce0-f83b-44b5-8d6a-ec55ebf62548'::uuid,'ryahiaoui', '$2a$12$C/CpmXGxN22OJXUqvXY/DuCzA7PUaS6YbVMPYIFOe7iLKs7Go6XoC', '{.*}', 'active', 'rachid.yahiaoui@inra.fr'), ('893dd0f7-a369-4ca2-af3b-21c11719d350'::uuid,'vkoyao', '$2a$12$.nC/NJlNI.eZnyLNN49CXerwwprIk/UHN9mYpQ0172zixwmZGiExS', '{.*}', 'active', 'vivianne.koyao-yayende@inrae.fr'), ('7f7dec88-9c0a-44ed-82fa-3ec0362b9889'::uuid, 'hboukir', '$2a$12$YVqXsLZ5FkD0MnIjskvJduUWO91BnLU7X188TVgOfiEZcFpXSyEXS', '{.*}', 'active', 'hakima.boukir@inrae.fr'), - ('af63dfbd-54eb-4c11-8e3e-b5a00bb27a4f'::uuid,'afioca', '$2a$12$47CBQ4yxhxfvnwJ5gyh9o.4caLTbPTuy.zQUA7Mx/MFgK1aJwArvC', '{.*}', 'active', 'amelie.fiocca@inrae.fr'); -CREATE ROLE "35157557-616a-46b8-aee3-487d7450ec23";COMMENT ON ROLE "35157557-616a-46b8-aee3-487d7450ec23" IS 'Philippe'; GRANT "openAdomAdmin" TO "35157557-616a-46b8-aee3-487d7450ec23" WITH INHERIT TRUE; GRANT "35157557-616a-46b8-aee3-487d7450ec23" TO "openAdomTechUser" WITH INHERIT TRUE; -CREATE ROLE "31bd5755-3433-49f1-856e-7e99f3aef5f4";COMMENT ON ROLE "31bd5755-3433-49f1-856e-7e99f3aef5f4" IS 'Damien'; GRANT "openAdomAdmin" TO "31bd5755-3433-49f1-856e-7e99f3aef5f4" WITH INHERIT TRUE; GRANT "31bd5755-3433-49f1-856e-7e99f3aef5f4" TO "openAdomTechUser" WITH INHERIT TRUE; -CREATE ROLE "3477ed15-15b1-4fee-ad45-6f2a94a3d66f";COMMENT ON ROLE "3477ed15-15b1-4fee-ad45-6f2a94a3d66f" IS 'Ghislaine'; GRANT "openAdomAdmin" TO "3477ed15-15b1-4fee-ad45-6f2a94a3d66f" WITH INHERIT TRUE; GRANT "3477ed15-15b1-4fee-ad45-6f2a94a3d66f" TO "openAdomTechUser" WITH INHERIT TRUE; -CREATE ROLE "73de78e0-c16c-4a55-a176-1a1feb0dd290";COMMENT ON ROLE "73de78e0-c16c-4a55-a176-1a1feb0dd290" IS 'Lucile'; GRANT "openAdomAdmin" TO "73de78e0-c16c-4a55-a176-1a1feb0dd290" WITH INHERIT TRUE; GRANT "73de78e0-c16c-4a55-a176-1a1feb0dd290" TO "openAdomTechUser" WITH INHERIT TRUE; -CREATE ROLE "45b08ce0-f83b-44b5-8d6a-ec55ebf62548";COMMENT ON ROLE "45b08ce0-f83b-44b5-8d6a-ec55ebf62548" IS 'Rachid'; GRANT "openAdomAdmin" TO "45b08ce0-f83b-44b5-8d6a-ec55ebf62548" WITH INHERIT TRUE; GRANT "45b08ce0-f83b-44b5-8d6a-ec55ebf62548" TO "openAdomTechUser" WITH INHERIT TRUE; -CREATE ROLE "893dd0f7-a369-4ca2-af3b-21c11719d350";COMMENT ON ROLE "893dd0f7-a369-4ca2-af3b-21c11719d350" IS 'Viviane'; GRANT "openAdomAdmin" TO "893dd0f7-a369-4ca2-af3b-21c11719d350" WITH INHERIT TRUE; GRANT "893dd0f7-a369-4ca2-af3b-21c11719d350" TO "openAdomTechUser" WITH INHERIT TRUE; -CREATE ROLE "7f7dec88-9c0a-44ed-82fa-3ec0362b9889";COMMENT ON ROLE "7f7dec88-9c0a-44ed-82fa-3ec0362b9889" IS 'Hackima'; GRANT "openAdomAdmin" TO "7f7dec88-9c0a-44ed-82fa-3ec0362b9889" WITH INHERIT TRUE; GRANT "7f7dec88-9c0a-44ed-82fa-3ec0362b9889" TO "openAdomTechUser" WITH INHERIT TRUE; -CREATE ROLE "af63dfbd-54eb-4c11-8e3e-b5a00bb27a4f";COMMENT ON ROLE "af63dfbd-54eb-4c11-8e3e-b5a00bb27a4f" IS 'Amélie'; GRANT "openAdomAdmin" TO "af63dfbd-54eb-4c11-8e3e-b5a00bb27a4f" WITH INHERIT TRUE; GRANT "af63dfbd-54eb-4c11-8e3e-b5a00bb27a4f" TO "openAdomTechUser" WITH INHERIT TRUE; \ No newline at end of file + ('af63dfbd-54eb-4c11-8e3e-b5a00bb27a4f'::uuid,'afioca', '$2a$12$47CBQ4yxhxfvnwJ5gyh9o.4caLTbPTuy.zQUA7Mx/MFgK1aJwArvC', '{.*}', 'active', 'amelie.fiocca@inrae.fr') +ON CONFLICT DO NOTHING; + + + +-- Fonction pour créer un rôle et accorder des privilèges +CREATE OR REPLACE FUNCTION create_role_and_grant(role_id UUID, role_name TEXT) +RETURNS VOID AS $$ +BEGIN + IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = role_id::text) THEN + EXECUTE format('CREATE ROLE "%s"', role_id); +EXECUTE format('COMMENT ON ROLE "%s" IS %L', role_id, role_name); +EXECUTE format('GRANT "openAdomAdmin" TO "%s" WITH INHERIT TRUE', role_id); +EXECUTE format('GRANT "%s" TO "openAdomTechUser" WITH INHERIT TRUE', role_id); +END IF; +END; +$$ +LANGUAGE plpgsql; + +-- Création des rôles et octroi des privilèges +SELECT create_role_and_grant('5a4dbd41-3fc9-4b3e-b593-a46bc888a7f9'::uuid, 'openadom'); +SELECT create_role_and_grant('35157557-616a-46b8-aee3-487d7450ec23'::uuid, 'Philippe'); +SELECT create_role_and_grant('31bd5755-3433-49f1-856e-7e99f3aef5f4'::uuid, 'Damien'); +SELECT create_role_and_grant('3477ed15-15b1-4fee-ad45-6f2a94a3d66f'::uuid, 'Ghislaine'); +SELECT create_role_and_grant('73de78e0-c16c-4a55-a176-1a1feb0dd290'::uuid, 'Lucile'); +SELECT create_role_and_grant('45b08ce0-f83b-44b5-8d6a-ec55ebf62548'::uuid, 'Rachid'); +SELECT create_role_and_grant('893dd0f7-a369-4ca2-af3b-21c11719d350'::uuid, 'Viviane'); +SELECT create_role_and_grant('7f7dec88-9c0a-44ed-82fa-3ec0362b9889'::uuid, 'Hackima'); +SELECT create_role_and_grant('af63dfbd-54eb-4c11-8e3e-b5a00bb27a4f'::uuid, 'Amélie'); + +-- Suppression de la fonction temporaire +DROP FUNCTION create_role_and_grant(UUID, TEXT); \ No newline at end of file diff --git a/src/test/resources/data/acbb/acbb_openAdom_V2.yaml b/src/test/resources/data/acbb/acbb_openAdom_V2.yaml index 46f89c0..c65ada5 100644 --- a/src/test/resources/data/acbb/acbb_openAdom_V2.yaml +++ b/src/test/resources/data/acbb/acbb_openAdom_V2.yaml @@ -10,7 +10,7 @@ OA_application: en: "Agroecosystems, Biogeochemical Cycles and Biodiversity" OA_comment: "L'application ACBB V2" OA_name: acbb_openadom_v2 - OA_version: 1.0.2 + OA_version: 1.0.4 OA_data: tr_agroecosystemes_agr: OA_i18n: @@ -20,6 +20,10 @@ OA_data: OA_description: fr: Les agroécosystèmes représentent des regroupements par type de traitement en: Agroecosystems represent groupings by type of treatment + OA_i18nDisplayPattern: #mandatory + OA_title: #optional + fr: "{agr_agroecosystem_fr}" + en: "{agr_agroecosystem_en}" OA_naturalKey: [agr_agroecosystem_key] OA_basicComponents: agr_agroecosystem_key: @@ -62,6 +66,10 @@ OA_data: OA_description: fr: sites d'etudes en: study sites + OA_i18nDisplayPattern: #mandatory + OA_title: #optional + fr: "{sit_site_fr}" + en: "{sit_site_en}" OA_naturalKey: [sit_site_key] OA_validations: sit_checkDateMiseEnService: @@ -384,6 +392,13 @@ OA_data: OA_description: fr: les sites sont divisés en parcelles sur lesquelles on applique un traitement. Il peut y avoir des blocs de répétitions de parcelles en: Sites are divided into plots on which a treatment is applied. There may be blocks of plot repetitions + OA_i18nDisplayPattern: #mandatory + OA_title: #optional + fr: "{par_parcelle_fr}" + en: "{par_parcelle_en}" + OA_description: #optional + fr: "{par_commentaire_fr}" + en: "{par_commentaire_en}" OA_basicComponents: sit_site: OA_exportHeader: -- GitLab