diff options
author | 2024-08-07 10:52:23 +0100 | |
---|---|---|
committer | 2024-08-08 10:59:04 +0100 | |
commit | a944487231ad341d8d6b0f302c47bad20169c107 (patch) | |
tree | f9a72b2c1f6fa8928914753bb82526ec75306d0b /models/src | |
parent | a2477d552ad3993989a4f8b7a7adac6686719cf3 (diff) |
Add validation for state set by the participant
Issue-ID: POLICY-5097
Change-Id: I7520b7220c8525448eff707e2e57debca63520fe
Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
Diffstat (limited to 'models/src')
-rw-r--r-- | models/src/main/java/org/onap/policy/clamp/models/acm/utils/AcmUtils.java | 17 | ||||
-rw-r--r-- | models/src/test/java/org/onap/policy/clamp/models/acm/utils/AcmUtilsTest.java | 10 |
2 files changed, 27 insertions, 0 deletions
diff --git a/models/src/main/java/org/onap/policy/clamp/models/acm/utils/AcmUtils.java b/models/src/main/java/org/onap/policy/clamp/models/acm/utils/AcmUtils.java index aaf41ddeb..172de34fe 100644 --- a/models/src/main/java/org/onap/policy/clamp/models/acm/utils/AcmUtils.java +++ b/models/src/main/java/org/onap/policy/clamp/models/acm/utils/AcmUtils.java @@ -65,6 +65,8 @@ import org.onap.policy.models.tosca.authorative.concepts.ToscaConceptIdentifier; import org.onap.policy.models.tosca.authorative.concepts.ToscaNodeTemplate; import org.onap.policy.models.tosca.authorative.concepts.ToscaServiceTemplate; import org.onap.policy.models.tosca.authorative.concepts.ToscaTopologyTemplate; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Utility functions used in acm-runtime and participants. @@ -75,6 +77,8 @@ public final class AcmUtils { public static final String ENTRY = "entry "; private static final StringToMapConverter MAP_CONVERTER = new StringToMapConverter(); + private static final Logger LOGGER = LoggerFactory.getLogger(AcmUtils.class); + /** * Get the Policy information in the service template for the deploy message to participants. * @@ -536,6 +540,19 @@ public final class AcmUtils { return list; } + /** + * Validated the Message field. + * + * @param message the message + * @return a validated message + */ + public static String validatedMessage(String message) { + if (message != null && message.length() > 255) { + LOGGER.warn("message too long {}", message); + return message.substring(0, 255); + } + return message; + } /** * Recursive Merge. diff --git a/models/src/test/java/org/onap/policy/clamp/models/acm/utils/AcmUtilsTest.java b/models/src/test/java/org/onap/policy/clamp/models/acm/utils/AcmUtilsTest.java index 5d0a7d95a..97af64cf7 100644 --- a/models/src/test/java/org/onap/policy/clamp/models/acm/utils/AcmUtilsTest.java +++ b/models/src/test/java/org/onap/policy/clamp/models/acm/utils/AcmUtilsTest.java @@ -238,6 +238,16 @@ class AcmUtilsTest { assertEquals(element.getOutProperties(), result.getOutProperties()); } + @Test + void testValidatedMessage() { + var message = "completed"; + assertEquals(message, AcmUtils.validatedMessage(message)); + + var serviceTemplate = CommonTestData.getToscaServiceTemplate(TOSCA_TEMPLATE_YAML); + message = serviceTemplate.toString(); + assertEquals(message.substring(0, 255), AcmUtils.validatedMessage(message)); + } + private AutomationComposition getDummyAutomationComposition() { var automationComposition = new AutomationComposition(); automationComposition.setCompositionId(UUID.randomUUID()); |