This commit is contained in:
parent
074375987d
commit
6c9e30658b
2 changed files with 7 additions and 3 deletions
2
pom.xml
2
pom.xml
|
|
@ -10,7 +10,7 @@
|
||||||
</parent>
|
</parent>
|
||||||
<groupId>ru.nbch</groupId>
|
<groupId>ru.nbch</groupId>
|
||||||
<artifactId>credit-tracker</artifactId>
|
<artifactId>credit-tracker</artifactId>
|
||||||
<version>2.21.8</version>
|
<version>2.21.9</version>
|
||||||
<name>credit_tracker</name>
|
<name>credit_tracker</name>
|
||||||
<description>Credit Tracker Application</description>
|
<description>Credit Tracker Application</description>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
package ru.nbch.credit_tracker.component;
|
package ru.nbch.credit_tracker.component;
|
||||||
|
|
||||||
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
|
@ -65,10 +66,12 @@ public class MonitoringRequestValidator {
|
||||||
public ValidationResult readAndValidateMonitoringRequest(Path filePath) {
|
public ValidationResult readAndValidateMonitoringRequest(Path filePath) {
|
||||||
log.debug("Validating monitoring request...");
|
log.debug("Validating monitoring request...");
|
||||||
ValidationResult validationResult = new ValidationResult();
|
ValidationResult validationResult = new ValidationResult();
|
||||||
|
AtomicBoolean subjectWasMeet = new AtomicBoolean(false);
|
||||||
try (BufferedInputStream in = new BufferedInputStream(Files.newInputStream(filePath), 8 * 1024 * 1024)) {
|
try (BufferedInputStream in = new BufferedInputStream(Files.newInputStream(filePath), 8 * 1024 * 1024)) {
|
||||||
staxXmlProcessor.read(in, MonitoringRequest.class,
|
staxXmlProcessor.read(in, MonitoringRequest.class,
|
||||||
request -> {
|
request -> {
|
||||||
try {
|
try {
|
||||||
|
subjectWasMeet.compareAndSet(false, true);
|
||||||
validationService.validateMonitoringRequest(request);
|
validationService.validateMonitoringRequest(request);
|
||||||
} catch (SignalException e) {
|
} catch (SignalException e) {
|
||||||
validationResult.addError(new MonitoringValidationError(-1, "", e));
|
validationResult.addError(new MonitoringValidationError(-1, "", e));
|
||||||
|
|
@ -86,10 +89,11 @@ public class MonitoringRequestValidator {
|
||||||
&& validationResult.getSignalTypes().isEmpty()) {
|
&& validationResult.getSignalTypes().isEmpty()) {
|
||||||
validationResult.setSignalTypes(request.getSignalTypes());
|
validationResult.setSignalTypes(request.getSignalTypes());
|
||||||
}
|
}
|
||||||
|
request.getSubjects().getSubject().clear();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
request -> request.getSubjects().getSubject().isEmpty(),
|
request -> subjectWasMeet.get() && request.getSubjects().getSubject().isEmpty(),
|
||||||
40000, "/MonitoringRequest/Subjects/Subject");
|
9010, "/MonitoringRequest/Subjects/Subject");
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
throw new RuntimeException("Error while parsing and validating monitoring request", e);
|
throw new RuntimeException("Error while parsing and validating monitoring request", e);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue