Skip to content

Commit 81c37eb

Browse files
author
Flurb
committed
Review comments
Signed-off-by: Flurb <[email protected]>
1 parent 9a64466 commit 81c37eb

File tree

11 files changed

+112
-127
lines changed

11 files changed

+112
-127
lines changed

app/src/main/java/org/lfenergy/compas/scl/validator/rest/CompasSclValidatorConfiguration.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
package org.lfenergy.compas.scl.validator.rest;
55

66
import org.lfenergy.compas.core.commons.ElementConverter;
7+
import org.lfenergy.compas.scl.validator.xsd.SclXsdValidator;
78
import org.lfenergy.compas.scl.validator.collector.CompasOclFileCollector;
89
import org.lfenergy.compas.scl.validator.collector.OclFileCollector;
910
import org.lfenergy.compas.scl.validator.impl.SclRiseClipseValidator;
@@ -33,4 +34,10 @@ public SclRiseClipseValidator createSclRiseClipseValidator(OclFileCollector oclF
3334
ValidatorProperties properties) {
3435
return new SclRiseClipseValidator(oclFileCollector, properties.tempDirectory());
3536
}
37+
38+
@Produces
39+
@ApplicationScoped
40+
public SclXsdValidator createSclXsdValidator() {
41+
return new SclXsdValidator();
42+
}
3643
}

app/src/test/java/org/lfenergy/compas/scl/validator/rest/CompasSclValidatorConfigurationTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,9 @@ void createSclRiseClipseValidator_WhenCalled_ThenObjectReturned() {
4545

4646
verify(validatorProperties, times(1)).tempDirectory();
4747
}
48+
49+
@Test
50+
void createSclXsdValidator_WhenCalled_ThenObjectReturned() {
51+
assertNotNull(new CompasSclValidatorConfiguration().createSclXsdValidator());
52+
}
4853
}

riseclipse/validator-riseclipse/src/main/java/org/lfenergy/compas/scl/validator/impl/SclRiseClipseValidator.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import org.lfenergy.compas.scl.validator.collector.OclFileCollector;
1919
import org.lfenergy.compas.scl.validator.model.ValidationError;
2020
import org.lfenergy.compas.scl.validator.util.OclUtil;
21-
import org.lfenergy.compas.scl.validator.xsd.XSDValidator;
2221
import org.slf4j.Logger;
2322
import org.slf4j.LoggerFactory;
2423
import java.nio.file.Path;
@@ -46,11 +45,6 @@ public List<ValidationError> validate(SclFileType type, String sclData) {
4645
// List with Validation Error Results if there are any.
4746
var validationErrors = new ArrayList<ValidationError>();
4847

49-
var xsdValidator = new XSDValidator(validationErrors, sclData);
50-
xsdValidator.validate();
51-
52-
if (!validationErrors.isEmpty()) return validationErrors;
53-
5448
// Create the validator and prepare it with the OCL Files.
5549
var validatorRegistry = new EValidatorRegistryImpl();
5650
var validator = new ComposedEValidator(null);

riseclipse/validator-riseclipse/src/test/java/org/lfenergy/compas/scl/validator/impl/SclModelLoaderTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ void setup() {
2323

2424
@Test
2525
void load_WhenCalledWithValidSCXML_ThenResourceLoaded() throws IOException {
26-
var sclData = readSCL("example-with-ocl-validation-errors.scd");
26+
var sclData = readSCL("example.scd");
2727

2828
var result = loader.load(sclData);
2929

riseclipse/validator-riseclipse/src/test/java/org/lfenergy/compas/scl/validator/impl/SclRiseClipseValidatorTest.java

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,9 @@ public void setup() {
2424
}
2525

2626
@Test
27-
void validate_WhenCalled_ThenExpectedXSDValidationErrorsReturned() throws IOException {
27+
void validate_WhenCalled_ThenExpectedValidationErrorsReturned() throws IOException {
2828
var type = SclFileType.CID;
29-
var sclData = readSCL("example-with-xsd-validation-errors.scd");
30-
31-
var result = sclValidator.validate(type, sclData);
32-
33-
assertNotNull(result);
34-
assertEquals(1, result.size());
35-
}
36-
37-
@Test
38-
void validate_WhenCalled_ThenExpectedOCLValidationErrorsReturned() throws IOException {
39-
var type = SclFileType.CID;
40-
var sclData = readSCL("example-with-ocl-validation-errors.scd");
29+
var sclData = readSCL("example.scd");
4130

4231
var result = sclValidator.validate(type, sclData);
4332

riseclipse/validator-riseclipse/src/test/resources/scl/example-with-xsd-validation-errors.scd

Lines changed: 0 additions & 98 deletions
This file was deleted.
File renamed without changes.

service/src/main/java/org/lfenergy/compas/scl/validator/service/SclValidatorService.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
import org.lfenergy.compas.scl.extensions.model.SclFileType;
77
import org.lfenergy.compas.scl.validator.SclValidator;
8+
import org.lfenergy.compas.scl.validator.xsd.SclXsdValidator;
89
import org.lfenergy.compas.scl.validator.model.ValidationError;
910

1011
import javax.enterprise.context.ApplicationScoped;
@@ -14,13 +15,21 @@
1415
@ApplicationScoped
1516
public class SclValidatorService {
1617
private final SclValidator validator;
18+
private final SclXsdValidator xsdValidator;
1719

1820
@Inject
19-
public SclValidatorService(SclValidator validator) {
21+
public SclValidatorService(SclValidator validator, SclXsdValidator xsdValidator) {
2022
this.validator = validator;
23+
this.xsdValidator = xsdValidator;
2124
}
2225

2326
public List<ValidationError> validate(SclFileType type, String sclData) {
24-
return validator.validate(type, sclData);
27+
var errors = xsdValidator.validate(sclData);
28+
29+
if (errors.isEmpty()) {
30+
errors = validator.validate(type, sclData);
31+
}
32+
33+
return errors;
2534
}
2635
}

service/src/test/java/org/lfenergy/compas/scl/validator/service/SclValidatorServiceTest.java

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,18 @@
33
// SPDX-License-Identifier: Apache-2.0
44
package org.lfenergy.compas.scl.validator.service;
55

6-
import org.junit.jupiter.api.BeforeEach;
76
import org.junit.jupiter.api.Test;
87
import org.junit.jupiter.api.extension.ExtendWith;
98
import org.lfenergy.compas.scl.extensions.model.SclFileType;
109
import org.lfenergy.compas.scl.validator.SclValidator;
10+
import org.lfenergy.compas.scl.validator.xsd.SclXsdValidator;
11+
import org.lfenergy.compas.scl.validator.model.ValidationError;
12+
import org.mockito.InjectMocks;
1113
import org.mockito.Mock;
1214
import org.mockito.junit.jupiter.MockitoExtension;
1315

1416
import java.util.Collections;
17+
import java.util.List;
1518

1619
import static org.junit.jupiter.api.Assertions.assertEquals;
1720
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -20,28 +23,45 @@
2023
@ExtendWith(MockitoExtension.class)
2124
class SclValidatorServiceTest {
2225

26+
@InjectMocks
2327
private SclValidatorService sclValidatorService;
2428

2529
@Mock
2630
private SclValidator sclValidator;
2731

28-
@BeforeEach
29-
void beforeEach() {
30-
sclValidatorService = new SclValidatorService(sclValidator);
31-
}
32+
@Mock
33+
private SclXsdValidator xsdValidator;
3234

3335
@Test
3436
void validate_WhenCalled_ThenEmptyListReturned() {
3537
var type = SclFileType.CID;
3638
var sclData = "Some String";
3739

38-
when(sclValidator.validate(type, sclData)).thenReturn(Collections.emptyList());
40+
when(sclValidator.validate(type, sclData)).thenReturn(List.of(new ValidationError()));
41+
when(xsdValidator.validate(sclData)).thenReturn(Collections.emptyList());
3942

4043
var result = sclValidatorService.validate(type, sclData);
4144

4245
assertNotNull(result);
43-
assertEquals(0, result.size());
46+
assertEquals(1, result.size());
4447

4548
verify(sclValidator, times(1)).validate(type, sclData);
49+
verify(xsdValidator, times(1)).validate(sclData);
50+
}
51+
52+
@Test
53+
void validate_WhenXsdErrorsAreReturned_ThenSclValidatorIsNeverCalled() {
54+
var type = SclFileType.CID;
55+
var sclData = "Some String";
56+
57+
when(xsdValidator.validate(sclData)).thenReturn(List.of(new ValidationError()));
58+
59+
var result = sclValidatorService.validate(type, sclData);
60+
61+
assertNotNull(result);
62+
assertEquals(1, result.size());
63+
64+
verify(xsdValidator, times(1)).validate(sclData);
65+
verify(sclValidator, never()).validate(type, sclData);
4666
}
4767
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// SPDX-FileCopyrightText: 2022 Alliander N.V.
2+
//
3+
// SPDX-License-Identifier: Apache-2.0
4+
package org.lfenergy.compas.scl.validator.xsd;
5+
6+
import org.lfenergy.compas.scl.validator.model.ValidationError;
7+
8+
import java.util.ArrayList;
9+
import java.util.List;
10+
11+
public class SclXsdValidator {
12+
13+
public List<ValidationError> validate(String sclData) {
14+
var validationErrors = new ArrayList<ValidationError>();
15+
16+
var xsdValidator = new XSDValidator(validationErrors, sclData);
17+
xsdValidator.validate();
18+
19+
return validationErrors;
20+
}
21+
}

0 commit comments

Comments
 (0)