From 0d918f2dae6d5166fa7b2bd4af34745dc089c1e7 Mon Sep 17 00:00:00 2001 From: Jan Winz Date: Thu, 23 May 2024 12:27:08 +0200 Subject: [PATCH] Change max project length size to 150 #3102 - reason for this change is the maximum filename length on OS - The project id will be part of the report filename --- .../db/migration/V28__enlarge_project_id.sql | 36 +++++++++---------- .../validation/ProjectIdValidationImpl.java | 2 +- .../ProjectIdValidationImplTest.java | 6 ++-- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/sechub-server/src/main/resources/db/migration/V28__enlarge_project_id.sql b/sechub-server/src/main/resources/db/migration/V28__enlarge_project_id.sql index 5c3289a40..765ab4490 100644 --- a/sechub-server/src/main/resources/db/migration/V28__enlarge_project_id.sql +++ b/sechub-server/src/main/resources/db/migration/V28__enlarge_project_id.sql @@ -1,22 +1,22 @@ -- SPDX-License-Identifier: MIT --- Update project id : we now accept 255 characters see ProjectIdValidation -ALTER TABLE adm_project ALTER COLUMN project_id TYPE varchar(255); -ALTER TABLE scan_report ALTER COLUMN project_id TYPE varchar(255); -ALTER TABLE scan_access ALTER COLUMN project_id TYPE varchar(255); -ALTER TABLE schedule_access ALTER COLUMN project_id TYPE varchar(255); -ALTER TABLE schedule_project_whitelist ALTER COLUMN project_id TYPE varchar(255); -ALTER TABLE schedule_sechub_job ALTER COLUMN project_id TYPE varchar(255); -ALTER TABLE scan_project_log ALTER COLUMN project_id TYPE varchar(255); -ALTER TABLE adm_job_information ALTER COLUMN project_id TYPE varchar(255); -ALTER TABLE scan_product_result ALTER COLUMN project_id TYPE varchar(255); -ALTER TABLE scan_project_config ALTER COLUMN project_id TYPE varchar(255); -ALTER TABLE adm_project_metadata ALTER COLUMN project_id TYPE varchar(255); -ALTER TABLE schedule_project_config ALTER COLUMN project_id TYPE varchar(255); -ALTER TABLE statistic_job ALTER COLUMN project_id TYPE varchar(255); -ALTER TABLE statistic_job_run ALTER COLUMN project_id TYPE varchar(255); +-- Update project id : we now accept 150 characters see ProjectIdValidation +ALTER TABLE adm_project ALTER COLUMN project_id TYPE varchar(150); +ALTER TABLE scan_report ALTER COLUMN project_id TYPE varchar(150); +ALTER TABLE scan_access ALTER COLUMN project_id TYPE varchar(150); +ALTER TABLE schedule_access ALTER COLUMN project_id TYPE varchar(150); +ALTER TABLE schedule_project_whitelist ALTER COLUMN project_id TYPE varchar(150); +ALTER TABLE schedule_sechub_job ALTER COLUMN project_id TYPE varchar(150); +ALTER TABLE scan_project_log ALTER COLUMN project_id TYPE varchar(150); +ALTER TABLE adm_job_information ALTER COLUMN project_id TYPE varchar(150); +ALTER TABLE scan_product_result ALTER COLUMN project_id TYPE varchar(150); +ALTER TABLE scan_project_config ALTER COLUMN project_id TYPE varchar(150); +ALTER TABLE adm_project_metadata ALTER COLUMN project_id TYPE varchar(150); +ALTER TABLE schedule_project_config ALTER COLUMN project_id TYPE varchar(150); +ALTER TABLE statistic_job ALTER COLUMN project_id TYPE varchar(150); +ALTER TABLE statistic_job_run ALTER COLUMN project_id TYPE varchar(150); -ALTER TABLE adm_project_whitelist_uri ALTER COLUMN project_project_id TYPE varchar(255); +ALTER TABLE adm_project_whitelist_uri ALTER COLUMN project_project_id TYPE varchar(150); -ALTER TABLE adm_project_to_user ALTER COLUMN projects_project_id TYPE varchar(255); -ALTER TABLE scan_execution_profile_to_project ALTER COLUMN projects_project_id TYPE varchar(255); \ No newline at end of file +ALTER TABLE adm_project_to_user ALTER COLUMN projects_project_id TYPE varchar(150); +ALTER TABLE scan_execution_profile_to_project ALTER COLUMN projects_project_id TYPE varchar(150); \ No newline at end of file diff --git a/sechub-shared-kernel/src/main/java/com/mercedesbenz/sechub/sharedkernel/validation/ProjectIdValidationImpl.java b/sechub-shared-kernel/src/main/java/com/mercedesbenz/sechub/sharedkernel/validation/ProjectIdValidationImpl.java index 49c23cc56..620125904 100644 --- a/sechub-shared-kernel/src/main/java/com/mercedesbenz/sechub/sharedkernel/validation/ProjectIdValidationImpl.java +++ b/sechub-shared-kernel/src/main/java/com/mercedesbenz/sechub/sharedkernel/validation/ProjectIdValidationImpl.java @@ -7,7 +7,7 @@ public class ProjectIdValidationImpl extends AbstractSimpleStringValidation implements ProjectIdValidation { public static final int PROJECTID_LENGTH_MIN = 2; - public static final int PROJECTID_LENGTH_MAX = 255; + public static final int PROJECTID_LENGTH_MAX = 150; @Override protected void setup(ValidationConfig config) { diff --git a/sechub-shared-kernel/src/test/java/com/mercedesbenz/sechub/sharedkernel/validation/ProjectIdValidationImplTest.java b/sechub-shared-kernel/src/test/java/com/mercedesbenz/sechub/sharedkernel/validation/ProjectIdValidationImplTest.java index 58ce54ba6..baa713940 100644 --- a/sechub-shared-kernel/src/test/java/com/mercedesbenz/sechub/sharedkernel/validation/ProjectIdValidationImplTest.java +++ b/sechub-shared-kernel/src/test/java/com/mercedesbenz/sechub/sharedkernel/validation/ProjectIdValidationImplTest.java @@ -12,10 +12,10 @@ public class ProjectIdValidationImplTest { private ProjectIdValidationImpl validationToTest = new ProjectIdValidationImpl(); - private static final String VALID_PROJECT_ID_WITH_255_CHARS = "a0123456789b0123456789c0123456789d0123456789e0123456789f0123456789g0123456789h0123456789i0123456789j0123456789k0123456789l0123456789m0123456789n0123456789o0123456789p0123456789q0123456789r0123456789s0123456789t0123456789u0123456789v0123456789w0123456789yz"; + private static final String VALID_PROJECT_ID_WITH_150_CHARS = "012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"; @ParameterizedTest - @ValueSource(strings = { "a2", "i-am-with-hyphens", "i_am_with_underscore", VALID_PROJECT_ID_WITH_255_CHARS }) + @ValueSource(strings = { "a2", "i-am-with-hyphens", "i_am_with_underscore", VALID_PROJECT_ID_WITH_150_CHARS }) void valid_projectIds(String projectId) { /* execute */ ValidationResult validationResult = validationToTest.validate(projectId); @@ -30,7 +30,7 @@ void valid_projectIds(String projectId) { @NullSource @EmptySource @ValueSource(strings = { "a", "i.am.with.dot", "i-am/slashy", "with\\backslash", "percent%", "dollar$", "question?", "colon:", "exclamationmark!", - VALID_PROJECT_ID_WITH_255_CHARS + "x" }) + VALID_PROJECT_ID_WITH_150_CHARS + "x" }) void invalid_projectIds(String projectId) { /* execute */ ValidationResult validationResult = validationToTest.validate(projectId);