From e3bfa4239914fe3b8a403f0f771de0e99476f9c4 Mon Sep 17 00:00:00 2001 From: Dominique Marcadet <Dominique.Marcadet@centralesupelec.fr> Date: Thu, 24 Oct 2019 09:59:41 +0200 Subject: [PATCH] prefixes of OCL messages used for kind of messages --- .../scl/validator/RiseClipseValidatorSCL.java | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/fr.centralesupelec.edf.riseclipse.iec61850.scl.validator/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/RiseClipseValidatorSCL.java b/fr.centralesupelec.edf.riseclipse.iec61850.scl.validator/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/RiseClipseValidatorSCL.java index 3a3d9dd..78c4d99 100644 --- a/fr.centralesupelec.edf.riseclipse.iec61850.scl.validator/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/RiseClipseValidatorSCL.java +++ b/fr.centralesupelec.edf.riseclipse.iec61850.scl.validator/src/fr/centralesupelec/edf/riseclipse/iec61850/scl/validator/RiseClipseValidatorSCL.java @@ -55,6 +55,12 @@ import org.eclipse.ocl.pivot.validation.ComposedEValidator; public class RiseClipseValidatorSCL { + private static final String ERROR_PREFIX = "ERROR:"; + + private static final String WARNING_PREFIX = "WARNING:"; + + private static final String INFO_PREFIX = "INFO:"; + public static final String DIAGNOSTIC_SOURCE = "fr.centralesupelec.edf.riseclipse"; private static final String DEFAULT_NAMESPACE_ID = "IEC 61850-7-4"; @@ -414,7 +420,21 @@ public class RiseClipseValidatorSCL { + childDiagnostic.getChildren().get( 0 ).getMessage(); } - switch( childDiagnostic.getSeverity() ) { + // use severity given by OCL message if available + int severity = childDiagnostic.getSeverity(); + if( message.startsWith( INFO_PREFIX )) { + severity = Diagnostic.INFO; + message = message.substring( INFO_PREFIX.length() ); + } + else if( message.startsWith( WARNING_PREFIX )) { + severity = Diagnostic.WARNING; + message = message.substring( WARNING_PREFIX.length() ); + } + else if( message.startsWith( ERROR_PREFIX )) { + severity = Diagnostic.ERROR; + message = message.substring( ERROR_PREFIX.length() ); + } + switch( severity ) { case Diagnostic.INFO: console.info( message ); break; -- GitLab